- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
任务3.1门级原语
任务3.2层次建模;任务3.1门级原语;任务3.1门级原语;简单的逻辑电路可以使用逻辑门来设计实现。
基本的逻辑门分为两类:与/或门类、缓冲/非门类。
(1)与/或门类。
与/或门类包括与门(and)、或门(or)、与非门(nand)、或非门(nor)、异或门(xor)、同或门(xnor)。与/或门类都具有一个标量输出端和多个标量输入端,门的端口列表中的第一个端口必定是输出端口,其他均为输入端口。当任意一个输入端口的值发生变化时,输出端口的值立即重新计算。
例如:;(2)缓冲/非门类。
缓冲/非门类包括缓冲器(buf)、非门(not)、带控制端的缓冲器/非门(bufif1、bufif0、notif1、notif0)。缓冲/非门类具有一个标量输入端和多个标量输出端,门的端口列表中的最后一个端口必定是输入端口,其他均为输出端口。
例如:;【例3-1】利用双输入端的nand门,编写自己的双输入端的与门(my_and)、或门(my_or)、非门(my_not)、异或门(my_xor)。
上述电路设计涉及的知识点有门级原语例化和多输出处理。
下面对这些知识点进行说明。;(1)门级原语例化。
在门级原语实例引用的时候,可以不指定具体的实例名,这一点给需要实例引用几百个甚至更多门的模块提供了方便。但对于初学者,建议在调用门级原语时给出实例名。在以上示例中,调用门级原语时均没有给出实例名。
在实际应用中,与非门和或非门更为普遍,这是因为由这两种门生成其他逻辑门容易实现。本例给出了使用与非门来设计其他基本逻辑门的方法。
(2)多输出处理。
例3-1中有4个输出y[0]~y[3],分别对应着与门、或门、非门、异或门。这4个输出均是独立的,在代码中分别进行了单独处理。在实践中,建议针对每个输出单独进行分析设计,这样做对于正确地实现电路逻辑是非常有效的。
例3-1的测试代码如例3-2所示。;【例3-2】门电路测试代码。
;任务3.2?层次建模;首先通过一个典型的实例来介绍层次建模的概念。
【例3-3】实现一个1位全加器。
使用QuartusⅡ软件综合的全加器的电路图如图
3-2所示。
由图3-2可见,全加器是由两个半加器和一个或门组成的。
双击图中的半加器,可以看出半加器又由与门、异或门和
???门构成,如图3-3所示。;上述电路设计涉及的知识点有层次建模、模块例化。
下面对这些知识点进行说明。
(1)层次建模。
模块是可以进行层次嵌套的,因此,可以将大型数字电路设计分割成不同的小模块来实现特定的功能,最后通过顶层模块调用子模块来实现整体功能。
在全加器模块内部调用了半加器模块和或门模块,而在半加器模块内部又调用了基本逻辑门原语。
在层次建模中,不管是顶层模块还是被调用模块内部,其实现方式都可以使用多种方式,包括数据流建模、行为建模、结构化建模、状态机建模等。例如,在例3-3中,或门模块内部使用了数据流建模,使用了连续赋值语句assign。;(2)模块例化。
在全加器模块中有两处调用了半加器:h_adderu0(ain,bin,d,e);?和h_adderu1(e,cin,f,sum);。每次调用均给出一个唯一的实例名,调用时端口列表名称不同。在Verilog设计中,模块调用时,可以按顺序将模块定义的端口与外部环境中的信号连接起来,这种方法称为按顺序连接。h_adderu0(ain,bin,d,e);?调用将ain、bin、d、e分别与模块定义中的端口a、b、co、so连接;h_adderu1(e,cin,f,sum);?调用将e、cin、f、sum分别与模块定义中的端口a、b、co、so连接。
全加器的仿真波形如图3-4所示。从仿真波形中可???看出,该设计完成了一位全加器的功能。;与仿真波形相应的测试代码如下:
【例3-4】1位全加器测试模块。
;(1)层次建模。
数字电路设计中有两种基本的设计方法:自底向上和自顶向下。在自顶向下设计方法中,首先定义顶层模块,随后将顶层模块分解为多个必要的子模块,然后进一步对各个子模块进行分解,直到达到无法进一步分解的底层功能块,如图3-5所示。
在自底向上设计方法中,首先对现有的功能块进行分析,然后使用这些模块来搭建规模大一些的功能块,如此继续,直到顶层模块,如图3-6所示。
在典型的设计中,这两种方法是混合使用的。为了说明层次建模的概念,下面结合全加器进行说明。
根据全加器的电路图,可以得出全加器的设计层次如图3-7所示。;使用自顶向下的方法进行设计,首先需要说明全加器的功能。在使用半加器和或门搭建顶层模块之后,进一步使用与门、异或门和非门来实现半加器。这样就可以将较大的功能块分解为较小的功能块,直到无法继续分解。对于例3-4,我们
您可能关注的文档
- 心理成长与发展 课件 第2章 成为可能的自己.pptx
- 心理成长与发展 课件 第1章 心理健康与成长.pptx
- 心理成长与发展 课件 第3章 探索友谊的世界.pptx
- 心理成长与发展 课件 第4章 体会世间的爱意.pptx
- 心理成长与发展 课件 第5章 做积极的学习者.pptx
- 心理成长与发展 课件 第6章 解析情绪方程式.pptx
- 心理成长与发展 课件 第7章 化解压力的艺术.pptx
- 心理成长与发展 课件 第8章 成为一个幸福的人.pptx
- 心理成长与发展 课件全套 (王亚楠)第1--8章 心理健康与成长 ---成为一个幸福的人.pptx
- Verilog HDL项目式教程 课件全套 (贺敬凯) 项目1--7 Verilog HDL综述 --- 简易CPU设计.pptx
- 人教部编版九年级下册语文精品授课课件 第三单元 11 送东阳马生序 (5).ppt
- 2025年山西省新高考综合改革适应性演练数学模拟试卷带解析及一套完整答案.docx
- 人教部编版九年级下册语文精品授课课件 第三单元 12 词四首 (6).ppt
- 2025年山西省新高考综合改革适应性演练数学模拟试卷带解析【模拟题】.docx
- 2025年山西省新高考综合改革适应性演练数学模拟试卷带解析及参考答案【精练】.docx
- 2025年山西省新高考综合改革适应性演练数学模拟试卷带解析【综合卷】.docx
- 云南财经大学论文格式及封面与封底.docx
- 2025年山西省新高考综合改革适应性演练数学模拟试卷带解析【最新】.docx
- 数字逻辑电路课程设计4B5B编码VHDL实现(含完整代码).docx
- 本科毕业论文(设计)材料装订规范要求内容.docx
文档评论(0)