zoukankan      html  css  js  c++  java
  • FPGA内部m4k资源使用

    http://blog.sina.com.cn/s/blog_6db275da01016xan.html

    m4k就是一个存储单元,具体点就是以4kbits,4k为一块

     RAM fifo ROM等可以由M4K等块存储单元组成也可以用LUT组成,按设计需要选择相应的组成方式;

     

    CYCLONE II系列器件的一个M4K最多可以配置36bit的位宽,如果再大了,那么就会占用其它的M4K块。

    CYCLONE II系列器件中的M4K配置

    CYCLONE II系列器件中的M4K配置为以下模式:单口RAM模式、移位寄存器模式、只读存储器(ROM)模式和先入先出(fifo)模式。方法如下:

    一、 单口RAM模式

    单口RAM模式是最简单的工作模式,在单口RAM模式下,存储器不能同时进行读写操作,一个M4K存储块在单口模式下可以被配置为以下规格:4K×12K×21K×4512×8512×9256×16256×18128×32128×36。单口RAM配置接口定义与描述如下表:

     

    信号名称

    方向

    描述

    clk

    input

    时钟信号

    ram_wr

    input

    RAM写入使能信号,高表示写入

    ram_addr[11:0]

    input

    RAM地址总线(不一定是12位)

    ram_din[7:0]

    input

    8RAM写入数据总线

    ram_dout[7:0]

    output

    8RAM读出数据总线

     

    配置步骤 假设已在Quartus II9.0建好一工程m4k_ram,选择Tools>megawizard>next,出现下图,在which device family will you be using?选项中选择所有器件的家族系列;在which type of output file do you want to create?选择输出文件的描述语言;在what name do you want for the output file?填上输出文件的文件名;在左边memory compiler下选择RAM:1-PORT,点击NEXT,弹出megawizard plug-in manager-RAM进行单口RAM的详细配置。

    FPGA内部m4k资源使用

    FPGA内部m4k资源使用

    2

     

    二、 只读存储器(ROM)模式

    利用CYCLONE II系列器件中的M4K生成单口ROM,配置步骤如下:

    步骤1 先生成一个 .mif原始数据文件,用于配置ROM时引用,初始化ROM。假设已建好一个工程,在Quartus II选择File>new>memory initialization file,如图3所示,单击OK,在弹出的对话框里words填上数据个数,size填上数据的位宽,单击OK,弹出如图4所示,将数据依次填充到文件中,保存并命名为XXMif

    步骤2 进入megawizard界面,如图5所示,选择ROM:1-PORTwhich type of output file do you want to create?选择输出文件的描述语言;在what name do you want for the output file?填上输出文件的文件名,单击NEXT

    步骤3 弹出新的对话框如图6所示,进行详细的配置。

    FPGA内部m4k资源使用

    3

    FPGA内部m4k资源使用

    4

    FPGA内部m4k资源使用

    5

    FPGA内部m4k资源使用

    6

    三、 先入先出(fifo)模式

    先入先出(fifo)存储器在各种数字系统中被普遍的应用,经常用做数据缓冲、时钟域变换、多路数据对齐等。先入先出(fifo)存储器分为单时钟和双时钟,单时钟指的是读写使用相同的时钟,因而又称同步FIFO,双时钟指的是读写采用不同的时钟,又称为异步FIFO

    同步FIFO的端口列表

    端口名称

    输入/输出

    说明

    data

    input

    写入数据,位宽可设定

    wrreq

    input

    写使能

    rdreq

    input

    读请求/读应答

    clock

    input

    时钟信号

    sclr

    input

    同步复位

    aclr

    input

    异步复位

    q

    output

    读出数据,位宽可设定

    full

    output

    满标志

    almost-full

    output

    接近满标志

    empty

    output

    空标志

    almost-empty

    output

    接近空标志

    usedw

    output

    使用量

    异步FIFO的端口列表

    端口名称

    输入/输出

    说明

    wrclock

    input

    写入时钟

    wrreq

    input

    写使能,高有效

    data

    input

    数据输入,位宽可设定

    wrfull

    output

    FIFO满标志,和写时钟同步,高电平有效

    wrempty

    output

    FIFO空标志,和写时钟同步,高电平有效

    wrusedw

    output

    FIFO使用量,和写时钟同步

    rdclock

    input

    读时钟

    rdreq

    input

    读请求/读应答,高电平有效

    q

    output

    数据输出,位宽可设定

    rdfull

    output

    FIFO满标志,和读时钟同步,高电平有效

    rdempty

    output

    FIFO空标志,和读时钟同步,高电平有效

    rdusedw

    output

    FIFO使用量,和读时钟同步

    aclr

    input

    异步复位信号,高有效

    配置步骤 进入megawizard界面,如图7所示,选择FIFOwhich type of output file do you want to create?选择输出文件的描述语言;在what name do you want for the output file?填上输出文件的文件名,单击NEXT。弹出新的对话框如图8所示,进行详细的配置。

    FPGA内部m4k资源使用

    7

     

     

     

    FPGA内部m4k资源使用

    8

    四、 移位寄存器模式

    CYCLONE IIm4k可以配置的移位寄存器参数不多,包括:一个位宽为W的移们输入数据和相同位宽的移位输出数据;一个输入时钟信号作为数据移入或者移出的锁存信号、可选的时钟使能输入信号和异步清除输入信号;还有一个寄存器深度taps,它可以是一组信号,也可以是好多个小信号。

    简单配置步骤如下:FPGA内部m4k资源使用

    9

    FPGA内部m4k资源使用

    10

  • 相关阅读:
    SSM应用(五)--参数绑定
    SSM应用(四)--SpringMVC入门
    Oracle常用函数
    SSM应用(三)--Spring整合MyBatis
    SSM应用(二)--注解的使用
    SSM应用(一)--Spring入门
    MyBatis学习(十四)--逆向工程使用
    MyBatis学习(十三)--缓存
    MyBatis学习(十二)--懒加载
    MySQL常用函数
  • 原文地址:https://www.cnblogs.com/habyjingloveDY/p/3431516.html
Copyright © 2011-2022 走看看