玩转FPGA山寨版

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

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

1、首先利用matlab 生产MIF文件,在matlab新建一个M文件,输入以下代码:

***********************************************************

x=0:1:1023;
y=round(100*sin(2*pi*x/1024))+100;
a=[x;y];
fid=fopen('sin.mif','w');
fprintf(fid,'%d : %d;\n',a);
fclose(fid);

********************************************************************

保存后运行就会生存一个sin.mif文件,在文件前面加上以下代码:

*******************************************************************

WIDTH=8;
DEPTH=1024;

ADDRESS_RADIX=UNS;
DATA_RADIX=UNS;

CONTENT BEGIN

**********************************************************************

后面加上:

*********************************************************************

END;

***********************************************************************

将文件sin.mif拷贝在工程文件夹里面即可。

2、在Quartus II中点击MegaWizard添加ROM:

总线设为8位,地址为10位,即深度1024words

添加sin.mif文件

3、给ROM写一个驱动

*****************************************************************************************

module sine (
               input clk, //50MHz
               input reset,
               output reg[9:0] address,
               output reg clk_div);

reg[7:0] data;
           
reg[8:0] cnt;

always @(posedge clk)
begin
  if(cnt < 9'd500)
    cnt <= cnt + 1'b1;
  else
    begin
      cnt <= 1'b0;
      clk_div <= ~clk_div;
    end
end

always@(posedge clk_div or negedge reset)
begin
    if(!reset) address <=  10'd0;
    else address <= address + 1'b1;
end

endmodule

******************************************************************************

例化后添加到原理图文件中

4、原理图文件设计如下:

posted on 2010-09-01 15:25  Neddy11  阅读(1603)  评论(1)    收藏  举报