电子设计自动化基础-1

上传人:宝路 文档编号:53024614 上传时间:2018-08-27 格式:PPT 页数:76 大小:404.46KB
返回 下载 相关 举报
电子设计自动化基础-1_第1页
第1页 / 共76页
电子设计自动化基础-1_第2页
第2页 / 共76页
电子设计自动化基础-1_第3页
第3页 / 共76页
电子设计自动化基础-1_第4页
第4页 / 共76页
电子设计自动化基础-1_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《电子设计自动化基础-1》由会员分享,可在线阅读,更多相关《电子设计自动化基础-1(76页珍藏版)》请在金锄头文库上搜索。

1、哈尔滨工业大学微电子中心,1,电子设计自动化基础1,哈尔滨工业大学微电子中心 李晓明,哈尔滨工业大学微电子中心,2,内容,Verilog HDL设计入门 Verilog HDL基础知识 词法 数据类型 运算符 参数、宏替换及模拟时间定标 Verilog行为描述,哈尔滨工业大学微电子中心,3,Verilog HDL设计入门,module基本结构Verilog HDL是由module模块组成,模块定义关键词 module开始,到关键词 endmodule结束,每条Verilog语句以分号“;”作为结束(块语句、编译向导、endmodule等除外)。module module_name(Port_l

2、ist);端口声明;数据类型声明;电路描述;endmodule,哈尔滨工业大学微电子中心,4,例:上升沿D触发器module dff_pos(data,clk,q);input data,clk; /端口声明output q; /端口声明reg q; /数据类型声明always (posedge clk) q=data;/电路描述endmodule,哈尔滨工业大学微电子中心,5,Verilog HDL设计入门,哈尔滨工业大学微电子中心,6,Verilog HDL设计入门,行为描述、结构描述 行为描述:描述行为及功能特性,如a+b 结构描述:将不同实体连接的方式(加法器) 层次式设计(Hiera

3、rchical Design) 顶层设计 底层设计,哈尔滨工业大学微电子中心,7,Verilog HDL基础知识,基本词法定义 空白符 : 空格(space bar),TAB 键,return键 起到分隔符的作用。 注释 (Comment) : “/”或“/*, */”。 注释的重要性 便于理解及修改 便于重用(reuse) 便于交接,哈尔滨工业大学微电子中心,8,哈尔滨工业大学微电子中心,9,Verilog HDL基础知识,数字表示:整数,实数 整数:+/- :指定整数的大小,以bit为单位。:指定整数的基数,可以是:b(binary)二进制;o(octal)八进制;d(decimal)十进

4、制;h(hexadecimal)十六进制;:指定整数的值。,哈尔滨工业大学微电子中心,10,整数:17 /位宽, 基数符号不写会采用default值 (32bit十进制)8d32 /8-bit十进制值为328h12 /8b000100108h1A8b0001_1100 /* ”_”无特別意义,只是为了方便二进制数易读*/8o3732bx / ”x”表unknown4b0? / ”?”表High impedance实数: 7.21.8e-4 /1.8*10-49.5E6.12 2. / illegal,MSB(Most Significant Bit),LSB(Least Significant

5、 Bit),哈尔滨工业大学微电子中心,11,Verilog HDL基础知识,字符串与字符变量 字符串为两个双引号“ ”之间的字符,不许跨行 除普通的ASCII字符外,还支持通过前导的控制键(, %)引入一些特殊字符:如n(换行),t(TAB),(代表),”(代表”),%(代表%) EX: reg 8*17:1 stringvar;initial beginstringvar = “This is a string!”; /共17个字符end,哈尔滨工业大学微电子中心,12,Verilog HDL基础知识,取名规则 标识符必须是由a-z, A-Z, 0-9,_, $这些字符组成,最长只能到102

6、4个字符 开头必须由a-z, A-Z或下划线_开头 可以在标识符所取的非法名称前加上反斜杠“”,并在名称结尾加上空白键,这样就可以用任何可印出的ASCII字符来当作标识符的名称了;而反斜杠和空白键不会被视为标识符的一部分,哈尔滨工业大学微电子中心,13,EX1:module MUX_2(out, a, b, sel);output out;input a, b, sel;not U0(sel_, sel);and U1(a1, a, sel_),U2(b1, b, sel);or U3(out, a1, a2);endmodule,哈尔滨工业大学微电子中心,14,EX2: module 2:1

7、MUX (out, a, b, sel);output out;input a, b, sel;not not1 (sel , sel);and and1 (a1, a sel ),and2 (b1, b, sel);or or1 (out, a1, a2); endmodule,哈尔滨工业大学微电子中心,15,Verilog HDL基础知识,关键词keywords 是指一些Verilog语言内部已经使用的词,主要是用来定义语言的架构,并且所有的keyword都是用小写表示,用户应避免使用module, endmoduleinput, output, inoutreg, integer, re

