通信工程基于FPGA的图像数据处理FIFO核设计论文


    


    基FPGA图数处理
    FIFO核设计

    院 系:信息科学工程学院
    专 业 班:通信1201
    姓 名:
    学 号:
    指导教师:

    2016年5月







    基FPGA图数处理
    FIFO核设计
    The Design of FIFO Core Processing Image Data Based on FPGA


    摘 

    代断更新换代集成电路芯片领域中完整系统包含东西更更全面现系统设计规模断扩
    系统通常需时钟协调正常运行数时钟间传输会出现数丢失传输准确等问题数时钟间正确传输成系统设计问题异步FIFO(First In First Out)技术数序进入存储器序读出解决问题简单效方法
    异步FIFO电路中时钟周期相位分开存互相间会影响保证数传输时效性准确性该电路中存亚稳态问题亚稳态会数传输程中出现丢失失真两问题次设计中首解决重难点
    次设计FPGA基础Quartus II软件中VHDL 硬件描述语言进行逻辑描述编译出需模板模板整合组合成次设需计异步FIFO电路次设计采Quartus II软件中带EP2C5T144C8N芯片系统硬件电路中该芯片核心板设计出异步FIFO电路中包含RAM深度128 bit数宽度8 bit先软件中带仿真功进行时序仿真测试实际中进行硬件仿真测试确保该电路正常运行确保设计成功性

    关键词:异步FIFO 亚稳态 空满状态判断 硬件仿真






    Abstract

    In the field of modern integrated circuit chip a complete system contains more and more comprehensive so the design scale of the system is constantly expanding
    Now a systems usually require multiple clock coordination can be normal operation and the data between different clock transmission loss of data transmission accurate problem How to make the data between different clock correct transmission has become a major issue in system design using asynchronous FIFO (first in first out) technology the data first and then stored in according to the transmission order out is to solve this problem a simple and effective method
    In the circuit of asynchronous FIFO the period and the phase of the clock exist separately which will not affect each other so as to ensure the timeliness and accuracy of data transmission The circuit also has the problem of the metastable state which will cause the loss and distortion of the data in the transmission process These two problems are the most important and difficult points in the design
    The design is based on FPGA based in the Quartus II software using VHDL hardware description language to carry on the description logic a compile time needed for each template the template integration into the design required the asynchronous FIFO circuit The design uses the Quartus II software comes with the EP2C5T144C8N chip minimum system the use of the hardware circuit is the core of the chip board Designed in the asynchronous FIFO circuit the depth of the RAM is 128 bit the data width is 8 bit First use the software comes with the simulation function of its timing simulation test and then in the actual hardware simulation test to ensure the normal operation of the circuit to ensure the success of the design

    Key words Asynchronous FIFO synchronization Metastable Empty full status determination Hardware simulation


    目 录

    摘 I
    Abstract II
    绪 1
    1 异步FIFO设计求基原理 2
    11 功设计 2
    12 设计原理 3
    13 设计重点 3
    14 异步FIFO验证 4
    2 模块设计 5
    21 格雷码计数器模块 5
    22 步模块 5
    23 格雷码∕然码转换模块 6
    24 空满标志产生模块 7
    25 双端口RAM 9
    3 仿真测试 10
    31 模块合 10
    32 时序仿真 12
    321 复位功仿真测试 12
    322 读写操作功仿真测试 12
    323 异步FIFO电路整体仿真测试 13
    324 结果汇总 14
    4 硬件仿真实现 15
    41 外部电路焊接 15
    42 引脚分配 16
    43 调试电路 18
    431 异步时钟产生模块 19
    432 伪机数队列产生模块 19
    433 调试电路时序仿真 19
    434 调试电路引脚分配 20
    435 调试电路硬件仿真 20
    44 异步FIFO电路硬件仿真 21
    441 复位功硬件仿真 22
    442 读写操作功硬件仿真 22
    443 异步FIFO硬件电路整体功硬件仿真 23
    444 硬件仿真结果汇总 24
    结 25
    致谢 26
    参考文献 27
    附录1格雷码计数器VHDL设计程序 28
    附录2步模块VHDL设计程序30
    附录3格雷码∕然码转换模块VHDL设计程序31
    附录4读空状态判定VHDL设计程序32
    附录5写满状态判定VHDL设计程序33
    附录6伪机数队列产生模块VHDL设计程序34





    绪 

    国外设计FIFO时通常两种方法利编程逻辑器件构造FIFO(Xilinx公司)二利VerilogVHDL等硬件描述语言FIFO功结构进行描述[1]部分EDA软件中通综合器完成EDA等硬件语言编译综合器硬件描述语言描述转变物理实现电路形式FIFO基RAM结构部分参考资料建立数组存取基础FIFO进行描述然综合器数组综合般转变寄存器结构带缺陷综合结构会非常庞造成容量FIFO设计时会产生量面积浪费甚法集成[2]
    课采FPGA基础VHDL 硬件描述语言进行逻辑描述设计出基FPGA异步FIFO电路课题采FPGA中常Quartus II软件软件中带Cyclone II系列芯片中EP2C5T144C8N芯片运FPGA相关设计知识设计出异步FIFO电路该电路RAM深度128 bit数宽度8 bit软件中带仿真功进行时序仿真测试实际中进行硬件仿真测试确保该电路正常运行
    文章节容安排:
    第章次异步FIFO电路设计实现功设计思路进行具体描述设计原理进行详细介绍
    第二章模块设计介绍该异步FIFO电路包含模块模块承担着什样功
    第三章时序仿真通连线编译出单独模块组合起形成该异步FIFO电路顶层模块Quartus II软件带仿真功进行波形仿真模块进行校验
    第四章硬件仿真焊接块外设电路板外设电路板连接核心板控制系统运行编译整异步FIFO电路加载核心板中编译出调试电路担机数读写时钟输入搭载外块核心板连接异步FIFO电路硬件整异步FIFO电路进行硬件仿真观察出结
    1 异步FIFO设计

    11 功设计
    次设计Quartus II软件中带EP2C5T144C8N芯片作设计异步FIFO电路中核心模块机存储器(RAM)该FIFO电路中RAM设计深度128 bit设计数宽度8 bit该核心模块外部接口图11示模块接口说明表11示
    整设计异步FIFO电路满足功信号处复位状态通读写信号控制电路读写操作写时钟信号脉升时先判断电路中数写入信号否效效八位数写入机存储器中读时钟信号脉升时理判断读信号否效效机存储器中读取八位数出机存储器中数写满时必须产生写满标志阻止数继续写入反机存储器中数读空时必须产生读空标志阻断数继续读出

    图11 异步FIFO外部接口
    表11 异步FIFO外部接口说明
    脚名称

    说明
    rst
    in
    复位低电效
    wr_en
    in
    写高电效
    rd_en
    in
    读高电效
    wr_clk
    in
    写时钟
    rd_clk
    in
    读时钟
    full
    out
    读空标志
    empty
    out
    写满标志
    Data[70]
    out
    写入数
    q[70]
    out
    读出数

    12 设计原理
    异步FIFO结构实复杂基结构图图12示
    读时钟
    读址
    读控制
    读数
    写址
    写控制
    写数


    双端口
    RAM
    写址
    产生逻辑
    读址
    产生逻辑
    步电路
    空满标志
    产生逻辑
    写时钟
    复位











    图12 异步FIFO基结构
    图中出异步FIFO类似圆环循环结构双端口RAM读写址产生逻辑空满标志产生逻辑等组成异步FIFO拥两完全独立时钟域分分隔开写时钟域读时钟域步电路化作系统时进行读写操作空满标志信号空满标志产生逻辑步读写址较产生时空满标志信号读写信号起控制电路读写操作
    13 设计重点
    异步FIFO设计存两重点:需通步电路异步信号步化系统读写操作时进行降低亚稳态产生机率二系统运行中正确产生关存储器空满标志[8]
    亚稳态种异步FIFO电路中必然会发生物理现象电路中触发器必须满足建立时间保持时间求电路部两毫关联时钟域间进行信号传递会满足建立保持时间种情况会系统中存未知状态输出逻辑0者逻辑1者介两者间值程称亚稳态亚稳态出现会数传输程中出现丢失失真等情况亚稳态然没办法避免通面两种简单方法降低亚稳态产生概率
    [12]:
    (1) 采格雷码计数器方法编写读写址格雷码种错误率低编码方式次计数时增加会位数位产生改变避免采二进制码技术时产生位改动
    (2) 触发器异步信号步化触发器步信号者增加电路冗余降低亚稳态产生机率课题常D触发器采D触发器二级步方式工作电路图电路图图13示仅Q1跃变非常接时钟时候Q2会进入亚稳态[2]样系统变更加稳定
    D Q


    CLK
    D Q


    CLK
    异步输入
    步输出




    图13 D触发器二级步
    14 异步FIFO验证
    设计出异步FIFO方案进行验证验证功包括:复位功数读写功等单功合格异步FIFO整体电路进行验证达次设计预期求次异步FIFO设计成功









    2 模块设计

    21 格雷码计数器模块
    采格雷码计数器方式降低亚稳态出现概率次课题更准确判断存储器空满状态采5 bit格雷码计数器格雷码计数器模块程序详见附录
    利Quartus II软件程序编译生成格雷码计数器模块图21示该模块进行时序仿真测试格雷码计数器模块仿真波形图22示波形仿真图中出格雷码计数时位数产生变化该模块设计成功

    图21 格雷码计数器模块

    图22 5 bit格雷码计数器仿真波形
    22 步模块
    前面提次异步FIFO设计降低亚稳态发生概率D触发器二级步异步信号步化
    具体工作程:空满标志模块判断写满标志时步模块读指针写时钟步写指针较产生写满标志空满标志模块判断读空标志时候步模块写指针读时钟步读指针较产生读空标志步模块设计程序详见附录
    利Quartus II程序编译成功生成步模块图23示继该模块进行时序仿真仿真波形图24示仿真波形图中出该模块输入异步码输入时钟步输出步码延时时间出满足二级步求该模块设计成功

    图23 步模块

    图24 步模块仿真波形
    23 格雷码∕然码转换模块
    前面处理亚稳态问题异步FIFO中读写址转换成格雷码RAM进行数存储产生空满标志读写址步进行较程中需然二进制码否操作法进行异步址信号步需读写址转换然二进制码保证电路正常运转格雷码∕然码转换模块VHDL设计程序详见附录
    利Quartus II软件程序编译成功生成格雷码∕然码转换模块图25示前面介绍样模块进行波形仿真测试判定该模块正确性仿真波形图26示观察波形该模块编译正确程序详见附录

    图25 格雷码∕然码转换模块

    图26 模块仿真波形
    24 空满标志产生模块
    异步FIFO系统中起着决定性作空满标志产生模块该模块关着异步FIFO性空满标志产生模块设计基原:处什情况读写址会时存储址进行读写否会整程序运转产生错误 避免数写满继续写入造成溢出情况数覆盖没读出时避免存储空间中数读完继续读取造成信号读出解决问题异步FIFO系统设置读空写满两状态读空写满状态判定VHDL设计程序分详见附录
    子模块编译出连接起构成空满标志产生模块顶层电路图27示中empty_cmp模块full_cmp模块分读空标志判定模块写满标志判定模块该顶层电路编译成功生成空满标志产生模块图28示


    图27 空满标志产生模块顶层电路图

    图28 空满标志产生模块
    25 双端口RAM
    次设计异步FIFO系统中存储器采双端口RAMAlteraMega Wizard PlugIn Manager 中相关功预生成RAM设置成双端口存储深度设置128 bit数宽度设置8 bit定制生成双端口RAM外部接口图29示

    图29 双端口RAM外部接口





    3 仿真测试

    31 模块合
    通章介绍已异步FIFO系统需模块编译出模块分格雷码计数模块步模块格雷码∕然码转换模块空满标志产生模块双端口RAM现需做讲模块整合起形成异步FIFO实体电路顶层实体图图31示图中gray模块格雷码计数器模块G2B模块格雷码∕然码转换模块full_empty空满标志产生模块dram模块双端口RAM模块成功合起接做时序仿真异步FIFO系统中包含功进行测试判断否达预期设计目标

    图31 异步FIFO顶层电路图
    32 时序仿真
    前面介绍模块单独进行波形仿真时该模块功特性正常表现出模块合起时该模块系统中定正常行功需整异步FIFO系统中包含模块应功进行波形仿真测试确认该异步FIFO系统否满足预期设计求
    321 复位功仿真测试
    复位功计算器中清零功样简单实整异步FIFO系统基础设计次异步FIFO设计中采手动复位中断清空数传输重新连接传输
    Quartus II软件复位功进行时序仿真波形测试结果图32示复位键复位端置1时候图中出系统正常工作复位键复位端置0时图中出读写时信号发生什样改变系统中数传输时钟没变化时系统处读空状态停止数读出该复位功满足预期方案设计求
    图32 复位功时序仿真测试波形
    322 读写操作功仿真测试
    果整异步FIFO系统作成话RAM相心脏读写操作功等连接全身器官血写操作功时数写入RAM中进行存储读操作功数RAM中读出进行传输先写入读出
    利Quartus II软件先写操作功进行时序波形仿真结果图33示先系统复位端置1保证系统正常运行写信号置1读信号置0会数输出状态始终保持变读空标志信号直0写满标志信号直1表明系统直处写满状态没进行数读出写操作功符合设计需求
    样方法复位端然置1系统读操作功进行波形仿真测试写信号置0读信号置1波形仿真图图34示出系统运行会写满标志信号始终0读空标志始终1说明系统没进行数写入直进行数读出储存数读完直处读空状态出读操作功满足设计求

    图33 写操作功时序仿真测试波形

    图34 读操作功时序仿真测试波形
    323 异步FIFO电路整体仿真测试
    基功测试完电路整体进行仿真测试先系统复位端读写时均置1系统输入读时钟频率设置写时钟频率2倍运行系统波形结果图35示

    图35 异步FIFO系统时序仿真测试波形1
    图中出系统运行段时间读空状态非读空状态间发生周期性交变换系统始终会处写满状态说明系统时进行读写操作系统读操作速率快系统写操作速率系统永远会处写满状态时系统输入队列输出队列包含数完全样数写入读出序样存点程序运行延时说明系统完全遵先入先出原
    测试完种情况反进行设置读时钟频率设置写时钟频率2倍重复面操作系统运行段时间波形结果图36示出系统会写满状态非写满状态间进行周期性交变换系统永远会处读空状态写操作速率快读操作速率输入输出队列数面样遵电路先入先出原结合图35图36出该异步FIFO整体电路设计达预期设计求

    图36 异步FIFO系统时序仿真测试波形2
    324 结果汇总
    结束时序仿真根面时序仿真波形测试结果出该异步FIFO整体电路设计实现初预期满足功两部时钟间准确传输数先入先出读写数产生正确空满状态判断读写操作正常时进行等等说明该异步FIFO整体电路设计思路成功样波形仿真足说明问题需通外设电路板核心板连接进行硬件仿真观察结果





    4 硬件仿真实现

    41 外部电路焊接
    整异步FIFO系统硬件仿真光系统核心板足需助外设电路板加实现需外设电路板控制数读写功数读写控制需两拨动开关加实现拨动开关原理图图41示加辅助器件焊接外设电路板图42示

    GND
    拨码开关
    100Ω
    47kΩ
    控制信号输入

    Vcc






    图41 拨动开关原理图

    图42 外设电路板
    42 引脚分配
    焊接外设电路板接做进行引脚分配核心板引脚异步FIFO系统电路引脚进行应分配时外设电路板需进行相应引脚分配相应功引入EP2C5T144C8N系统核心板中利Quartus II软件带引脚分配功分配引脚应图43示中需特注意rst引脚分配144引脚引脚分配完成利软件进行编译编译成功端口引脚应图44示

    图43 异步FIFO电路引脚分配


    图44 端口引脚应
    43 调试电路
    电路引脚分配完成利杜邦线核心板引脚端口外设电路板引脚端口进行应连接连接实物图45示整系统写时钟输入端位核心板中(1819AC)区域读时钟输入端位核心板(0809AC)区域写满标志输出端位核心板(1819CE(右))区域读空标志输出端位核心板(0809CE(右))区域输入数端位核心板(2426WD(右))区域输出数端位核心板(0103WD(右))区域利软件通AS接口前面设计包括引脚分配已完成完整版电路载入核心板中异步FIFO电路整硬件实物完成

    图45 异步FIFO硬件电路实物


    431 异步时钟产生模块
    根设计实现功出设计异步FIFO系统包含异步时钟产生模块包含输入数产生模块需调试电路产生异步读写时钟信号宽度8 bit输入数队列避免异步FIFO核心板硬件突需该调试电路搭载块核心板
    先Quartus II软件PLL锁相环制定出PLL锁相环会EP2C5T144C8N核心板中带50 MHz时钟进行两次分频处理次分频处理12分频产生异步输出时钟频率25 MHz次分频处理14分频产生异步输出时钟频率125 MHz两输出时钟连入外设电路板中读写时钟区域成异步FIFO硬件电路中异步读写时钟输入时钟频率周期正相差倍方便验证
    432 伪机数队列产生模块
    根编写程序该模块编译出数宽度8 bit伪机数队列产生模块模块数输出端连接外设电路板数输入引脚区域硬件电路需数输入程序代码详见附录
    433 调试电路时序仿真
    调试电路需模块组合完成电路图图46示中模块异步时钟产生模块模块伪机数产生模块

    图46 调试电路
    进行波形仿真仿真波形图47示出该模块设计成功

    图47 调试电路仿真波形
    434 调试电路引脚分配
    前面章节介绍引脚分配原样该调试电路进行引脚分配引脚分表图48示引脚分配完成进行编译结果图49示

    图48 调试电路引脚分配表

    图49 调试电路引脚分配完成
    435 调试电路硬件仿真
    电路知识简单调试电路直接核心板电脑相连Quartus II软件带嵌入式逻辑分析仪SignalTap II仿真预调中采样深度设置128 bit该系统进行硬件仿真波形图图410示出波形图时序仿真时波形图差该调试电路硬件仿真成功通整调试电路包括核心板完成

    图410 调试电路硬件仿真波形
    44 异步FIFO电路硬件仿真
    前面准备充分进行异步FIFO整电路硬件仿真根面章节中提引脚分配情况调试电路硬件异步FIFO电路硬件外设电路板连接起组成实物电路图411示中位方核心板外设电路板相连组成整异步FIFO硬件电路位放调试电路板组成整异步FIFO功测试电路然介绍样整电路包含功进行硬件仿真

    图411 异步FIFO功测试电路
    441 复位功硬件仿真
    前面章节提调试电路硬件仿真异步FIFO功测试电路进行硬件仿真首先电路复位功进行仿真测试波形图图412示图中出波形前面复位功进行波形仿真时图形样复位键系统处读空状态数读出该电路复位功符合预期设计求

    图412 复位功硬件仿真测试波形
    442 读写操作功硬件仿真测试
    接进行读写操作功硬件仿真分开进行先写操作进行硬件仿真仿真读操作硬件仿真方法前面介绍两功进行波形仿真方法异外设电路板中拨码开关中1号码置12号码置0写工作读没结果图413示运行段时间出直数输出直处写满状态读空状态始终没出现出写操作硬件仿真成功
    反进行操作1号码拨02号码拨1读操作进行硬件仿真波形结果图414示刚写操作结果相反数输出系统直处读空状态没出现满状态情况读操作硬件仿真成功总体说异步FIFO硬件电路读写功满足设计求

    图413 写操作功硬件仿真测试波形

    图414 读操作功硬件仿真测试波形
    443 异步FIFO硬件电路整体功软硬件仿真测试
    异步FIFO硬件电路分功测试异步FIFO硬件电路整体进行测试汇总整体电路硬件仿真测试前面波形仿真测试差包含异步时钟调试电路核心板中引脚31应时钟频率25 MHz引脚32应时钟频率125 MHz换引脚两根接口线改变读写时钟频率
    整体硬件电路仿真现行测试读时钟频率25 MHz写时钟频率125 MHz时情况开关拨码12号置1程序运行段时间稳定波形结果图415示出读时钟频率写时钟两倍系统读空状态非读空状态间处周期性交变换永远会处写满状态输入输出状态出系统满足先入先出求输入输出数间存短延时
    关闭电路包含异步时钟调试电路核心板中引脚31引脚32应接线换开关拨码12置1重新运行电路时读时钟频率125 MHz写时钟频率25 MHz程序运行段时间波形结果图416示写时钟频率读时钟2倍西永写满状态非写满状态间处周期性交变换永远会处读空状态面测试时样输入输出数满足先入先出总体求存定延时综合两测试结果异步FIFO硬件电路成功达设计求

    图415 异步FIFO系统硬件仿真测试波形1

    图416 异步FIFO系统硬件仿真测试波形2
    45 硬件仿真结果汇总
    综合全部硬件仿真测试结果次异步FIFO电路硬件方面整体设计成功满足设计求正确复位满足意两异步读写时钟输入正确判定系统空满状态稳定宽度8 bit数两独立异步时钟间进行传输没出现数传输程中混乱丢失等情况满足先入先出设计前提等等














    结 

    异步FIFO电路现代日新月异发展迅速电子集成电路芯片中着量运芯片电路中承载着存储运输作传输数短暂存储转发出相数缓区作忽视国集成电路芯片技术起步价较晚研发出异步FIFO电路远远满足市场军事需求异步FIFO电路技术研究断革新换代
    次设计基FPGA技术采Quartus II软件中带着EP2C5T144C8N芯片系统异步FIFO技术基解简单设计需求费少功夫终获成功
    针次设计求先通相关资料书籍异步FIFO电路致解FPGA技术基础情况勾画出致电路层框架根需满足功设计出相应模块进行波形仿真修改直模块仿真成功连接构成整体异步FIFO电路进行整体波形仿真修改相应错误方直仿真成功软件仿真成功足说明需进行硬件仿真发现块核心板够焊接外设电路板控制系统运行没输入电路编写调试电路模板增加块核心板搭载调试电路构建成功进行硬件仿真调试硬件仿真成功宣告整设计获成功
    力问题次设计存着足处外接调试电路调试电路改变输入异步时钟频率时接口线拔交换接口显点麻烦设计两块核心电路板耗费通程序编辑调试电路异步FIFO电路搭载块核心板节省资源





    致 谢

    次毕业设计师学四年学知识考验存头脑里知识没什真正运学做出成果毕竟实践出真知文完成际衷心感谢予帮助老师学
    次毕业设计指导教师陈道群老师感谢设计中私指导帮助设计初告诉需详细研读资料书籍需弄懂设计中需核心知识点遇懂方总耐心予讲解需总快落实陈老师刻苦积极钻研精神学术研究仔细严谨影深深佩服艰难困苦玉汝成没陈老师帮助次设计绝做出衷道声谢谢次设计中帮助学力量总渺友情力量伟学断补充提问设计新思路更改终获成功衷感谢
    学校感谢学校四年栽培恩祝福学校越越繁荣昌盛桃李满天










    参考文献

    [1] 韩进程勇齐现英.VHDL数字集成电路设计中应[J].山东科技学学报(然科学版)2003
    [2] 孟庆海张洲.VHDL基础典实例开发[M].西安交通学出版社2008
    [3] 潘松黄继业.EDA技术实教程VHDL版(第四版)[M].北京科学出版社2010
    [4] 潘松王国栋.VHDL实教程(修订版)[M].成电子科技学出版社2001
    [5] 爱锋初秀琴等.基FPGA嵌入式系统设计[M].西安电子科技学出版社2004.
    [6] 徐世伟.异步FIFO设计实现[D].西安电子科技学2007.
    [7] 张永安李树华刘跃.VHDL语言设计实现单片机串行口输出串转换[J].蒙古学学报(然科学版)2004
    [8] 张维旭贺占庄.基FPGA异步FIFO设计[D].西安微电子技术研究2006
    [9] 赫晓莉刘洪波沈绪榜.异步FIFO中存储单元分析设计[J].计算机技术发展2007
    [10] 雷海卫刘俊.FPGA中软FIFO设计实现[J]中山学2007
    [11] 吴厚航 FPGA设计实战演练(逻辑篇).北京:清华学出版社2015:5055.
    [12] 刘洪波龙娟郝晓莉沈绪榜.异步FIFO状态判断研究设计.西安徽电子研究.200703
    [13] 汤安全.基FPGA数延迟器存储器设计[D].安徽学2014
    [14] Clifford E.Cummings.Simulation and Synthesis Techniques for Asynchronous FIFO Design[C].SNUG 2002(Synopsys Users Group ConferenceSan JoseCA2002) User Papers.March 2002.
    [15] Kanoopoulos NHallenbeck J J.A First InFirst out Memory for Signal Processing Applications[J]
    .IEE Transactions on Circuits and System1986.556558.




















    附录1格雷码计数器模块VHDL设计程序

    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_unsignedall
    use ieeestd_logic_arithall

    entity gray is
    port(
    clk in std_logic
    en in std_logic
    addr_gray out std_logic_vector(4 downto 0)
    )
    end
    architecture bhv of gray is
    signal reg_g std_logic_vector(4 downto 0)
    signal new_g std_logic_vector(4 downto 0)
    begin
    process(clken)
    begin
    if rising_edge(clk) then
    if en '0' then
    null
    else
    new_g < reg_g
    end if
    end if
    end process
    addr_gray < new_g
    process(new_g)
    variable normal std_logic_vector(4 downto 0)
    variable temp_g std_logic_vector(4 downto 0)
    begin
    temp_g new_g
    normal(4) temp_g(4)
    for i in 3 downto 0 loop
    normal(i) temp_g(i) xor normal(i+1)
    end loop
    for i in 0 to 4 loop
    if (normal(i) '0' or i4)then
    temp_g(i) not(temp_g(i))
    exit
    end if
    end loop
    reg_g < temp_g
    end process
    end









    附录2步模块VHDL设计程序

    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_unsignedall
    entity sync is
    port(
    clk in std_logic
    addr_in in std_logic_vector(4 downto 0)
    addr_out out std_logic_vector(4 downto 0)
    )
    end sync
    architecture bhv of sync is
    signal temp std_logic_vector(4 downto 0)
    begin
    process(clk)
    begin
    if rising_edge(clk) then
    addr_out < temp
    temp < addr_in
    end if
    end process
    end




    附录3格雷码∕然码转换模块VHDL设计程序

    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_unsignedall
    entity G2B is
    port(
    gray in std_logic_vector(4 downto 0)
    normbit out std_logic_vector(4 downto 0)
    )
    end
    architecture bhv of G2B is
    begin
    process(gray)
    variable temp_g std_logic_vector(4 downto 0)
    variable temp_n std_logic_vector(4 downto 0)
    begin
    temp_g gray
    temp_n(4) temp_g(4)
    for i in 3 downto 0 loop
    temp_n(i) temp_g(i) xor temp_n(i+1)
    end loop
    normbit < temp_n
    end process
    end


    附录4读空状态判定VHDL设计程序

    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_unsignedall
    entity empty_cmp is
    port(
    wr_addr in std_logic_vector(4 downto 0)
    rd_addr in std_logic_vector(4 downto 0)
    empty out std_logic
    )
    end
    architecture bhv of empty_cmp is
    begin
    empty < '1' when (wr_addr(4 downto 0) rd_addr(4 downto 0))
    else '0'
    end








    附录5写满状态判定VHDL设计程序

    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_unsignedall

    entity full_cmp is
    port(
    wr_addr in std_logic_vector(4 downto 0)
    rd_addr in std_logic_vector(4 downto 0)
    full out std_logic
    )
    end
    architecture bhv of full_cmp is
    begin
    full < '1' when (wr_addr(4) rd_addr(4)) and (wr_addr(3 downto 0) rd_addr(3 downto 0))
    else '0'
    end







    附录6伪机数队列产生模块VHDL设计程序

    library ieee
    use ieeestd_logic_1164all
    use ieeestd_logic_unsignedall
    entity shuiji is
    port(
    clk in std_logic
    data out std_logic_vector(7 downto 0)
    )
    end
    architecture bhv of shuiji is
    signal t std_logic
    signal c1 std_logic
    signal temp std_logic_vector(7 downto 0)
    begin
    t < temp(7) xnor temp(0)
    process(clk)
    begin
    if rising_edge(clk) then
    c1 < not c1
    end if
    end process
    process(c1)
    begin
    if rising_edge(c1) then
    temp < temp(6 downto 0) & t
    end if
    end process
    data < temp
    end
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 10 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于FPGA的电梯控制系统设计毕业设计论文

    毕 业 设 计 [论 文]题 目: 基于FPGA的电梯控制系统设计 学 院: 电气与信息工程学院 ...

    3年前   
    1267    0

    基于FPGA的IIR滤波器设计

     基于FPGA的IIR滤波器设计摘 要:数字信号处理在科学和工程技术许多领域中得到广泛的应用,与FIR数字滤...

    3年前   
    539    0

    基于FPGA的温度检测系统设计

    XX学院信息工程学院数字系统与Verilog设计报告题 目: 基于FPGA的温度检测系统设计 姓 名: 学 号: ...

    3年前   
    607    0

    基于FPGA的数字跑表

    基于FPGA的数字跑表学院:物电学院姓名: 学号:班级:班日期:2011年X月X日目录一、实例的主要内容 3二、实验目标: 41初步掌握Verilog HDL语言的设计方法 42、完成一个数字...

    3年前   
    627    0

    《食品试验设计与数据处理》课程论文

    《食品试验设计与数据处理》课程论文姓 名 院 (系) 轻工食品学院专业班级 食品学 号 指导教师 职 称 教 授日 期 2013...

    3年前   
    796    0

    基于图像识别的智能小车系统设计

    第1章 绪论1.1 课题背景目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上...

    8个月前   
    238    0

    基于FPGA的键盘扫描程序的设计毕业设计

    X X 学 院 CHANGSHA UNIVERSITY本科生毕业设计设计(论文)题目: 基于FPGA的键盘扫描程序的设计 ...

    4年前   
    857    0

    基于FPGA的多路彩灯控制器的设计课程设计

     FPGA课程设计报告 学院: 信息工程学院班 级: 信息级班姓 名: 学 号: 完成时间: 2015年X月X日 评阅意见: 题目...

    3年前   
    525    0

    PARWANCPU状态机设计基于FPGA的数字系统设计

     基于FPGA的数字系统设计 大作业 学号: 姓名: 班级: 题目一:设计Pa...

    11个月前   
    300    0

    基于FPGA的计数器设计电子技术课程设计

    XX学院电子技术课程设计 题 目 _基于FPGA的计数器设计___ __________...

    1年前   
    315    0

    FPGA课程设计基于RAM的十口8位计数器

    FPGA课程设计报告题 目: 基于RAM的十口8位计数器 院 系: 通信与信息工程学院...

    3年前   
    451    0

    基于FPGA的FSK数字调制解调器设计

    等级:课 程 设 计课程名称专业课程设计课题名称基于FPGA的FSK数字调制解调器设计专 业电子信息工程班 级学 号姓 名指导老师2016年X月X日电气信息学院专业设计...

    1年前   
    329    0

    基于FPGA的语音录制与回放系统

    本语音录制与回放系统的基本工作原理是将模拟语音信号通过模数转换器(A/D)转换成数字信号,再通过FPGA(控制器)将数字信号存储到存储器中; 回放时, 由 FPGA控制将数据从存储器中读出, 然...

    5年前   
    1181    0

    基于同态滤波的图像去雾方法毕业论文

     XX大学 本科毕业设计(论文) 题 目: 基于同态滤波的图像去雾方法 ...

    5年前   
    1756    0

    基于ASP技术的网站的设计与开发毕业论文

    基于ASP技术的网站的设计与开发毕业论文 目录 第一章 绪论 1 1.1引言 1 1.2网站的简介 1 1.3网站开发的意义 2 1.4网站的特点及实现目标 2 1.4.1网站的特点 2 1...

    5年前   
    1927    0

    毕业论文:基于ASP技术的网站的设计与开发

    当今世界已经跨入了信息时代,计算机科学与技术正在迅猛发展,尤其是以计算机为核心的信息技术正在改变整个社会的生产方式、生活方式和学习方式。网站的设计与开发是当中的的一项重要工作。在设计过程中涉及大...

    5年前   
    1542    0

    基于PID的温度控制系统设计论文

     (20XX届) 毕业设计 题  目:   基于PID的温度控制系统设计  学  院:             专  业:     电气工程及其自动...

    5年前   
    1994    0

    基于直方图优化的图像去雾方法研究

    基于直方图优化的图像去雾方法研究摘要随着计算机技术的发展,视觉设备广泛应用于军事和民用交通等方面。在雾霾天气的状况下视觉设备获取原始信息收到干扰,图像或者视频的质量衰退,严重影响了原始数据的特...

    3年前   
    604    0

    《Photoshop图像合成》教学设计

    《Photoshop图像合成》教学设计 学校:XX职业技术学校授课教师:Photoshop图像合成(《photoshop cs案例教程》教学设计)单位XX县职业技术学校任课教师任课班级高一计...

    2年前   
    491    0

    毕业论文:基于plc的电子密码锁毕业论文设计

    本毕业设计介绍了可编程序控制器(PLC)和PLC控制系统的基本知识,包括PLC的定义、特点、分类、技术指标、基本结构、工作原理、硬件知识及PLC控制系统等相关知识。采用松下公司系列的PLC,设计...

    5年前   
    1826    0

    文档贡献者

    文***品

    贡献于2019-07-02

    下载需要 10 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档