FPGA课程设计优质精品文档.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

异步数据复接设计报告

张倩201521020441

课题简介

本课题的目的是将异步时钟域的串行数据A和B进行复接,并按8位并行输出。输出数据以帧为单位,每帧共5个字节。输出数据包含数据A的帧数据,或数据B的帧数据,或是空帧数据。要保证每一种数据的帧结构完整,且不丢失数据。本次实验实现了该要求。

实现方案

2.1复接器接口及说明

图1复接器接口图

信号

说明

clk_7m

7MHz输入时钟,也是该模块主时钟

Rst

异步复位,高复位

clk_20m

A数据时钟

clk_30m

B数据时钟

din_A

A数据

din_en_A

A数据使能,持续为高

din_B

B数据

din_en_B

B数据使能,持续为高

Mult_dout(7:0)

复接后8位并行输出数据

表1复接器接口说明

主要设计思路

首先将数据A和数据B分别存入FIFO_A和FIFO_B中,FIFO_A和FIFO_B的读时钟都是clk_7m,且输出数据位宽为8位,完成异步时钟域和串并转换。当FIFO_A存满2帧即10字节时给出一个数据准备好的指示src_rdy,对数据B进行同样操作。

复接器主体为一个状态机,在初始状态IDLE复位所有信号,然后进入判断数据是否准备好的状态DATA_RDY,判断数据A或数据B是否准备好。若数据A准备好,则进入读FIFO_A数据状态RD_DATA1,读出5个字节的数据后返回DATA_RDY状态。若数据A未准备好,数据B准备好,则进入读FIFO_B数据状态RD_DATA2,读出5个字节的数据后返回DATA_RDY状态。若数据AB都未准备好,则进入读空帧状态,读五个字节的空帧数据后返回DATA_RDY状态。

性能分析

资源占用情况如图2所示。

图2资源占用情况

时序分析结果如下所示:

Minimumperiod:2.663ns(MaximumFrequency:375.495MHz)

Minimuminputarrivaltimebeforeclock:1.185ns

Maximumoutputrequiredtimeafterclock:0.575ns

Maximumcombinationalpathdelay:0.339ns

仿真结果

工程目录如下图3所示。包含三部分:dcm1为时钟管理,产生clk_7m,clk_20m,clk_30m;multiplexer为复接器;source_gen为1bit的数据A和数据B的生成模块。

图3工程目录

输入数据如图4所示。可以看出数据A和数据B分别为20MHz和30MHz的连续数据。为了便于识别将数据A设为0xA数据B设为0xB空帧数据设为0xC

图4输入数据截图

状态转移如图5所示。前三行分别为读FIFO_A,FIFO_B,读空帧的读使能,可以看出是连续不断交替的读出数据帧的。

图5状态转移截图

读出的数据如图6所示。可以看出从FIFO_A中读出的数据格式为A从FIFO_B读出数据格式为B从空帧读出数据格式为C

图6数据输出

复接数据输出如图7所示。

图7复接数据输出

程序

5.1multiplexer:

----------------------------------------------------------------------------------

--Company:

--Engineer:

--

--CreateDate:16:09:1005/14/2016

--DesignName:

--ModuleName:multiplexer-Behavioral

--ProjectName:

--TargetDevices:

--Toolversions:

--Description:

--

--Dependencies:

--

--Revision:

--Revision0.01-FileCreated

--AdditionalComments:

--

----------------------------------------------------------------------------------

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useieee.std_logic_unsigned.all;

useieee.numeric_std.all;

useieee.std_logic_arith.all;

--Unco

文档评论(0)

A~下一站守候 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档