verilog实现串并并串转换的代码和仿真结果_第1页
verilog实现串并并串转换的代码和仿真结果_第2页
verilog实现串并并串转换的代码和仿真结果_第3页
verilog实现串并并串转换的代码和仿真结果_第4页
verilog实现串并并串转换的代码和仿真结果_第5页
已阅读5页,还剩10页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I题目串并互换电路的设计系(部)专业班姓名学号指导教师完成比例2011年12月I摘要本文主要讲述用VERILOG实现串并互换电路,在同步时钟的控制下,四位的并行数据和串行数据相互转换,通过一位的控制信号来控制该电路为串并或并串转换,最后由串并有效位来表示串并互换成功。关键词串转并并转串移位寄存器IIABSTRACTTHISPAPERDEALSWITHVERILOGREALIZESTRINGANDSWAPCIRCUIT,INSYNCHRONOUSCLOCKUNDERTHECONTROLOFFOURPARALLELDATAANDSERIALDATATRANSFORMATION,THROUGHACONTROLSIGNALSTOCONTROLTHECIRCUITFORTHESERIESANDORANDSTRINGOFCONVERSION,FINALLYBYSTRINGANDEFFECTIVETOSAYASTRINGANDSWAPSUCCESSKEYWORDSPARALLELTURNSTOSERIALSERIALTURNSTOPARALLELSHIFTREGISTERIII目录摘要IABSTRACTII1选题背景111本课题的意义12方案论证221串并并串选择的分析222串并并串转换是否成功的标志位及表达23、程序的具体实现及仿真结果34、本人完成部分及对该部分的理解95结论或总结9致谢10参考文献1011选题背景11本课题的意义串并转换电路是串行通信系统中重要的组成部分。在FPGA平台上实现满足特定数据格式及时钟要求的串并转换电路,也已成为考查设计人员对数字电路理解的主要设计之一。VERILOG描述语言具有良好的可移植性和通用性,其设计的实现与芯片的工艺无关。在目前的专用集成电路和FPGA设计中,使用VERILOGHDL进行设计的描述,已成为主流的设计方法。本文基于VERILOGHDL完成串并转换电路的设计。对通用串并转换单元进行了分析与VERILOGHDL实现,进而给出了满足异步串行协议的串并转换模块的设计。设计采用自顶向下的设计方法,对于复杂的串并转换的实现使用有限状态机设计。本文设计的串并转换模块,可正确接收和发送异步串行数据格式,其性能满足串行通信的要求,可以集成于专用通信芯片中实现其功能。12串并转换的原理与方法从图中可以看出,并串转换的原理是先将四位数据暂存于一个四位寄存器器中,然后左移输出到一位输出端口,这里通过一个“移位”指令就可以了。从图中可以看出,串并转换的原理是新输入的位值成为原来数据的最低位,将原来数据的最高位舍去,这里可以通过一个简单的“连接符”就能做到。22方案论证21串并并串选择的分析在本程序中要实现两个功能,即串行到并行和并行到串行的分别转换。在一个模块中,需要使用一个标志位FLAG,FLAG为1时,实现串行到并行的转换,FLAG为0时,实现串行到并行的转换。需要把FLAG当做MODULE的一个输入端口,并在测试代码中表现出来。22串并并串转换是否成功的标志位及表达本程序中采用BIAOZHI作为标志,若变量BIAOZHI为1,则代表转换成功,为零代表转换失败。设计标志位的原因是本程序中,在串行输入时,当输入位数少于4,则无法实现串转并的功能。另外,在本程序中,采用了X来表示功能实现失败,即如果输入的串行数据少于四个,则在输出的四位数为X态。在并转串中,在最后一位串行输出实现时,BIAOZHI为1,否则为0,表示尚未完成输出。具体实现中,如果有输入,即SI|SI,则在EN(使能位)为1时让所存在触发器中的输入变量输出。但是如果SI输入的值少于四个,则输出四个X态。由于测试代码中EN在最后一个周期赋值为1,所以之前的输入并不能同步输出,而是锁存起来了。这样就实现了少于四位输出X状态的功能。具体实现如下源代码3测试代码3、程序的具体实现及仿真结果231程序代码及测试代码已标注本人完成部分,且赋较详细注释源代码MODULESPPSCLK,RST_N,EN,SI,PO,FLAG,LOAD,PI,SO,BIAOZHIINPUTCLKINPUTRST_NINPUTENINPUTSIINPUTLOADINPUTFLAGINPUT30PI4OUTPUTREGSOOUTPUTREG30POOUTPUTREGBIAOZHIREG30RALWAYSPOSEDGECLKIFFLAGBEGINIFRST_NBEGINR8H0ENDELSEBEGINRR,SIIFSI|SIBEGINPOENR4H0BIAOZHIEN1B11B0ENDELSEBEGINPO4HXXXXBIAOZHI1B0ENDENDENDELSEBEGIN/以下部分由本人完成/IFRST_N/完成并入串出功能BEGINR4H0/如果复位信号RST_N为低电平输出0000ENDELSEIFLOAD/如果LOAD信号为高电平,可以输入信号BEGINRPI/把输入值R数组ENDELSE/如果LOAD为低电平则完成输出功能BEGIN5RR,1BX/移位寄存器的实现,如果R输出到SO,则给R已经输/出了的位置为XIFR3|R3/判断R寄存器是否已经全部清空为XBEGINSOR3IFR2|R2/在R2没有输出之前BIAOZHI为0BIAOZHI1B0ELSE/当R3刚刚跳变的瞬间,BIAOZHI变为1BIAOZHI1B1ENDELSEBEGINSO1BX/没有信号输入时SO置为不定态BIAOZHI0/标志重新归零ENDENDENDENDMODULE/以上部分有本人完成/测试代码1TIMESCALE1NS/1NSINCLUDE“E/SPPS4/SPPSV“MODULESPPS_TBREGCLKREGRST_NREGENREGSIREGLOADREG30PIWIRE30POWIRESOREGFLAG/REGBIAOZHIINITIALBEGINFLAG1B1400FLAG1B06ENDINITIALBEGINEN1B0SI1B010/4B1010输入SI为1010该信号为合法输入SI1B120SI1B020SI1B120EN1B1/将EN信号此时赋为1,此时输出POSI1B020EN1B0SI1BXENDINITIALBEGINLOAD1B0PI4HXXXX400LOAD1B1PI4B110020LOAD1B0PI4HXXXX90LOAD1B1PI4HXXXXENDINITIALCLK1B0ALWAYS10CLKCLKINITIALBEGINRST_N1B057RST_N1B1ENDINITIALBEGINFSDBDUMPFILE“SPPSFSDB“FSDBDUMPVARS0,SPPS_TB100FINISHENDSPPSSPPS_0CLKCLK,RST_NRST_N,ENEN,SISI,POPO,FLAGFLAG,LOADLOAD,PIPI,SOSO/BIAOZHIBIAOZHI测试代码2将串行信号赋为非法状态INITIALBEGINEN1B0SI1B010/4B101X/只有连续的3位有效输入SI1B120SI1B020SI1B120EN1B1SI1BX20EN1B0SI1B0END8232仿真结果测试代码1注意SO为不定态,且BIAOZHI一直为0,表示没有成功实现功能。此时PI为1100,BIAOZHI在最后一个输出的时候变为1。当输出结束,SO变为不定态。串转并部分并转串部分/该部分由本人完成/测试代码2注意PO输出为1100,且在输出成功时BIAOZHI为1表示成功完成功能9此时PI输出为1100,此时串行输出量为1100,BIAOZHI为1,表示功能完成。串转并部分并转串部分同上。4、本人完成部分及对该部分的理解本人完成该程序的并转串部分。对该部分理解并转串主要实现并行到串行的转换,在LOAD为1时完成输入,在LOAD为0时完成输出。输入值PI赋给一个中间变量数组R,当输入结束的时候,利用移位寄存器(使用一个连接符完成),在R赋给输出量SO值的同时,再次利用移位寄存器,使R中被移出的量为不定态X,判断语句中首先判断R3位,如果R3不为X,则证明输出没有到最后一位,在判断语句中嵌套另一判断语句,当R2为X时代表下一步最后一位已经要输出,则此时令BIAOZHI为1,证明输出完毕。当R3也变为X时,则输出完毕,此时可以令BIAOZHI为0,实现BIAOZHI信号的复位。105结论或总结其实,用VERILOG实现并串串并的转换是很简单的。核心部分就是抓住了移位寄存器的特性。本程序涉及到两个功能,一个实现并串转换,一个实现串并转换,因此需要标志位FLAG来判断其功能。另外实践中需要判断是否输出完毕,因此需要加标志位(文中命名为BIAOZHI)来判断。本次程序的编写,让我熟悉了硬件语言的基本语法知识,在实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论