verilog实现串并并串转换的代码和仿真结果.doc

verilog实现串并并串转换的代码和仿真结果.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

ryaoo + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档