I am new to Specman. I have a couple of questions:
I am trying to use the agent methodology. After writing the env,agent,bfm etc - what is the recommended way to create clock and reset? by writing a tb.v (calling the top verilog module) or is there a better way?
How do I link the specman env file to the tb (or maybe its just enough to link the ports of the different specman files with a signals_map to the verilog files?
Most important how do I run the environment with irun? I was thinking of creating a file listing all the verilog files, e.g. - veri.lst the specman top shall import all the specman files, e.g - spec_top.e
irun -access +wrc veri.lst spec_top.e
should be ok? should I mention the top level module in the command? Should I put the test name in a special way in the command?
Thanks alot for all the help!!
答案 0 :(得分:0)
Cadence建议从HDL测试平台内部驱动时钟(在您的情况下用Verilog编写)。这是因为每次模拟器控制Specman执行它都会浪费处理器时间。您希望尽可能减少交换机的数量。
通过将感兴趣的Verilog信号连接到相应的Specman端口(使用hdl_path()
)来将env链接到TB。
W.r.t。运行它,有两件事要记住。 e
代码可以在编译或解释模式下执行。此外,编译的代码更快,但无法调试。你必须告诉irun
你想要编译什么以及你想要解释什么:
irun -f veri.lst \
compiled_top.e \
-snload interpreted_top.e
您通常编译的是您不希望更改的文件(例如,您从其他项目购买或重用的验证组件)。您加载的其余文件被解释为能够轻松调试。
答案 1 :(得分:0)
添加都铎的好答案 -
首先 - 是的,将e TB连接到DUT是使用hdl_path()完成的,并将端口连接到外部。您通常会为接口指定一个单元,因此配置它将如下所示:
extend signal_map {
// name of the instance of the verilog module you interface
keep hdl_path() == "sub_system_a";
keep bind (sig_clock, external);
// name of the clock signal
keep sig_clock.hdl_path == "clk";
};
请参阅UVM示例中的IES版本。
他们在 的Specman / UVM / uvm_examples
例如,查看specman / uvm / uvm_examples / xserial / e / xserial_collector_h.e:
答案 2 :(得分:0)
关于时钟 -
将e TB中的时钟连接到设计非常简单。像这样的东西 -
unit synch {
sig_clock : in simple_port of bit is instance;
keep bind(sig_clock, external);
event clock is rise(sig_clock$) @sim;
// can define also on fall or change
};
现在,时钟事件可用作TCM和Temporals的采样事件。这是在TB中使用时钟的简单快捷方式。
使用时钟的另一种方法是“加速就绪”。在这种方法中,您将在verilog中实现时钟代理,它将为TB提供“时钟服务”。根据这种方法,结核病不会有任何“等待周期”。相反 - 它将调用时钟代理任务“wait_cycles()” - 并等待指示所需的时钟周期数。 这是一种相当新的方法,面向加速就绪。
将在下一个IES版本15.1的UVM实例中进行论证。
/埃弗拉特