数字电路的基本模块建模..docVIP

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

数字电路的FPGA实现 1组合逻辑 2 1.1三态门(总线) 2 1.2编码器 2 1.3译码器 2 1.4数据选择器 3 1.5数值比较器 3 2时序逻辑 4 2.1触发器 4 2.2寄存器 4 2.3计数器 5 3 ALU 6 3.1加法器 6 3.1.1级连加法器 6 3.1.2超前进位加法器 6 3.1.3查找表加法器 7 3.1.4流水线加法器 7 3.2乘法器 8 3.2.1基本乘法器(移位相加) 8 3.2.2查找表与逻辑树乘法器 8 3.2.3加法器树乘法器 8 3.2.4混合型乘法器 8 3.2.5时序乘法器 8 3.2.6阵列乘法器 8 3.2.7专用乘法器 9 3.3除法器 9 3.3.1阵列除法器 9 3.3.2时序除法器 9 拓展篇 开方与平方 载波发生器 延时器 滤波器(各种) 交织器 乘累加 51单片机 4小结 9 主要分别考虑不同实现方案的性能 1组合逻辑 我们在设计数字电路时,传统的方法是利用基本的通用芯片完成组合逻辑的搭建。例如我们需要搭建一个交通灯控制系统,我们可以选用编码器、译码器、比较器等配合搭建。但是当前的设计方法有所改变,我们通过分析设计要求分析出电路需要的逻辑功能。然后更具逻辑功能字节编写代码,无需根据“仅有”的几类芯片设计,设计的自由度增加,设计难度下降。单一的基本组合逻辑建模,没有太大的实用价值,但是基本组合逻辑的建模,依然可以给我们自己设计提供“灵感”。 1.1三态门(总线) 逻辑门(总线)的输出除有高、低电平两种状态外,还有第三种状态——高阻状态。 在模块化的FPGA设计中,顶层模块的信号总线经常需要三态门建模。三态门建模方法单一“:?”运算符可以建模。 1.2编码器 把若干位二进制数码0和1,按一定的规律进行编排,组成不同的代码,并且赋予每组代码以特定的含义,叫做编码。实现编码操作的电路称为编码器。 编码器主要包括:普通编码器和优先编码器 普通编码器的每个输入地位平等,无优先级之分; 优先编码器的每个输入地位不平等,有优先级之分。 1.3译码器 译码器是把有特定规律的二进制信号,按照译码规则还原为所需信息的器件。它的作用和编码器相反。 译码器主要包括:数值译码器、显示译码器、数据分配器 数值译码器完成的任务是把已经编码的信号还原为“独热码”。例如我们的二-十译码器就是把我们的每3bit的二进制位转换为0~9的十位输出。其中每一位代表一个十进制数。 显示译码器的主要任务,是把电路中的信号转换为现实器件可以识别的信号。例如7段式数码管,如果输入时BCD码是无法显示出数字的。所以我们要做相应的转换,显示译码器就是完成此类任务的。 数据分配器类似一个单刀单刀躲掷开关,将公共数据线上的信号分配到某根线上。他实质上也是一个译码器,只是输入是地址线而已。例如我们的内存在寻址是就需要这种组合逻辑。 1.4数据选择器 数据选择器的功能与数据分配器相反,它主要是从多路信号中选出需要的信号送到公共总线上,例如FPGA中的查找表中就需要此类组合逻辑。 1.5数值比较器 数值比较器就是比较数值大小的数字器件。1bit数值比较器很简单,但是多位的数值比较器有一定的复杂度所以可以分为串联扩展和并联扩展。 具体分析参看康华光数电教材。 2时序逻辑 本部分的时序逻辑为简单的时序逻辑,是很基础的部分,没有实用价值,只是为了练习建模的方法。在复杂的时序电路中我们一般都是采用状态机设计。其实,就算一个时序电路简单到一个D触发器我们也可以用状态机建模,状态机是可以建模任何时序电路的。我们之所以不用状态机建模所有时序电路,是因为蒂娜路如果太简单,用程式化的状态机建模程序规模过于臃肿。 2.1触发器 锁存器和触发器都是数字电路时序的基本电路,但是锁存器是电平触发的,触发器是边沿触发的。因为锁存器不是同步设计(没有时钟),所以当前的数字电路的设计基本上不适用锁存器(甚至是避免采用锁存器)。我们这里主要介绍触发器。 在基于FPGA的数字电路中我们所采用的触发器都是D触发器,而D触发器是可以转换为其他几种触发器的。下面介绍一下转换的方法; (1)从D型到JK型的转换 (2)从D型到T型的转换 (3)从D型到T′型的转换 图1 D触发器转换成其他功能的触发器 以上转换的方法是不必要的,因为基于FPGA数字电路的设计有D触发器就足够了,我们会建模D触发器也就行了。 2.2寄存器 寄存器主要包括:通用移位寄存器、桶形移位寄存器、循环移位寄存器、线性反馈移位寄存器。 通用移位寄存器可以直接由Verilog语言建模,它主要可以分为:串入串出、串入并出、并入串出、并入并出。其实电路中时钟转换的FIFO电路就是一个规模比较大的通用移位寄存器,只是它的存储规模比寄存器大(RAM)而已。 2.3计数器

您可能关注的文档

文档评论(0)

stzs + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档