تالار گفتمان مانشت
چگونگی محاسبه عدد به توان منفی در vhdl - نسخه‌ی قابل چاپ

چگونگی محاسبه عدد به توان منفی در vhdl - The BesT - 18 تیر ۱۳۹۴ ۰۹:۱۷ ب.ظ

با سلام.

دوستان میخواستم بدونم روشی که بتوانیم عددی دهدهی را در توان منفی ضرب کنیم(مثلا ۱۰ به توان -۸) در VHDL چگونه است؟

چون این کار که انجام میدهیم در ضرب منفی خطا میدهد و ضرب منفی را به عدد اعشاری تبدیل کردیم.و مجدد برای ضرب در عدد اعشاری خطا ایجاد میشود.

ممنون Heart

RE: چگونگی محاسبه عدد به توان منفی در vhdl - Behnam‌ - ۱۸ تیر ۱۳۹۴ ۰۹:۴۳ ب.ظ

(۱۸ تیر ۱۳۹۴ ۰۹:۱۷ ب.ظ)The BesT نوشته شده توسط:  با سلام.
دوستان میخواستم بدونم روشی که بتوانیم عددی دهدهی را در توان منفی ضرب کنیم(مثلا ۱۰ به توان -۸) در VHDL چگونه است؟
چون این کار که انجام میدهیم در ضرب منفی خطا میدهد و ضرب منفی را به عدد اعشاری تبدیل کردیم.و مجدد برای ضرب در عدد اعشاری خطا ایجاد میشود.
ممنون Heart
من دیگه با VHDL نمی‌نویسم چون سر و ته‌اش مشخص نیست که به چی سنتز میشه اما اگه توان رو به صورت کسر انجام بدید کارتون راه نمیفته؟ مثلاً ۱۰ به توان منفی ۸ رو بنویسید "یک تقسیم بر ۱۰ به توان ۸"؟ برای نگه داشتنش هم فکر کنم از نوع داده‌ی real باید استفاده کنید.

RE: چگونگی محاسبه عدد به توان منفی در vhdl - The BesT - 18 تیر ۱۳۹۴ ۱۱:۲۳ ب.ظ

(۱۸ تیر ۱۳۹۴ ۰۹:۴۳ ب.ظ)behnam5670 نوشته شده توسط:  
(18 تیر ۱۳۹۴ ۰۹:۱۷ ب.ظ)The BesT نوشته شده توسط:  با سلام.
دوستان میخواستم بدونم روشی که بتوانیم عددی دهدهی را در توان منفی ضرب کنیم(مثلا ۱۰ به توان -۸) در VHDL چگونه است؟
چون این کار که انجام میدهیم در ضرب منفی خطا میدهد و ضرب منفی را به عدد اعشاری تبدیل کردیم.و مجدد برای ضرب در عدد اعشاری خطا ایجاد میشود.
ممنون Heart
من دیگه با VHDL نمی‌نویسم چون سر و ته‌اش مشخص نیست که به چی سنتز میشه اما اگه توان رو به صورت کسر انجام بدید کارتون راه نمیفته؟ مثلاً ۱۰ به توان منفی ۸ رو بنویسید "یک تقسیم بر ۱۰ به توان ۸"؟ برای نگه داشتنش هم فکر کنم از نوع داده‌ی real باید استفاده کنید.

سلام.ممنون از پاسختون
وقتی تقسیم تقسیم کنیم.عدد اعشاری بدست می آید و اعشاری را هم نمیخوند.
خطایی هم که وجود دارد در عکس میتونید مشاهده کنید
[تصویر:  372641_rsb3_img-20150708-wa0015.jpg]

RE: چگونگی محاسبه عدد به توان منفی در vhdl - Behnam‌ - ۱۹ تیر ۱۳۹۴ ۰۲:۱۸ ق.ظ

این چطور بچه مثبت؟ (یوزرتون شبیه یوزر Bache Mosbat بود اشتباه گرفتم :دی)

کد:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.MATH_REAL.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use  IEEE.NUMERIC_STD.all;

entity float is
  port(
    input1 : in std_logic_vector(7 downto 0);
    output1 : out real
    );
end float;

architecture float of float is
  signal myint : real;
  begin
    myint <= REAL(TO_INTEGER(unsigned(input1)));
    output1 <= (1.0/(10 ** (2))) * myint;
  end float;