电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数字逻辑第2版教学作者武庆生第8章节2014课件

91页
  • 卖家[上传人]:E****
  • 文档编号:91046537
  • 上传时间:2019-06-21
  • 文档格式:PPT
  • 文档大小:610KB
  • / 91 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第八章 硬件描述语言Verilog HDL,8.1 概述 8.2 Verilog HDL基本语法 8.3 Verilog HDL的操作符 8.4 Verilog HDL的语句 8.5 基本逻辑门的Verilog HD 8.6 组合逻辑电路的Verilog HDL实现 8.7 时序逻辑电路的Verilog HDL实现,知识要点,1、Verilog HDL的概念,2、Verilog HDL基本语法,3、Verilog HDL的操作符,4、基本逻辑门电路的Verilog HDL实现,5、组合逻辑电路的Verilog HDL实现,6、时序逻辑电路的Verilog HDL实现,重点与难点,一、重点,3、组合逻辑电路的Verilog HDL实现,2、基本逻辑门的Verilog HDL实现,二、难点,2、用Verilog HDL设计时序逻辑电路,1、用Verilog HDL设计组合逻辑电路,4、时序逻辑电路的Verilog HDL实现,1、Verilog HDL基本语法,8.1 概述,Verilog HDL是一种硬件语言,最终是为了产生实际的硬件电路或对硬件电路进行仿真验证、时序分析和逻辑综合; 利

      2、用Verilog HDL编程时,要时刻牢记Verilog是硬件语言,要时刻将Verilog HDL语句与硬件电路对应起来; 电路在物理上是并行工作(只要电源接通,所有电路都同时工作),要求在Verilog HDL的module中,所有描述语句(包括连续赋值语句assign、行为语句块always/initial、模块实例化)都是并发执行的; 电路行为的先后顺序通过时钟节拍顺序来体现。,Verilog的主要功能,基本逻辑门:内置and、or、nand等 用户定义原语(UDP)创建的灵活性(组合逻辑、时序逻辑) 开关级基本结构模型:内置pmos、nmos等 端口到端口时延、路径时延、设计的时序检查 三种描述方式:行为描述、数据流、结构化 提供两类数据类型:线网类型、寄存器类型 能够描述多层次设计(结构描述),设计规模可大可小 人机对话方便(设计者与EDA工具间交互) 设计能在多个抽象级别上描述:开关级、门级、RTL级、算法级、系统级等 能够使用内置开关级原语对设计完整建模 可以创建测试激励Testbench(特殊型module) 在行为级描述中能运用:RTL、结构、算法 内置逻辑函数:如&

      3、(按位与)、|(按位或) 高级语言结构:if语句、case语句、循环语句 提供强有力的文件读写能力 可以显式地对并发和定时进行建模,ASIC 和FPGA设计师可用它来编写可综合的代码 描述系统的结构,做高层次的仿真 验证工程师编写各种层次的测试模块对具体电 路设计工程师所设计的模块进行全面细致的验证 库模型的设计:可以用于描述ASIC 和FPGA的基本单元(Cell)部件,也可以描述复杂的宏单元(Macro Cell) Verilog HDL 语言的描述能力能够通过使用编程语言接口( PLI )机制进一步扩展,8.2 Verilog HDL基本语法,一、5种抽象的级别,Verilog HDL既是一种行为描述的语言也是一种结构描述语言。,Verilog HDL模型可以是实际电路的不同级别的抽象,这些抽象的级别和它们所对应的模型类型共有以下5中:,1、系统级(System-Level):用高级语言结构实现设计模块的模型。,2、算法级(Algorithem-level):用高级语言结构实现设计算法的模型。,3、RTL级(Register-Transfer-Level):描述数据在寄存器之间流

      4、动和如何处理这些数据的模型。,4、门级(Gate-Level):描述逻辑门以及逻辑门之间连接的模型。,5、开关级(Switch-Level):描述器件中三极管和存储节点以及它们之间连接的模型。,二、Verilog HDL具有的功能,Verilog HDL是一种结构化和过程性的语言,其语法结构非常适合于算法级和RTL级的模型。,具有功能如下:,1、可描述顺序执行或并行执行的程序结构;,2、用延迟表达式或事件表达式来明确地控制过程的启动时间。,3、通过命名的事件来触发其他过程里的激活行为或停止行为。,4、提供了条件(如if_else,case等)循环程序结构;,5、提供了可带参数并且非零延续时间的任务(task)程序结构;,6、提供了可定义新的操作符的函数(function)结构;,7、提供了用于建立表达式的算术运算符、逻辑运算符、位运算符。,8、提供了一套完整的组合型原语(Primitive);,9、提供了双向通路和电阻器件的原语;,10、可建立MOS器件的电荷分享和电荷衰减动态模型。,8.2.1 数据类型及常量、变量,一、Verilog HDL中共有19种数据类型。,二、4个最基本的数

      5、据类型 integer型、parameter型、reg型、wire型。,三、其他的数据类型 large型、medium型、scalared型、time型、small型、tri型、trio型、tril型、triand型、trior型、trireg型、vectored型、wand型和wor型。,常量:,在程序运行过程中其值不能被改变的量称为常量。,一、数字,1、整数,在Verilog HDL中,整型常量(即整常数)有以下4种进制表示形式: (1)二进制整数(b或B); (2)十进制整数(d或D); (3)十六进制整数(h或H); (4)八进制整数(o或O);,数字表达方式有以下3种:,(1) ,这是一种全面的描述方式。,(2)在 这种描述方式中,数字的位宽采用缺省位宽(这由具体的机器系统决定,但至少32位)。,(3)在 这种描述方式中,采用缺省进制(十进制)。,在表达式中,位宽指明了数字的精确位数。见下例:,8b10101100 /位宽为8的数的二进制表示,b表示二进制。 8ha2 /位宽为8的数的十六进制表示,h表示十六进制。,2、X和z值 X代表不定值,z代表高阻值。Z还有一种表达方式

      6、可以写作“?”。,3、负数,一个数字可以被定义为负数,只需在位宽表达式前加一个减号,减号必须写在数字定义表达式的最前面。注意,减号不可以放在位宽和进制之间,也不可以放在进制和具体的数之间。如: -8d5 /这个表达式代表5的补数(用8位二进制表示); 8d-5 /非法格式,4、下画线(underscore_),下画线可以用来分隔数的表达以提高程序可读性,但不可以用在位宽和进制处,只能用在具体的数字之间。如: 16b1010_1011_1111_1010 /合法 8b_0011_1010 /非法,当常数不说明位数时,默认值为32位,每个字母用8位的ASCII值表示。,二、参数(parameter)型,在Verilog HDL中用parameter来定义常量,即用parameter来定义一个标识符代表,一个常量,称为符号常量,即标识符形式的常量。主要是提高程序的可读性和可维护性,格式如下:,parameter 参数名1=表达式,参数名2=表达式,;,parameter是参数型数据的确认符。,例:在引用decode实例时,D1,D2的width将采用不同的值4和5,且D1的polarity将

      7、为0。可用本例中所用的方法来改变参数,即用#(4,0)向D1传递width=4,polarity=0,用#(5)向D2中传递width=5,polarity仍为1。,Module decode(A, F); parameter width=1, polarity=1; Endmodule,Module top; wire 3:0 A4; wire 4:0 A5; wire 15:0 F16; wire 31:0 F32; decode #(4,0) D1(A4,F16); decode #(5) D2(A5,F32); endmodule,变量,变量即在程序运行过程中其值可以改变的量。,网络数据类型表示结构实体(如门)之间的物理连接。网络类型的变量不能储存值,而且它必须受到驱动器(门或连续赋值语句,assign)的驱动。如果没有驱动器连接到网络类型的变量上,则该变量就是高阻的,即其值为z。常用的网络数据类型包括wire型和tri型。如果wire型和tri型变量没有定义逻辑强度(logicstrength),在多驱动源的情况下,逻辑值会发生冲突,从而产生不确定值。下表是wire型和tri

      8、型变量的真值表。,一、 wire型,wire型数据常用来表示以assign关键字指定的组合逻辑信号。Verilog程序模块中输入、输出信号类型缺省时自动定义为wire型。 wire型信号用作任何方程式的输入,也可以用作“assign”语句或实例元件的输出。其格式如下:,wire n-1:0 数据名1,数据名n; 或 wire n:1 数据名1,数据名n;,二、reg型,寄存器是数据存储单元的抽象。寄存器数据类型的关键字是reg。 Reg类型数据的缺省初始值为不定值x。,reg型数据常用来表示“always”模块内的指定信号,常代表触发器。通常在设计中要由“always”模块通过使用行为描述语句来表达逻辑关系。在“always”模块内赋值的每一个信号都必须定义成reg型。,reg型数据的格式: reg n-1:0 数据名1,.,数据名n; 或 reg n:1 数据名1,.,数据名n;,对于reg型数据,其赋值语句的作用就如同改变一组触发器的存储单元的值。在Verilog中有许多构造()来控制何时或是否执行这些赋值语句。这些控制构造用来描述硬件触发器的状态,如时钟上升沿,或用来描述判断逻辑

      9、,如多路选择器。,三、memory型,Verilog HDL通过对reg型变量建立数组来对存储器建模,可以描述RAM存储器、ROM存储器和reg文件。数组中的每一个单元通过一个数组索引进行寻址。在Verilog语言中没有多维数组存在。,memory型数据是通过扩展reg型数据的地址范围来生成的。格式如下: reg n-1:0 存储器名 m-1:0 ; 或 reg n:1 存储器名 m:1 ;,另外,在同一个数据类型声明语句里,可以同时定义存储器型数据和reg型数据。,如:parameter wordsize =16, memsize =256; reg wordsize-1:0 memmemsize-1:0, writereg, readreg;,如一个由n个1位寄存器构成的存储器组是不同于一个n位的寄存器的。如: reg n-1:0 rega;/一个n位的寄存器 reg mema n-1:0;/一个由n个1位寄存器构成的存储器组。,一个n位的寄存器可以在一条赋值语句里进行赋值,而一个完整的存储器则不行。如:,rega =0; /合法赋值语句 mema =0; /非法赋值语句,如果想对memory中的存储单元进行读写操作,必须指定该单元在存储器中的地址,如下: mema3 =0; /给memory中的第3个存储单元赋值为0。,8.3 Verilog的操作符,Verilog HDL语言的操作符范围很广,按功能可以分为以下几类:,(1)算术运算符(+、-、X、/、%);,(2)赋值运算符(=、=);,(3)关系运算符(、=、=);,(4)逻辑运算符(&、|、!);,(5)条件运算符(? :);,(6)位运算符(、|、&、);,(7)移位运算符();,(8)拼接运算符();,(9)其他。,操作符按操作数个数分为3种:,(1)单目运算符(unary operaor);,(2)二目运算符(binary operaor);,(3)三目运算符(terary operaor); 如下例:,clock = clock;/ 单目取反运算符 c = a | b /|是二目运算符 r = s ? t

      《数字逻辑第2版教学作者武庆生第8章节2014课件》由会员E****分享,可在线阅读,更多相关《数字逻辑第2版教学作者武庆生第8章节2014课件》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.