
与此对应有一个$finish,这个是仿真停止。运行到$finish的时候,仿真停止退出,此时不可以再继续运行了。
有一个简单的办法,就是用disable语句,它可以kill进程也可以kill task,如果是kill task 那么在该task里面衍生的所有进程都会被kill。task a(ref bit kill_en);
fork:error_chk
begin
.....error check processing
end
begin
wait(kill_en == 1'b1)
disable a////kill this task a, and this will kill all the threads spawned in this task.
end
join_none
endtask
task b(ref bit kill_en)
kill_en = 1'b0
......
if(satisfy kill condition)
kill_en = 1'b1
......
endtask
....
bit kill_en = 0
task a(kill_en)
task 1..2 ...3...
task b(kill_en)
.......
按一下步骤进行1.新建一个工程 file ->new ->project... 此时会d出一个Creat Project对话框,输入一个工程名,选择保存路径 (不要包含中文),其他默认就行了
2.点OK后会d出一个Add items to the Project,里面有几个可选项,应该很容易明白
3.添加好文件后,点close把Add items to the Project对话框关闭,这时在左侧的workspace的project窗口里可以看到刚才添加的文件,双击可以打开这些文件进行编辑,编辑好后保存
4.右击刚才编辑好的文件compile ->compile select(或根据自己需要选其他项),如果没有错误,则在底部的命令窗口可以看到编译成功的消息(呈绿色),否则会出现出错的消息(呈红色),双击它会d出一个更具体的窗口提示你出错的地方.
5.修改所有错误直到编译成功.这时可以在菜单栏选择Simulation ->Start simulatio... 这时会d出一个Start simulatio的对话框,在Design的标签下你会看到有很多库,展开work库会看到刚才编译成功的文件(如果有多个文件的话选择一个你想仿真的,比如测试程序,这时底部的OK会由刚才的不可用变成可用的),然后把Opitimization选项下的Enable opitimization前复选取消(这样可以保证过会儿所有的输入输出都可以看到,你可以试试不取消这项有何区别),然后点OK就行了.
6.选择view ->Objects就可以看到你想仿真的各个量,选中它们并右击Add to wave ->Selected signals,这时就会d出一个波形仿真窗口.如果你的测试文件写得没问题的话就可以看到仿真波形,你也可以观察底部的命令窗口察看相关信息.
7.如果没写测试文件的话,在波形仿真窗口右击相关信号,选择force...设置想仿真的值或clock...把该量设置为时钟,然后点工具栏上的Run或Simulation菜单下的Run.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)