2013-06-20 109 views

回答

3

對於通用的VHDL方法,您可以將系統時間作爲通用傳遞給測試臺實體。如果試驗檯的樣子:

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仿真,用於編譯和運行命令行可以是:

> vlib work 
> vcom seed_tb.vhd 
> vsim seed_tb -c -gSEED=`date +%s` -do "run; exit" 

date +%s給秒自1970-01-01,這將適用於VHDL自然類型(即使再過25年:-)。

該方法的優點是,在需要調試的情況下,使用命令行中的相同種子很容易重新運行模擬。

1

使用支持外部對象(體系結構,子程序)的VHDL工具套件,可以讓外部子程序從系統調用中返回系統時間。

您可以在文件中放置種子值並讀取它。一個shell腳本包裝器會這樣做並調用你的模擬器。

procfs函數可以在讀取文件時提供對系統時間的訪問。

您可能會收集系統時間的概念在VHDL中並不重要。