版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章:数字逻辑基础 数码:表示基本数值大小所使用的不同数字符号。如十进制有10个数码:09; 基数:数制中使用的数码的个数。如十进制基数为10; 位权:数制中某位置上的数字所表示的数值大小。如十进制的435中,4所在位权是100,3的是10,5的是1; 非十进制转换成十进制方法:将非十进制数按位权展开后求和; 十进制数转换成非十进制数:整数部分:不断除以基数取余数,直到商为0,从下到上独取余数; 小数部分:不断乘以基数取整数,从上往下读取整数,直到满足精度 正数的补码与原码相同,负数的补码为其绝对值的原码按位取反,然后加1,即反码加1; 格雷码又称循环码,8421码各位的位权分别是8、4、2
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个以内的变量,为避免重复画圈,尽可
3、能从只有较少合并方式的最小项圈起 形如F(A,B,C)= ABC+ABC+ABC+ABC+ABC 的表达式成为标准与或式,其主要特征是每一个乘积项都是最小项,即,标准与或式是最小项之和的表达式 N个变量有2n个最小项74HC002输入与非门:有4个与非门,每个与非门有2个输入端,1个输出端74HC022输入或非门74HC04非门74HC082输入与门74HC322输入或门74HC862输入异或门第二章:组合逻辑电路74HC1488-3编码器输入输出EII0I1I2I3I4I5I6I7A2A1A0GSEO1111110111111111111000000010010010100110100100
4、111011010011111000100111111010100111111110010011111111110174HC1383-8译码器输入输出E1E2E3A0A1A2Y0Y1Y2Y3Y4Y5Y6Y7111111111111111111011111111001000011111110011001011111100101011011111001110111011110010011111011100110111111011001011111111010011111111111074HC4511集成数码显示译码器有三个控制输入端,分别是锁存使能输入端LE,空白输入控制端 BI,全亮测试控制端
5、LT输入输出LEBILTDCBAabCdefg字符011111118010000000X01100001111110001100010110000101100101101101201100111111001301101000110011401101011001011501101100001111601101111110000701110001111111801110011110011901110100000000无01110110000000无01111000000000无01111010000000无01111100000000无01111110000000无111无74HC1534-1数据
6、选择器:E=0时,实现功能选择输入数据输入输出使能输出s1s0nI0nI1nI2nI3nEnY10000000010101000011011000010101110001110174HC854位比较器数据级联输入输出A3 -B3A2 -B2A1 -B1A0 -B0IA>BIA=BIA<BQA>BQA=BQA<BA3 >B3100A3 <B3001A3 =B3A2 >B2100A3 =B3A2 <B2001A3 =B3A2 =B2A1 >B1100A3 =B3A2 =B2A1 <B1001A3 =B3A2 =B2A1 =B1A0 >
7、;B0100A3 =B3A2 =B2A1 =B1A0 <B0001A3 =B3A2 =B2A1 =B1A0 =B0000101A3 =B3A2 =B2A1 =B1A0 =B0001001A3 =B3A2 =B2A1 =B1A0 =B0100100A3 =B3A2 =B2A1 =B1A0 =B0101000A3 =B3A2 =B2A1 =B1A0 =B0101074HC2834位加法器(例)输入输出CinA3A2A1A0B3B2B1B0CoutS3S2S1S0例101010100110011例210111110010100例1:0+1010+1001=10011,即0+10+9=19例2:
8、1+0111+1100=10100,即1+7+12=20第三章:时序逻辑电路RS锁存器Qn+1=S+RQnRS=0 (约束条件)输入输出功能RSQnQn+10000保持00110101置101111000置01010110不允许111D锁存器Qn+1=D门控D锁存器 Qn+1=D,Clk=1D触发器Qn+1=D,Clk有效JK触发器Qn+1=JQn+KQn,Clk有效 具有保持(J=0,K=0),置1(J=1,K=0),置0(J=0,K=0),反转(J=1,K=1)功能RS触发器Qn+1=S+RQnRS=0 (约束条件) ,Clk有效T触发器 Qn+1=TQn+TQn=TQn,Clk有效 具有
9、保持(T=0),翻转(T=1)功能74HC74双D触发器输入输出功能nSDnRDnClknDnQnQ0110异步置11001异步置00011未定义11001同步置011110同步置174HC112双JK触发器 SD及RD是低电平有效的异步置1、置0端,具有异步置位和异步清零功能输入输出功能nSDnRDnClknJnKnQn+1nQn+10110异步置11001异步置00010未定义1100QnQn保持110101置0111010置11111QnQn翻转74HC194双向移位寄存器CP是时钟脉冲输入端,MR是异步清零端,S1S0为工作状态控制端,DSR是左移串行信号输入端,DSL是左移串行信号输
10、入端,输入输出功能清零状态控制CP串行输入并行输入Q0n+1Q1n+1Q2n+1Q3n+1MRS1S0DSRDSLD0D1D2D300000异步置0100Q0nQ1nQ2nQ3n保存10100Q0nQ1nQ2n串行右移输入10111Q0nQ1nQ2n1100Q1nQ2nQ3n0串行左移输入1101Q1nQ2nQ3n1111d0d1d2d3d0d1d2d3并行输入74HC1614位二进制同步计数器CP为时钟脉冲输入端,CET及CEP为两个使能控制端,PE为并行输入控制端输入输出功能MRCPCEPCETPED1Qin+1TC000复位10000并行输入1011*1111Count*计数101Qin
11、*保持101Qin0保持*:TC= CET*Q3n*Q2n*Q1n*Q0n第四章:Verilog HDL模块是Verilog 的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端数据流描述方式用数据流描述方式对一个设计建模的最基本的机制就是使用连续赋值语句。在连续赋值语句中,某个值被指派给线网变量。 连续赋值语句的语法为:assign delay LHS_net = RHS_ expression;行为描述方式设计的行为功能使用下述过程语句结构描述:1) initial语句:此语句只执行一次。2) always语句:此语句总是循环执行, 或者说此语句重复执行。只有寄存器类型数
12、据能够在这两种语句中被赋值。寄存器类型数据在被赋新值前保持原有值不变。所有的初始化语句和always语句在0时刻并发执行。门级描述方式例:not gate1 (net1,sel);and gate2 (net2,a,net1);and gate3 (net3,b,sel);or gate4 (out,net2,net3);标识符1、Verilog HDL中的标识符(identifier)可以是任意一组字母、数字、$符号和_(下划线)符号的组合,但标识符的第一个字符必须是字母或者下划线。另外,标识符是区分大小写的。2、转义标识符(escaped identifier )可以在一条标识符中包含任何
13、可打印字符。转义标识符以 (反斜线)符号开头,以空白结尾(空白可以是一个空格、一个制表字符或换行符)。在一条转义标识符中,反斜线和结束空格并不是转义标识符的一部分。也就是说,标识符OutGate 和标识符OutGate恒等。注意只有小写的关键词才是保留字。例如,标识符always(这是个关键词)与标识符ALWAYS(非关键词)是不同的。3、以$字符开始的标识符表示系统任务或系统函数。Verilog HDL提供了一系列的系统功能调用,任务型的功能调用称之为系统任务(system task),函数型的调用称之为系统函数(system function)。函数在0时刻执行,即不允许延迟,而任务可以带
14、有延迟。1)$display和$write调用格式为:$display(“格式控制输出和字符串”,输出变量名表);/输出结束后自动换行$write(“格式控制输出和字符串”,输出变量名表);例:$monitor(”time=%t,signal1=%b,signal2=%b”,$time,signal1,signal2);格式说明符输出格式%h 或 %H以十六进制的格式输出%d或 %D以十进制的格式输出%o或%O以八进制的格式输出%b或 %B以二进制的格式输出%c或 %C以ASCII字符形式输出%s或 %S以字符串方式输出%v或 %V输出连线型数据的驱动强度%t或 %T输出模拟系统所使用的时间单
15、位在信号的逻辑状态表示的时候,还有几个缩写形式,如下表所示:0逻辑01逻辑1x不定态z高阻态L逻辑0或者高阻态H逻辑1或者高阻态2)系统任务$monitor属于输出控制类,它的调用形式为:$monitor(“格式控制输出和字符串”,输出变量名表);$monitor则一旦被调用,就会随着对输出变量名表中的每一个变量检测,如果发现其中任何一个变量在模拟过程中发生了变化,就会按照$monitor中的格式,产生一次输出。3)$time,$stime和$realtime属于模拟时标类系统函数,对这两个函数调用,将返回从模拟程序开始执行到被调用时刻的时间,不同之处在于$time返回的是64位整数,$sti
16、me返回的是32位整数,而$realtime返回的是一个实型数。4)$finish和$stop这两个系统任务用于控制模拟进程。$finish的调用方式如下:$finish;$finish(n);它的作用就是中止仿真器的运行,结束仿真过程。可以带上一个参数,参数n只能取以下三个值:0:不输出任何信息。1:输出结束仿真的时间和模拟文件的位置。2:在1的基础上增加对CPU时间、机器内存占用情况等统计结果的输出。如果$finish不指明参数时,默认为1。$stop的调用方式相同和$finish相同, 参数也相同。不同的是,$stop的作用只相当于一个pause的暂停语句,模拟程序在执行到$stop的时
17、候,暂停下来,这是设计人员可以输入相应的命令,对模拟过程进行交互控制,比如用force/release语句,对某些信号实行强制性修改,在不退出仿真进程的前提下,进行模拟调试。例:#100 $stop; /100个单位时间后暂停5)$random这个函数产生一个随机数,他的调用格式为$random %b其中,b>0,它将产生一个范围在(b1)到(b1)之间的随机数。这样,模拟过程在需要时可以为测试模块提供随机脉冲序列,如:reg7:0 ran_num;always #(140+($random %60) ran_num=$random %60这样ran_num的值在5959之间随机产生,且
18、随机数产生的延时间隔在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 指令取消前面定义的
19、宏。如:undef MAX_BUS_SIZE 322)includeinclude 编译器指令用于嵌入内嵌文件的内容。文件既可以用相对路径名定义,也可以用全路径名定义, 例如:include " . . / . . /primitives.v"编译时,这一行由文件“././primitives.v” 的内容替代。3)timescale在Verilog HDL 模型中,所有时延都用单位时间表述。使用timescale编译器指令将时间单位与实际时间相关联。该指令用于定义时延的单位和时延精度。timescale编译器指令格式为:timescale time_unit / time
20、_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) 字符串型下划线符号(_)可以随意用在整数或实数中,它们就数量本身没有意义。它们能用来提高易读
21、性;唯一的限制是下划线符号不能用作为首字符。2)基数表示法这种形式的整数格式为:size 'base valuesize 定义以位计的常量的位长base为o或O(表示八进制),b或B(表示二进制),d或D(表示十进制),h或H(表示十六进制)之一value是基于base的值的数字序列。值x和z以及十六进制中的a到f不区分大小写。下面是一些具体实例:5'O37 5位八进制数4'D2 4位十进制数4'B1x_01 4位二进制数7'Hx 7位x(扩展的x), 即xxxxxxx4'hZ 4位z(扩展的z) , 即zzzz4'd-4 非法:数值不能
22、为负8'h 2 A 在位长和字符之间,以及基数和数值之间允许出现空格3' b001 非法: 和基数b之间不允许出现空格(2+3)'b10 非法:位长不能够为表达式如果定义的长度比为常量指定的长度长,通常在左边填0补位。但是如果数最左边一位为x或z,就相应地用x或z在左边补位。例如:10'b10 左边添0占位, 000000001010'bx0x1 左边添x占位,xxxxxxx0x1如果长度定义得更小,那么最左边的位相应地被截断。例如:3'b1001_0011与3'b011 相等。5'H0FFF 与5'H1F 相等。用8位A
23、SCII值表示的字符可看作是无符号整数。因此字符串是8位ASCII值的序列。为存储字符串“INTERNAL ERROR”,变量需要8*14位。如:reg 1 : 8*14 Message; Message = "INTERNAL ERROR"6、数据类型Verilog HDL 有两大类数据类型。1) 线网类型。net type 表示Verilog结构化元件间的物理连线,如果没有驱动元件连接到线网,线网的缺省值为z。2) 寄存器类型。register type表示一个抽象的数据存储单元,它只能在always语句和initial语句中被赋值,并且它的值从一个赋值到另一个赋值被保
24、存下来。寄存器类型的变量具有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,.
25、. . ;例如: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; /三个整
26、数型寄存器。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
27、与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
28、=4b1010;X=pa3;/结果:1b0Y=pa0:2;/结果:3b101Z=pa5;/结果:超出范围,返回值为x8、操作符特别注意点:*指数幂:a=2*4即2的4次幂=全等&&逻辑与|逻辑或取反&按位与:110&101结果为100|按位或按位异或按位异或非(同或)&缩减与:&b10的结果是0<<逻辑左移:4b1100<<1结果1000>>逻辑右移:空位补0<<<算术左移:5sb11001<<<2结果为00100>>>算术右移:5sb11001>>>2结果为11110连接:1b1,1b0结果是2b10复制:31b1结果是3b1119、表达式操作符和操作数连接起来的符合语法规则的式子Cout=(pa+pb+0)>>8; /因为有0,表达式求值时将按照整数位宽进行计算计算1)位宽一般情况下是最大操作数的位宽,如reg0:7 pa,pb; reg 0:15sum; su
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 热处理炉安全规章制度
- 常态化信访会议制度
- 理事会议事决策制度
- 阳光村务监督制度
- 项目联审监督制度
- 风险外部监督制度
- 餐饮管理日常监督制度
- 高工职称晋升条件及申请流程说明
- 家装顾问岗位招聘信息与经验
- 携程旅游平台的客户服务
- YC-T 591-2021 烟草行业实验室安全管理要求
- 压力性尿失禁护理查房
- 消耗品管理制度培训课件
- 货车运用维修-站修作业场(铁道车辆管理)
- 家用小型心电监测系统
- 低压配电系统
- 培训供应链审核for baiyun施耐德电气供应商质量管理
- WTO海关估价协议中文版
- GB/T 17626.10-2017电磁兼容试验和测量技术阻尼振荡磁场抗扰度试验
- 煤矿顶板事故现场处置方案
- 体育教学“一体化”模式的探究课件
评论
0/150
提交评论