首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取当前时间戳VHDL

获取当前时间戳VHDL
EN

Stack Overflow用户
提问于 2013-06-20 19:29:28
回答 2查看 2.5K关注 0票数 2

为了创建一个随机种子,我希望在我的VHDL测试平台中获得系统时间戳

我怎么能这么做?

顺便说一下,我使用的是来自RandomPkg的OSVVM库

致以问候。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-22 14:25:40

对于通用VHDL方法,您可以将系统时间作为泛型传递给test实体。如果测试工作台看起来像:

代码语言:javascript
复制
entity seed_tb is
  generic(SEED : natural := 0);
end entity;

architecture sim of seed_tb is
begin
  assert FALSE report "SEED = " & integer'image(SEED) severity NOTE;
end architecture;

然后,在Linux上使用ModelSim模拟器,编译和运行的命令行可以是:

代码语言:javascript
复制
> vlib work
> vcom seed_tb.vhd
> vsim seed_tb -c -gSEED=`date +%s` -do "run; exit"

date +%s从1970-01-01开始给出秒数,这将符合VHDL的自然类型(即使在另一个25年:-)。

该方法的优点是,在需要调试的情况下,可以从命令行用相同的种子重新运行模拟。

票数 5
EN

Stack Overflow用户

发布于 2013-06-21 02:22:43

使用支持外部对象(体系结构、子程序)的VHDL工具套件,您可以有一个外部子程序从系统调用中返回系统时间。

您可以在文件中放置一个种子值并读取它。这时会想到这样做并调用模拟器的shell脚本包装器。

procfs函数可以以文件读取的形式提供对系统时间的访问。

您可能会发现,在VHDL中,系统时间的概念并不重要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17222216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档