modelsim is exiting with code 7?
时间:10-02
整理:3721RD
点击:
在进行测试同步FIFO时候,写的testbench :
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2017/05/11 11:14:59
// Design Name:
// Module Name: sy_fifo_test
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module sy_fifo_test;
reg clk;
reg rstn;
reg [3:0] data_in;
reg rd;
reg wd;
wire [3:0] data_out;
wire full;
wire empty;
//reg [3:0] i;
always #20
data_in=data_in+1;
always #10 clk=~clk;
initial
begin
rstn =1'b0;
clk =1'b0;
data_in ={3'b0,1'b1};
#10 rstn =1'b1;
#10 rstn =1'b0;
#20 rd =1'b0;
wd =1'b0;//不进行操作
#300 rd =1'b0;
wd =1'b1;//进行写操作
#400 rd =1'b1;
wd =1'b0;//进行读操作
#300 rd =1'b0;
wd =1'b1; //进行写操作
end
sy_fifo m(clk,rstn,data_in,data_out,full,empty,rd,wd);
endmodule
在进行仿真时候,就会出现上述问题,若把最后的写操作 改成为:#300 rd=1'b1;
wd=1'b1;
就不会出现上述问题,求大神指点下?
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2017/05/11 11:14:59
// Design Name:
// Module Name: sy_fifo_test
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module sy_fifo_test;
reg clk;
reg rstn;
reg [3:0] data_in;
reg rd;
reg wd;
wire [3:0] data_out;
wire full;
wire empty;
//reg [3:0] i;
always #20
data_in=data_in+1;
always #10 clk=~clk;
initial
begin
rstn =1'b0;
clk =1'b0;
data_in ={3'b0,1'b1};
#10 rstn =1'b1;
#10 rstn =1'b0;
#20 rd =1'b0;
wd =1'b0;//不进行操作
#300 rd =1'b0;
wd =1'b1;//进行写操作
#400 rd =1'b1;
wd =1'b0;//进行读操作
#300 rd =1'b0;
wd =1'b1; //进行写操作
end
sy_fifo m(clk,rstn,data_in,data_out,full,empty,rd,wd);
endmodule
在进行仿真时候,就会出现上述问题,若把最后的写操作 改成为:#300 rd=1'b1;
wd=1'b1;
就不会出现上述问题,求大神指点下?
不知道你说的这个是为啥,但是一般fifo读写信号都要和clk同步,你同步一下试试吧!
你所说的FIFO读写信号与CLK同步是怎么同步呀
还有就是在testbench initial begin end; 中不能对rd wd赋两次值呀?
同步的意思就是wr和rd是clk产生的,你要非要在initial里面做的话就这样
initial begin
#200;
@(posedge clk)
begin
wr = 1;
end
#200;
@(posedge clk)
begin
wr = 0;
end
end
差不多这个意思把!不能再不能的块对同一个变量赋值!
不清楚你是不是win10的,
win10 用10.2c不会退出。
我用的确实是win10 它也不是退出,主要是run -all 然后 zoom -full之后就会报错,让你查看transcript file 具体原因我也不是很清楚,学习异步FIFO好久 还是没有学习太明白
我都把他们同步了,跟我预期的还是有些问题,主要是 run -all 然后zoom -full就会出现上述问题
我后来把仿真的总时间设置加长了,能够达到我预期的效果了,但是上述问题还是不知道怎么解决