Modlesim仿真的问题请教大家。
如题。为什么我在objects 窗口看不到信号呢?我用的是modelsim6.5 SE。
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_566448XWAB90.JPG
(原文件名:1.JPG)
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_566449SJ0MMY.JPG
(原文件名:2.JPG) Modelsim第一次用,步骤是照着《面向CPLD/FPGA的Verilog设计》来的。 你的module没有输入输出信号,modelsim会把你的模块优化掉,所以把优化关掉
vsim -novopt<tb_name> 回复【2楼】leafing叶子
-----------------------------------------------------------------------
请问怎么把优化关掉?麻烦说具体点。
还有我就是把设计文件和Testbench文件一块加进来的,可是仿真testbench文件时激励信号和输出都看不到。 今天又搞了搞,还是不行。
这是我的Verilog HDL设计源文件
`timescale 1ns/1ns
module adder4 (iclk,rst,oclk); //---------PWM OUTPUT TEST
input iclk;
input rst;
output oclk;
reg counter;
reg off;
reg pwmwidth;
reg pwmperiod;
reg counter1;
reg clk;
always @ (posedge iclk or negedge rst)
begin
if(!rst)
begin
counter<=0;
pwmperiod<=16'b1000000000000000;
end
else
begin
if(counter>=pwmperiod-1)
counter<=0;
else
counter<=counter+1;
end
end
always @ (posedge iclk or negedge rst)
begin
if(!rst)
pwmwidth<=16'b0000000100000000;
else
begin
if(counter>=pwmwidth)
off<=6'b111111;
else
off<=6'b000000;
end
end
assign oclk=off;
endmodule 这个是TB文件。
`timescale 1ns/100ps
module adder4_tb;
wireoclk ;
reg rst ;
reg iclk ;
initial
begin
iclk=0;
rst=1;
#20 rst=0;
#120 rst=1;
#10000 $stop;
end
always #50 iclk=~iclk;
adder4
DUT(
.oclk (oclk ) ,
.rst (rst ) ,
.iclk (iclk ) );
endmodule http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_566594Q3LRW5.JPG
(原文件名:Testbench.JPG) 先把Modelsim根目录下的modelsim.ini的属性由只读改为可写,打开这个文件,将voptflow的值从1改成0,然后保存关闭,改回只读属性,然后重新建立仿真工程,进行仿真,因为你的硬件逻辑都被优化了,所以也就没有东西供仿真器显示了 回复【7楼】leafing叶子
-----------------------------------------------------------------------
谢谢你哈,照你的方法改好了。 回复【7楼】leafing 叶子
先把modelsim根目录下的modelsim.ini的属性由只读改为可写,打开这个文件,将voptflow的值从1改成0,然后保存关闭,改回只读属性,然后重新建立仿真工程,进行仿真,因为你的硬件逻辑都被优化了,所以也就没有东西供仿真器显示了
-----------------------------------------------------------------------
找不到voptflow这个值,很奇怪 回复【7楼】leafing 叶子
-----------------------------------------------------------------------
太感谢了!牛人
页:
[1]