在 VHDL 中获取 Unix 时间或纪元
Getting Unix time or epoch in VHDL
为了在我的测试台中引入一些随机性,我想使用以当前 Unix 时间或纪元作为种子的伪随机数。 VHDL 中是否有一个(不可合成的 ofc)函数?我需要它在 VHDL 2008 中工作。
为什么不在用于 运行 模拟的同一命令行上简单地传递通用参数值? bash
示例:
entity foo is
generic(seed: natural := 0);
end entity foo;
architecture bar of foo is
begin
assert false report natural'image(seed);
end architecture bar;
$ ghdl -a --std=08 foo.vhd
$ ghdl -r --std=08 foo
foo.vhd:7:3:@0ms:(assertion error): 0
$ ghdl -r --std=08 foo -gseed=$(date +%s)
foo.vhd:7:3:@0ms:(assertion error): 1648027085
为了在我的测试台中引入一些随机性,我想使用以当前 Unix 时间或纪元作为种子的伪随机数。 VHDL 中是否有一个(不可合成的 ofc)函数?我需要它在 VHDL 2008 中工作。
为什么不在用于 运行 模拟的同一命令行上简单地传递通用参数值? bash
示例:
entity foo is
generic(seed: natural := 0);
end entity foo;
architecture bar of foo is
begin
assert false report natural'image(seed);
end architecture bar;
$ ghdl -a --std=08 foo.vhd
$ ghdl -r --std=08 foo
foo.vhd:7:3:@0ms:(assertion error): 0
$ ghdl -r --std=08 foo -gseed=$(date +%s)
foo.vhd:7:3:@0ms:(assertion error): 1648027085