微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > ISE13.1调用modelsim仿真,输入全部为红线,是什么原因?

ISE13.1调用modelsim仿真,输入全部为红线,是什么原因?

时间:10-02 整理:3721RD 点击:
ISE13.1 中用Xilinx 的Spartan6 的IP核生成了一个16位宽1024深的ROM存放数据,和一个16位的异步FIFO,在新建的.sch文件中将ROM输出与FIFO输入连接,同时编写了testbench文件设置了输入时钟等,调用modelsim仿真时输入全部为红线,请问这是什么原因呀?难道是.sch文件无法仿真?新手上路,请各位大神指教。下面是我的.sch文件和testbench文件:
.sch文件截图

[attach]583199[/attach]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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top