8、alnot, and, or, xor, norbegin, endalways, assignif, else, casefunction, task ,哈尔滨工业大学微电子中心,16,Verilog HDL基础知识,特殊字符: $,#, $:以$开头的标识符代表系统命令$time:返回目前的仿真时间$display:显示出信号的值$stop:停止仿真 # not #3 not1(sel_, sel);/ instance delay#5 a = 0;b = 0;cin = 1; / procedural statement delay define,include,timescale,哈尔

9、滨工业大学微电子中心,17, definedefine EX:define ADD 3h0define SUB 3h1case(opcode)ADD:SUB:. endcase include EX:include “user_define_task.v” timescaletimescale /,哈尔滨工业大学微电子中心,18,EX: timescale 10ns / 1ps module MUX2(out, a, b, sel);output out;input a, b, sel;not #3 not1(sel_, sel); / delay 3个10ns. endmoduleEX: t

10、imescale 10ns / 1ns module MUX2(out, a, b, sel);output out;input a, b, sel;not #2.63 not1(sel_, sel); /* 2.63*10ns = 26.3ns . 四舍五入26ns.delay 26ns */ endmodule,哈尔滨工业大学微电子中心,19,Verilog HDL基础知识,Verilog的四种逻辑状态:0:逻辑零、逻辑非、低电平1:逻辑1、逻辑真、高电平x或X:不定态z或Z:高阻态,哈尔滨工业大学微电子中心,20,Verilog HDL基础知识,数据类型:为了能对硬件电路中的信号连线和寄

11、存器等物理量进行描述,引入特定数据类型 连线类(net):反映硬件电路的物理连接特性的变量 寄存器类(register):具有数据存储特性的变量,哈尔滨工业大学微电子中心,21,Verilog HDL基础知识,连线型与寄存器型区别: 连线型: 驱动方式(赋值方式):1.连接到一个门或模块的输出端;2.用assign赋值 电荷保持作用:没有电荷保持作用(trireg除外),未被驱动时将处于高阻态( trireg 为不定态) 对应硬件:物理信号连接 寄存器型 驱动方式(赋值方式) :通过过程赋值语句赋值 电荷保持作用:在下一次赋值之前保持不变 对应硬件:触发器、锁存器、组合逻辑,哈尔滨工业大学微电

12、子中心,22,Verilog HDL基础知识,连线类,哈尔滨工业大学微电子中心,23,wire out;/ tri out;,if en = 1, out = i; if en = 0, out = high impedance;,trireg out;/具有电荷保持作用的连线,if en = 1, out = i; if en = 0, out = its last value; 可用来表示DRAM单元,哈尔滨工业大学微电子中心,24,tri0 out;,if en = 1, out = i; if en = 0, out = 0;,tri1 out;,if en = 1, out = i;

13、 if en = 0, out = 1;,哈尔滨工业大学微电子中心,25,两个 cell 的 output 相连接时:,哈尔滨工业大学微电子中心,26,Verilog HDL基础知识,连线型变量声明:*; EX: wire net1;wand net2;tri 15:0 bus_in;wand 0:31 bus_a, bus_b; 当沒指定 net 是何种 type 时,Verilog 会以 default 值来设定,default 为一位的 wire型,哈尔滨工业大学微电子中心,27,Verilog HDL基础知识,寄存器类,哈尔滨工业大学微电子中心,28,Verilog HDL基础知识,寄

14、存器类变量声明:*; EX: reg a; reg 7:0 a; reg 31:0 a, b; reg 0:7 b;,哈尔滨工业大学微电子中心,29,在使用数据类型时要注意下列几点: (1)在电路外部一个 input port 可以用 net 或 reg 来驱动,而进到电路内部这个 input port 只能是net类型。 (2)在电路内部一个 output port 可以为 net 或 register 类型,而在电路外部output port 只能是 net类型。 (3)无论在电路内外,一个 inout port只能是 net 类型。,哈尔滨工业大学微电子中心,30,示意图,net,net

15、,net,net,input port,output port,reg or net,reg or net,inout port,哈尔滨工业大学微电子中心,31,Verilog HDL基础知识,标量与矢量 标量:只有一位的连线或寄存器类型 矢量:多于一位的连线或寄存器类型 存储器定义 EX: reg7:0 memory255:0; /字长8bit,256byte容量 reg mem255:0; /字长1bit,256bit容量 wire data; memory7 = 8hff; /只能按地址赋值 data = mem0;,哈尔滨工业大学微电子中心,32,Verilog HDL的运算符,哈尔滨

16、工业大学微电子中心,33,Verilog HDL基础知识,算术运算符 , , *:加法器,减法器,乘法器 / , %:除法器 /:整数除法舍弃小数 %:取模运算取余数,符号为第一个操作数的符号 如:-10 % 3= -1; 10 % (-3)= 1 如果操作数里包含x,则结果为不定态,哈尔滨工业大学微电子中心,34,Verilog HDL基础知识,位运算符:按位进行运算,结果的位数不变 : 按位取反反相器 典型应用:时钟信号发生 reg clock; initial clock = 0; always #10 clock = clock; reg7:0 data; wire7:0 dout; assign dout = data; /8个反相器,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号