打印
[Actel FPGA]

请教altera fpga verilog 程序问题

[复制链接]
1047|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
houyongg|  楼主 | 2008-8-1 10:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的是quartus软件,写了下面代码,需要一个先进先出RAM跟一个双口RAM,先进先出RAM用来找到一串数据流的同步,然后从双口RAM的0地址开始写数据,双口RAM的读地址比写地址延迟100个时钟,编译都可以通过,但需要18219个LOGIC ELEMENTS,3720个MEMORY BITS,即有一部分RAM用了LOGIC ELEMENTS,想让全部RAM用MEMORY BITS要怎么设置,麻烦高手指点下


module test(inclk,outclk,indata,outdata);
  input inclk;
  input[9:0] indata;
  output[9:0] outdata;
  output outclk;
  reg[9:0] mem[999:0];
  reg rclk;
  reg[9:0] outdata;
  reg[9:0] wadd,radd;
  reg[3999:0] dtemp;

  always@(dtemp)
    begin
       if({dtemp[29:0],dtemp[2869:2840]}==60'b11_1111_1111_0000_0000_0000_0000_0000_11_1111_1111_0000_0000_0000_0000_0000)     
         begin
          wadd=0;
          mem[wadd]=indata;
         end
        else 
         begin
           wadd=wadd+1;
           mem[wadd]=indata;
         end
    end

  always@(posedge inclk)
    begin
      if({dtemp[1029:1000],dtemp[3869:3840]}==60'b11_1111_1111_0000_0000_0000_0000_0000_11_1111_1111_0000_0000_0000_0000_0000)     
        begin
         radd=0;
         outdata=mem[radd];
        end
      else
        begin    
         radd=radd+1;
         outdata=mem[radd];
        end    
    end 

  always@(posedge inclk)
    begin
      dtemp<=dtemp<<10;
      dtemp[9:0]<=indata;
    end 

endmodule

相关帖子

沙发
houyongg|  楼主 | 2008-8-1 10:19 | 只看该作者

补充

本人新学,看了书本来可以直接调用MEGAWIARD生成RAM,但生成了不知道接下来怎么用,我学习的书上也没下文,痛苦啊,高手朋友说下怎么调用生成的模块也可以啊,多谢了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

13

帖子

0

粉丝