|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
ISE13.1 中用Xilinx 的Spartan6 的IP核生成了一个16位宽1024深的ROM存放数据,和一个16位的异步FIFO,在新建的.sch文件中将ROM输出与FIFO输入连接,同时编写了testbench文件设置了输入时钟等,调用modelsim仿真时输入全部为红线,请问这是什么原因呀?难道是.sch文件无法仿真?新手上路,请各位大神指教。下面是我的.sch文件和testbench文件:
.sch文件截图
testbench代码:
// Verilog test fixture created from schematic E:\FPGA_Projects\ROM_FIFO\rom_asynfifo.sch - Tue May 20 20:08:47 2014
`timescale 1ns / 1ps
module rom_asynfifo_rom_asynfifo_sch_tb();
// Inputs
reg [9:0] addra;
reg wr_clk;
reg rst_fifo;
reg wr_en;
reg rd_clk;
reg rd_en;
reg ena;
// Output
wire rd_empt;
wire valid;
wire underflow;
wire wr_full;
wire [15:0] dout;
wire overflow;
wire wr_ack;
// Bidirs
// Instantiate the UUT
rom_asynfifo UUT (
.addra(addra),
.wr_clk(wr_clk),
.rst_fifo(rst_fifo),
.wr_en(wr_en),
.rd_clk(rd_clk),
.rd_en(rd_en),
.rd_empt(rd_empt),
.valid(valid),
.underflow(underflow),
.wr_full(wr_full),
.dout(dout),
.overflow(overflow),
.ena(ena),
.wr_ack(wr_ack)
);
// Initialize Inputs
`ifdef auto_init
initial begin
addra = 0;
wr_clk = 0;
rst_fifo = 1;
wr_en = 0;
rd_clk = 0;
rd_en = 0;
ena = 0;
#200 begin
ena = 1;
rst_fifo = 0;
wr_en = 1;
end
# 100 rd_en = 1;
`endif
always #10 wr_clk = ~wr_clk;
always @(posedge wr_clk)
begin
if(addra == 1023) addra = 0;
else addra = addra + 1;
end
always #4 rd_clk = ~rd_clk;
endmodule |
|