- 1、本文档共114页,可阅读全部内容。
- 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,我们可以认为
您可能关注的文档
- Verilog HDL项目式教程 课件 项目1、2 Verilog HDL综述;数据流建模.pptx
- Verilog HDL项目式教程 课件 项目5--7 状态机建模;数字电路设计举例; 简易CPU设计.pptx
- 人教版数学2年级下册全册教学课件(2023年春季版).pptx
- 人教PEP5年级下册英语整册教学课件.pptx
- 外研版5年级上册英语全册教学课件(2021年11月修订).pptx
- 人教版9年级上册历史全册教学课件(2021年秋修订).pptx
- 冀教版英语6年级下册全册教学课件.pptx
- 青岛版(54制)科学4年级下册全册教学课件.pptx
- 教科版5年级上册科学全册课件及单元测试卷课件.pptx
- 人教PEP6年级上册英语全册教学课件(2021年秋修订).pptx
- 人教版英语5年级下册全册教学课件.pptx
- 部编人教版2年级上册语文全册教学课件含单元及专项复习.pptx
- 人教版8年级上册英语全册教学课件(2021年8月修订).pptx
- 教科版(2017版)6年级上册科学全册课件+课时练.pptx
- 人教版PEP版6年级英语下册全册教学课件(2022年12月修订).pptx
- 部编人教版2年级下册语文全册课件(2021年春修订).pptx
- 人教版数学6年级下册全册教学课件(2023年教材).pptx
- 湘少版5年级下册英语全册教学课件(2021年春修订).pptx
- 人教PEP4年级下册英语全册教学课件 [2}.pptx
- 人教版6年级上册英语全册教学课件.pptx
最近下载
- 专题03:非连续文本之评价建议-备战2025年中考语文一轮复习现代文阅读讲与练(江苏通用)(解析版).docx
- 2025新课标人教版英语三年级下册《Unit 6 Numbers in life》大单元教学设计.docx
- 学校物业服务方案投标文件(技术方案).doc
- 2024-2025学年初中化学九年级上册(2024)沪教版(全国)(2024)教学设计合集.docx
- 流体力学课后习题答案.pdf VIP
- 基于PLC的全自动洗衣机控制系统11..doc
- 低压配电柜施工组织方案.doc
- 微观经济学 (19)微观经济学.pdf
- 射频治疗仪-风险管理报告(GB 9706.1-2020).docx VIP
- 红楼梦人物服饰分析PPT.ppt
文档评论(0)