我生成随机浮点数(十进制格式)并将它们保存在文本文件中。我做了一个用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