数字逻辑与EDA 设计 个人整理复习资料.doc_第1页
数字逻辑与EDA 设计 个人整理复习资料.doc_第2页
数字逻辑与EDA 设计 个人整理复习资料.doc_第3页
数字逻辑与EDA 设计 个人整理复习资料.doc_第4页
数字逻辑与EDA 设计 个人整理复习资料.doc_第5页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章:数字逻辑基础 数码:表示基本数值大小所使用的不同数字符号。如十进制有10个数码:09; 基数:数制中使用的数码的个数。如十进制基数为10; 位权:数制中某位置上的数字所表示的数值大小。如十进制的435中,4所在位权是100,3的是10,5的是1; 非十进制转换成十进制方法:将非十进制数按位权展开后求和; 十进制数转换成非十进制数:整数部分:不断除以基数取余数,直到商为0,从下到上独取余数; 小数部分:不断乘以基数取整数,从上往下读取整数,直到满足精度 正数的补码与原码相同,负数的补码为其绝对值的原码按位取反,然后加1,即反码加1; 格雷码又称循环码,8421码各位的位权分别是8、4、2、1,余3码是由二进制码加3后形成的; 与非:Y=A*B;或非:Y=A+B;异或:Y=AB+AB;异或非:Y=AB+AB A+0=A ; A+1=1 ; A0=A ; A1=A ; A+A=1 ; AA=0 ; AA=1 ; A+BC = (A+B)(A+C) 德摩根公式:AB=A+B A+B=A*B 并项法 AB+AB=B 吸收法 A+AB=A 消因子法AB+A=A+B 消项法 AB+AC+BC=AB+AC 配项法 利用A+A=A、A+A=1、AB+AC+BC=AB+AC 进行配项进一步简化 公式法化简:把缺少的字母补上后消掉, 卡诺图适合表示6个以内的变量,为避免重复画圈,尽可能从只有较少合并方式的最小项圈起 形如F(A,B,C)= ABC+ABC+ABC+ABC+ABC 的表达式成为标准与或式,其主要特征是每一个乘积项都是最小项,即,标准与或式是最小项之和的表达式 N个变量有2n个最小项74HC002输入与非门:有4个与非门,每个与非门有2个输入端,1个输出端74HC022输入或非门74HC04非门74HC082输入与门74HC322输入或门74HC862输入异或门第二章:组合逻辑电路74HC1488-3编码器输入输出EII0I1I2I3I4I5I6I7A2A1A0GSEO1111110111111111111000000010010010100110100100111011010011111000100111111010100111111110010011111111110174HC1383-8译码器输入输出E1E2E3A0A1A2Y0Y1Y2Y3Y4Y5Y6Y7111111111111111111011111111001000011111110011001011111100101011011111001110111011110010011111011100110111111011001011111111010011111111111074HC4511集成数码显示译码器有三个控制输入端,分别是锁存使能输入端LE,空白输入控制端 BI,全亮测试控制端 LT输入输出LEBILTDCBAabCdefg字符011111118010000000X01100001111110001100010110000101100101101101201100111111001301101000110011401101011001011501101100001111601101111110000701110001111111801110011110011901110100000000无01110110000000无01111000000000无01111010000000无01111100000000无01111110000000无111无74HC1534-1数据选择器:E=0时,实现功能选择输入数据输入输出使能输出s1s0nI0nI1nI2nI3nEnY10000000010101000011011000010101110001110174HC854位比较器数据级联输入输出A3 -B3A2 -B2A1 -B1A0 -B0IABIA=BIABQA=BQAB3100A3 B2100A3 =B3A2 B1100A3 =B3A2 =B2A1 B0100A3 =B3A2 =B2A1 =B1A0 0,它将产生一个范围在(b1)到(b1)之间的随机数。这样,模拟过程在需要时可以为测试模块提供随机脉冲序列,如:reg7:0 ran_num;always #(140+($random %60) ran_num=$random %60这样ran_num的值在5959之间随机产生,且随机数产生的延时间隔在81159之间变化。4、编译指令以(反引号)开始的某些标识符是编译器指令。在Verilog 语言编译时,特定的编译器指令在整个编译过程中有效(编译过程可跨越多个文件),直到遇到其它的不同编译程序指令。1)define 和undefdefine指令用于文本替换,它很像C语言中的#define 指令,如:define MAX_BUS_SIZE 32reg MAX_BUS_SIZE - 1:0 AddReg;一旦define 指令被编译,其在整个编译过程中都有效。例如,通过另一个文件中的define指令,MAX_BUS_SIZE 能被多个文件使用。undef 指令取消前面定义的宏。如:undef MAX_BUS_SIZE 322)includeinclude 编译器指令用于嵌入内嵌文件的内容。文件既可以用相对路径名定义,也可以用全路径名定义, 例如:include . . / . . /primitives.v编译时,这一行由文件“././primitives.v” 的内容替代。3)timescale在Verilog HDL 模型中,所有时延都用单位时间表述。使用timescale编译器指令将时间单位与实际时间相关联。该指令用于定义时延的单位和时延精度。timescale编译器指令格式为:timescale time_unit / time_precisiontime_unit 和time_precision 由值1、10、和100以及单位s、ms、us、ns、ps和fs组成。例如:timescale 1ns/100ps表示时延单位为1ns, 时延精度为100ps。timescale 编译器指令在模块说明外部出现, 并且影响后面所有的时延值。5、值集合1)Verilog HDL有下列四种基本的值:1) 0:逻辑0或“假”2) 1:逻辑1或“真”3) x:未知4) z:高阻Verilog HDL中有三类常量:1) 整型;2) 实数型;3) 字符串型下划线符号(_)可以随意用在整数或实数中,它们就数量本身没有意义。它们能用来提高易读性;唯一的限制是下划线符号不能用作为首字符。2)基数表示法这种形式的整数格式为:size base valuesize 定义以位计的常量的位长base为o或O(表示八进制),b或B(表示二进制),d或D(表示十进制),h或H(表示十六进制)之一value是基于base的值的数字序列。值x和z以及十六进制中的a到f不区分大小写。下面是一些具体实例:5O37 5位八进制数4D2 4位十进制数4B1x_01 4位二进制数7Hx 7位x(扩展的x), 即xxxxxxx4hZ 4位z(扩展的z) , 即zzzz4d-4 非法:数值不能为负8h 2 A 在位长和字符之间,以及基数和数值之间允许出现空格3 b001 非法: 和基数b之间不允许出现空格(2+3)b10 非法:位长不能够为表达式如果定义的长度比为常量指定的长度长,通常在左边填0补位。但是如果数最左边一位为x或z,就相应地用x或z在左边补位。例如:10b10 左边添0占位, 000000001010bx0x1 左边添x占位,xxxxxxx0x1如果长度定义得更小,那么最左边的位相应地被截断。例如:3b1001_0011与3b011 相等。5H0FFF 与5H1F 相等。用8位ASCII值表示的字符可看作是无符号整数。因此字符串是8位ASCII值的序列。为存储字符串“INTERNAL ERROR”,变量需要8*14位。如:reg 1 : 8*14 Message; Message = INTERNAL ERROR6、数据类型Verilog HDL 有两大类数据类型。1) 线网类型。net type 表示Verilog结构化元件间的物理连线,如果没有驱动元件连接到线网,线网的缺省值为z。2) 寄存器类型。register type表示一个抽象的数据存储单元,它只能在always语句和initial语句中被赋值,并且它的值从一个赋值到另一个赋值被保存下来。寄存器类型的变量具有x 的缺省值。3)变量类型(1) reg寄存器类型寄存器数据类型reg是最常见的数据类型。reg类型使用保留字reg加以说明,形式如下:reg msb: lsb reg1, reg2, . . . regN;msb和lsb 定义了范围,并且均为常数值表达式。范围定义是可选的;如果没有定义范围,缺省值为1位寄存器。例如:reg 3:0 Sat; /Sat为4 位寄存器。reg Cnt; /1位寄存器。存储器是一个寄存器数组。存储器使用如下方式说明:reg msb: lsb memory1 upper1: lower1,memory2 upper2: lower2,. . . ;例如:reg 0:3 MyMem 0:63/MyMem为64个4位寄存器的数组。reg Bog 1:5/Bog为5个1位寄存器的数组。存储器赋值不能在一条赋值语句中完成,但是寄存器可以。(2)Integer寄存器类型整数寄存器包含整数值。整数寄存器可以作为普通寄存器使用,典型应用为高层次行为建模。使用整数型说明形式如下:integer integer1, integer2,. . . intergerN msb:1sb ;msb和lsb是定义整数数组界限的常量表达式,数组界限的定义是可选的。注意容许无位界限的情况。一个整数最少容纳32位。例:integer A, B, C; /三个整数型寄存器。integer Hist 3:6; /一组四个寄存器。(3)time类型time类型的寄存器用于存储和处理时间。time类型的寄存器使用下述方式加以说明。time time_id1, time_id2, . . . ,time_idN msb:1sb;(4)real和realtime类型实数寄存器(或实数时间寄存器)使用如下方式说明:/实数说明:real real_reg1, real_reg2, . . ., real_regN;/实数时间说明:realtime realtime_reg1, realtime_reg2, . . . ,realtime_regN;realtime与real类型完全相同。例如:real Swing, Top;realtime CurrTime;real说明的变量的缺省值为0。不允许对real声明值域、位界限或字节界限。当将值x和z赋予real类型寄存器时,这些值作0处理。(5)参数参数是一个常量。参数经常用于定义时延和变量的宽度。使用参数说明的参数只被赋值一次。参数说明形式如下:parameter param1 = const_expr1, param2 = const_expr2, . . . ,paramN = const_exprN7、操作数位选:从向量中抽取特定的值。部分位选:从向量中选择连续的若干位,如:reg0:3pa;pa=4b1010;X=pa3;/结果:1b0Y=pa0:2;/结果:3b101Z=pa5;/结果:超出范围,返回值为x8、操作符特别注意点:*指数幂:a=2*4即2的4次幂=全等&逻辑与|逻辑或取反&按位与:110&101结果为100|按位或按位异或按位异或非(同或)&缩减与:&b10的结果是0逻辑左移:4b1100逻辑右移:空位补0算术左移:5sb11001算术右移:5sb110012结果为11110连接:1b1,1b0结果是2b10复制:31b1结果是3b1119、表达式操作符和操作数连接起来的符合语法规则的式子Cout=(pa+pb+0)8; /因为有0,表达式求值时将按照整数位宽进行计算计算1)位宽一般情况下是最大操作数的位宽,如reg0:7 pa,pb; reg 0:15sum; sum=pa+pb; /按16位算2)确定有无符号3)将每一位操作数的符号强制转换为表达式的符号类型4)将表达式中每一位操作数的位宽拓展成表达式的位宽,有符号位用符号位,无符号位用0拓展。10、连续赋值语句assign1)assign左端必须是一个标量或向量线网wire,而不能是向量或寄存器reg2)assign #10 sum = pa+pb /先延迟10个时间单位后后计算11、initial语句只执行一次,在0时刻开始执行12、always语句13、时间控制1)边沿触发事件控制,如(pa)/pa发生变化时执行(posedge pb) /pb发生正跳转时执行,即:0-x,z,1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论