玩转FPGA山寨版

看了《玩转FPGA》,写的不错,写写山寨版和大家交流!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

今天做DDS用到ROM,但用ModelSim仿真的时候总是结果不正确,就好好研究了一下ROM的时序:

在Quartus II里面建立一个BDF电路图文件

1、NEW 一个ROM初始数据文件MIF

Number of words 设定数据深度

Word size 设定数据宽度

点击Edit/ Custom Fill Cells

将0到4096的地址里面写入增加的整数

2、在里面添加ROM,如下图:

设定数据位数为12bits,数据深度为16383,即地址为14bits ,  2^14 = 16383

添加ROM初始数据MIF文件

3、在BDF文件里面加入ROM,并增加引脚

4、ModelSim testbench文件为:

`timescale 10 ns/ 10 ns
module dds_tb();
reg [13:0] address;
reg clock;
wire [11:0] q;
                       
dds i1 (
 .address(address),
 .clock(clock),
 .q(q)
);
initial                                               
begin                                                 
     clock=0;
     #1 address = 1;
     repeat(4096) #12 address = address + 1;  
    
     #50000 $stop;           
end                                                   
always  #2 clock=~clock;                                            
 
                                                 
endmodule

5、ModelSim仿真图

和ROM的时序相比

posted on 2010-08-13 19:04  Neddy11  阅读(6648)  评论(0)    收藏  举报