我生成隨機浮點數(十進制格式)並將它們保存在文本文件中。我做了一個用VHDL讀取這個文件的代碼。現在我想將這些浮點數轉換爲IEEE格式(32比特或64比特)。有沒有我可以用來工作的圖書館? 或者VHDL中有任何代碼。VHDL:需要庫
感謝
我生成隨機浮點數(十進制格式)並將它們保存在文本文件中。我做了一個用VHDL讀取這個文件的代碼。現在我想將這些浮點數轉換爲IEEE格式(32比特或64比特)。有沒有我可以用來工作的圖書館? 或者VHDL中有任何代碼。VHDL:需要庫
感謝
如果你想在VHDL使用隨機數,爲什麼不使用從* math_real *庫一樣的功能?統一是你的功能,使用在定義
procedure UNIFORM (variable Seed1,Seed2:inout integer; variable X:out real);
-- returns a pseudo-random number with uniform distribution in the
-- interval (0.0, 1.0).
-- Before the first call to UNIFORM, the seed values (Seed1, Seed2) must
-- be initialized to values in the range [1, 2147483562] and
-- [1, 2147483398] respectively. The seed values are modified after
-- each call to UNIFORM.
-- This random number generator is portable for 32-bit computers, and
-- it has period ~2.30584*(10**18) for each set of seed values.
--
-- For VHDL-1992, the seeds will be global variables, functions to
-- initialize their values (INIT_SEED) will be provided, and the UNIFORM
-- procedure call will be modified accordingly.
解釋的。如果這不是你所需要的,請使用* std_textio *包讀取數據:
procedure READ(L:inout LINE; VALUE: out real; GOOD : out BOOLEAN);
procedure READ(L:inout LINE; VALUE: out real);
有一個VHDL浮動 - 點包:
可以浮點數轉換爲IEEE 754(例如1.0 - > 0x3F800000)通過純軟件腳本:
MATLAB腳本:
Matlab程序爲實數轉換成數字在IEEE 754浮點格式 http://users.eecs.northwestern.edu/~ismail/courses/c92/fpu/
口齒不清腳本:http://common-lisp.net/project/ieee-floats/
使用編碼,FLOAT32在ieee-floats中定義的,有一個快速轉換。
(defun fix2float (fp)
(format t "~%~x~T~x" fp (ieee-floats:encode-float32 fp)))
(fix2float 1.1)
至於硬件庫,VFLOAT(王小軍,2010)是值得一試。
謝謝BennyBarns。問題不在於讀取文件。我已經做到了。現在我想將這些浮點數轉換爲IEEE格式。我應該使用圖書館嗎? – user1715695
那麼你應該更精確,而不是回答一個答案。那麼你的意思是IEEE 754?我以爲你在談論ieee.std_logic_1164!在這種情況下,你將使用某種類型的blockset進行754操作,這應該提供轉換...我可以記住synplicity當然會這樣 – BennyBarns
假設我生成了一個文本文件,其中浮動數字就像這樣 1.9832, 0.211 , -1.12 我用VHDL編寫了可以讀取的代碼。現在我想將這些數字轉換爲IEEE-754(32位格式)。爲此,我需要哪個庫。 – user1715695