Modelsim 64-SE 10.4使用Quartus 13.0 sp1用MIF文件生成的ROM仿真时候数据一直是高阻态

2019-07-15 20:36发布

1.zip (314.98 KB, 下载次数: 3)
附件1.zip是我的所有代码。
===分割线===
这里我描述一下我遇到问题的过程。
我的思路是,现在Quartus里面处理mif文件,生成 .v 文件。
根据 FPGA笔记(九)-实现ROM步骤 文章的内容,编写如下mif文件内容。

Data.mif

  1. DEPTH=64;
  2. WIDTH=24;
  3. ADDRESS_RADIX=HEX;
  4. DATA_RADIX=HEX;

  5. CONTENT BEGIN
  6.         00 : 018108;
  7.         01 : 00ED82;
  8.         02 : 00C050;
  9.         03 : 00E004;
  10.         04 : 00B005;
  11.         05 : 01A206;
  12.         06 : 959A01;
  13.         07 : 00E00F;
  14.         08 : 00ED8A;
  15.         09 : 00ED8C;
  16.         0A : 00A008;
  17.         0B : 008001;
  18.         0C : 062009;
  19.         0D : 062009;
  20.         0E : 070A08;
  21.         0F : 038201;
  22.         10 : 001001;
  23.         11 : 00ED83;
  24.         12 : 00ED87;
  25.         13 : 00ED99;
  26.         14 : 00ED9C;
  27.         15 : 31821D;
  28.         16 : 31821F;
  29.         17 : 318221;
  30.         18 : 318223;
  31.         19 : 00E01A;
  32.         1A : 00A01B;
  33.         1B : 070A01;
  34.         1C : 00D181;
  35.         1D : 21881E;
  36.         1E : 019801;
  37.         1F : 298820;
  38.         20 : 019801;
  39.         21 : 118822;
  40.         22 : 019801;
  41.         23 : 198824;
  42.         24 : 019801;
  43.         25 : 018110;
  44.         26 : 000002;
  45.         27 : 000003;
  46.         28 : 000004;
  47.         29 : 000005;
  48.         2A : 000006;
  49.         2B : 000007;
  50.         2C : 000008;
  51.         2D : 000009;
  52.         2E : 00000A;
  53.         2F : 00000B;
  54.         30 : 00000B;
  55.         31 : 00000D;
  56.         32 : 00000E;
  57.         33 : 00000F;
  58.         34 : 000010;
  59.         35 : 000011;
  60.         36 : 000012;
  61.         37 : 000013;
  62.         38 : 000014;
  63.         39 : 000015;
  64.         3A : 000016;
  65.         3B : 000017;
  66.         3C : 000018;
  67.         3D : 000019;
  68.         3E : 00001A;
  69.         3F : 00001C;
  70. END;
复制代码
生成如下文件
ROM.png
Task1.v 是顶层模块。[代码内容见1.zip]
Task1_sim.v 是仿真文件。[代码内容见1.zip]
仿真的思路是,clk 每一个单位时间取一次反,address 每5个单位时间取一次+1.
这样的话,ROM每一地址的数据就会被取出来。
但是最终仿真的结果是这样的
wave.png
xx 是数据信号,但是一直是高阻态。

然后,根据这篇文章 modelsim仿真fifo和rom时候,输出出现高阻  的内容把 altera_mf.v和220model.v这2个文件加入我的modelsim的工程目录里面进行编译。
效果如下:
Project.png
但是仿真的结果依旧和之前的一样。
现在我已经没有思路,如何解决这个问题,特来向大家请教。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
铁血钢流
1楼-- · 2019-07-16 00:40
文中两个文章的地址
modelsim仿真fifo和rom时候,输出出现高阻  https://blog.csdn.net/zd_2010/article/details/41864167
FPGA笔记(九)-实现ROM步骤   https://blog.csdn.net/Struggle_For_M/article/details/51883916
铁血钢流
2楼-- · 2019-07-16 05:18
问题解决了,用Quartus调用Modelsim即可

一周热门 更多>