- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
题目:串并互换电路的设计
系(部):***
专业班:***
姓??名:***
学??号:***
指导教师:***
完成比例:**
2011年?12?月
摘??要
本文主要讲述用verilog实现串并互换电路,在同步时钟的控制下,四位的并行数据和串行数据相互转换,通过一位的控制信号来控制该电路为串并或并串转换,最后由串并有效位来表示串并互换成功。
关键词:串转并并转串移位寄存器
Abstract
Thispaperdealswithverilogrealizestringandswapcircuit,insynchronousclockunderthecontroloffourparalleldataandserialdatatransformation,throughacontrolsignalstocontrolthecircuitfortheseriesandorandstringofconversion,finallybystringandeffectivetosayastringandswapsuccess.KeyWords:Parallelturnstoserial?serialturnstoparallel??Shiftregister
目?录
摘??要??I
Abstract??II
1?选题背景??1
1.1?本课题的意义??1
2?方案论证??2
2.1串并并串选择的分析??2
2.2串并并串转换是否成功的标志位及表达??2
3、程序的具体实现及仿真结果??3
4、本人完成部分及对该部分的理解??9
5??结论或总结??9
致??谢??10
参考文献??10
1?选题背景
1.1?本课题的意义
串并转换电路是串行通信系统中重要的组成部分。在FPGA平台上实现满足特定数据格式及时钟要求的串并转换电路,也已成为考查设计人员对数字电路理解的主要设计之一。Verilog描述语言具有良好的可移植性和通用性,其设计的实现与芯片的工艺无关。在目前的专用集成电路和FPGA设计中,使用VerilogHDL进行设计的描述,已成为主流的设计方法。
本文基于VerilogHDL完成串并转换电路的设计。对通用串并转换单元进行了分析与VerilogHDL实现,进而给出了满足异步串行协议的串并转换模块的设计。设计采用自顶向下的设计方法,对于复杂的串并转换的实现使用有限状态机设计。本文设计的串并转换模块,可正确接收和发送异步串行数据格式,其性能满足串行通信的要求,可以集成于专用通信芯片中实现其功能。
1.2串并转换的原理与方法
从图中可以看出,并串转换的原理是:先将四位数据暂存于一个四位寄存器器中,然后左移输出到一位输出端口,这里通过一个“移位”指令就可以了。
从图中可以看出,串并转换的原理是:新输入的位值成为原来数据的最低位,将原来数据的最高位舍去,这里可以通过一个简单的“连接符”就能做到。
2?方案论证
2.1串并并串选择的分析
在本程序中要实现两个功能,即串行到并行和并行到串行的分别转换。在一个模块中,需要使用一个标志位flag,flag为1时,实现串行到并行的转换,flag为0时,实现串行到并行的转换。需要把flag当做module的一个输入端口,并在测试代码中表现出来。
2.2串并并串转换是否成功的标志位及表达
本程序中采用biaozhi作为标志,若变量biaozhi为1,则代表转换成功,为零代表转换失败。设计标志位的原因是本程序中,在串行输入时,当输入位数少于4,则无法实现串转并的功能。
另外,在本程序中,采用了x来表示功能实现失败,即如果输入的串行数据少于四个,则在输出的四位数为x态。在并转串中,在最后一位串行输出实现时,biaozhi为1,否则为0,表示尚未完成输出。
具体实现中,如果有输入,即si||~si??,则在en(使能位)为1时让所存在触发器中的输入变量输出。但是如果si输入的值少于四个,则输出四个x态。由于测试代码中en在最后一个周期赋值为1,所以之前的输入并不能同步输出,而是锁存起来了。这样就实现了少于四位输出x状态的功能。具体实现如下
源代码
测试代码
3、程序的具体实现及仿真结果
2.3.1程序代码及测试代码已标注本人完成部分,且赋较详细注释
源代码:
modulespps(
clk,
rst_n,
en,
si,
po,
flag,
load,
pi,
so,
biaozhi
);
inputclk;
inputrst_n;
inputen
文档评论(0)