Verilog_概述(精)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
Verilog HDL基础知识
数字表示:整数,实数 整数:+/- <位宽> ‘<基数符号> <数值>
<位宽>:指定整数的大小,以bit为单位。 <基数符号>:指定整数的基数,可以是b(binary)二 进制;o(octal)八进制;d(decimal)十进制;h (hex-adecimal)十六进制。 <数值>:指定整数的值。
13
EX2:
module \2:1MUX (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
6
Verilog HDL基础知识
基本词法定义
空白符 : 空格(space bar),TAB 键,return 键。 注释 (Comment) : “//”或“/*, */”。
7
/* 2-to-1 multiplexer; out = a when sel = 0;out = b when sel = 1; */ module MUX_2(out, a, b, sel); output out; input a, b, sel; //netlist not(sel_, sel); and(a1, a, sel_),(b1, b, sel); or(out, a1, a2); endmodule
module module_name(Port_list) 端口声明; 数据类型声明; 电路描述; endmodule 例:上升沿D触发器 module dff_pos(data,clk,q); input data,clk; //端口声明 output q; //端口声明 reg q; //数据类型声明 always @(posedge clk) q=data;//电路描述 endmodule
EX: reg [8*17] stringvar; initial begin stringvar = “This is a string!”; //共17个字符 end
11
Verilog HDL基础知识
取名规则
标识符必须是由a-z, A-Z, 0-9,_, $这些字符 組成,最長只能到1024个字符 开头必须由a-z, A-Z或下划线_开头 可以在标识符所取的非法名称前加上反斜杠 “\”,并在名称结尾加上空白键,这样就可 以用任何可印出的ASCII字符来当作标识符 的名称了;而反斜杠和空白键不会被视为标 识符的一部分
实数:
7.2 1.8e-4 9.5E6 //1.8*10-4
10
Verilog HDL基础知识
字符串与字符变量
字符串为两个双引号“ ”之间的字符,不许跨行 除普通的ASCII字符外,还支持通过前导的控制键 (\, %)引入一些特殊字符:如\n(换行),\t(TAB),
\\(代表\),\”(代表”),%%(代表%)
9
整数:
17 //位宽, 基数符号不写会采用default值 (32bit十进制) 8’d32 //8-bit十进制值为32 8’h12 8’h1A 8’b0001_1100 /* ”_”无特別意义,只是为了方便二进制数易读*/ 8’o37 32’bx // ”x”表unknown 4’b0??? // ”?”表High impedance
Verilog HDL与电子设计自动化
讲课:叶以正 李晓明 哈尔滨工业大学微电子中心
1
硬件描述语言
概念:为了描述硬件电路而专门设计的 一种语言。如VHDL、Verilog HDL等 抽象层次
系统级:C等高级语言描述 行为级:模块的功能描述 RTL级:寄存器与组合电路的合成 逻辑门级:基本逻辑门的组合 开关级:晶体管开关的组合
12
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
4
Verilog HDL 概述
Verilog HDL的特点
Verilog框架结构 行为级描述和结构级描述(全加器为例) 开关级描述 测试系统组成 完整的测试文件
5
Verilog框架结构
※Verilog HDL是由module模块组成,模块定义关键词 module 开始,到关键词 endmodule结束,每条Verilog语句以分号 “;”作为结束(块语句、编译向导、endmodule等除外)。
2ห้องสมุดไป่ตู้
Verilog HDL简介
Verilog是在C语言的基础上发展起来的一 种硬件描述语言 由Gateway Automation 于1983年首创, 并于1995年成为IEEE标准,即IEEE standard 1364。
3
Verilog HDL的特点
支持不同抽象层次的精确描述以及混合模拟,如 行为级、 RTL级、开关级等 设计、测试、模拟所用的语法都相同 较高层次的描述与具体工艺无关 提供了类似C语言的高级程序语句,如if-else, case,loop等 提供了算术、逻辑、位操作等运算符 包含完整的组合逻辑元件,如and、or、xor等, 无需自行定义 支持元件门级延时和元件门级驱动强度
14
Verilog HDL基础知识
关键词keywords
是指一些Verilog语言内部已经使用的词,主要是用 来定义语言的架构,并且所有的keyword都是用小 写表示,用户应避免使用 module, endmodule input, output, inout
reg, integer, real
not, and, or, xor, nor begin, end
15
Verilog HDL基础知识
特殊字符: $,#,`
$:以$开头的标识符代表系统命令 $time:返回目前的仿真时间 $display:显示出信号的值 $stop:停止仿真
Verilog HDL基础知识
数字表示:整数,实数 整数:+/- <位宽> ‘<基数符号> <数值>
<位宽>:指定整数的大小,以bit为单位。 <基数符号>:指定整数的基数,可以是b(binary)二 进制;o(octal)八进制;d(decimal)十进制;h (hex-adecimal)十六进制。 <数值>:指定整数的值。
13
EX2:
module \2:1MUX (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
6
Verilog HDL基础知识
基本词法定义
空白符 : 空格(space bar),TAB 键,return 键。 注释 (Comment) : “//”或“/*, */”。
7
/* 2-to-1 multiplexer; out = a when sel = 0;out = b when sel = 1; */ module MUX_2(out, a, b, sel); output out; input a, b, sel; //netlist not(sel_, sel); and(a1, a, sel_),(b1, b, sel); or(out, a1, a2); endmodule
module module_name(Port_list) 端口声明; 数据类型声明; 电路描述; endmodule 例:上升沿D触发器 module dff_pos(data,clk,q); input data,clk; //端口声明 output q; //端口声明 reg q; //数据类型声明 always @(posedge clk) q=data;//电路描述 endmodule
EX: reg [8*17] stringvar; initial begin stringvar = “This is a string!”; //共17个字符 end
11
Verilog HDL基础知识
取名规则
标识符必须是由a-z, A-Z, 0-9,_, $这些字符 組成,最長只能到1024个字符 开头必须由a-z, A-Z或下划线_开头 可以在标识符所取的非法名称前加上反斜杠 “\”,并在名称结尾加上空白键,这样就可 以用任何可印出的ASCII字符来当作标识符 的名称了;而反斜杠和空白键不会被视为标 识符的一部分
实数:
7.2 1.8e-4 9.5E6 //1.8*10-4
10
Verilog HDL基础知识
字符串与字符变量
字符串为两个双引号“ ”之间的字符,不许跨行 除普通的ASCII字符外,还支持通过前导的控制键 (\, %)引入一些特殊字符:如\n(换行),\t(TAB),
\\(代表\),\”(代表”),%%(代表%)
9
整数:
17 //位宽, 基数符号不写会采用default值 (32bit十进制) 8’d32 //8-bit十进制值为32 8’h12 8’h1A 8’b0001_1100 /* ”_”无特別意义,只是为了方便二进制数易读*/ 8’o37 32’bx // ”x”表unknown 4’b0??? // ”?”表High impedance
Verilog HDL与电子设计自动化
讲课:叶以正 李晓明 哈尔滨工业大学微电子中心
1
硬件描述语言
概念:为了描述硬件电路而专门设计的 一种语言。如VHDL、Verilog HDL等 抽象层次
系统级:C等高级语言描述 行为级:模块的功能描述 RTL级:寄存器与组合电路的合成 逻辑门级:基本逻辑门的组合 开关级:晶体管开关的组合
12
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
4
Verilog HDL 概述
Verilog HDL的特点
Verilog框架结构 行为级描述和结构级描述(全加器为例) 开关级描述 测试系统组成 完整的测试文件
5
Verilog框架结构
※Verilog HDL是由module模块组成,模块定义关键词 module 开始,到关键词 endmodule结束,每条Verilog语句以分号 “;”作为结束(块语句、编译向导、endmodule等除外)。
2ห้องสมุดไป่ตู้
Verilog HDL简介
Verilog是在C语言的基础上发展起来的一 种硬件描述语言 由Gateway Automation 于1983年首创, 并于1995年成为IEEE标准,即IEEE standard 1364。
3
Verilog HDL的特点
支持不同抽象层次的精确描述以及混合模拟,如 行为级、 RTL级、开关级等 设计、测试、模拟所用的语法都相同 较高层次的描述与具体工艺无关 提供了类似C语言的高级程序语句,如if-else, case,loop等 提供了算术、逻辑、位操作等运算符 包含完整的组合逻辑元件,如and、or、xor等, 无需自行定义 支持元件门级延时和元件门级驱动强度
14
Verilog HDL基础知识
关键词keywords
是指一些Verilog语言内部已经使用的词,主要是用 来定义语言的架构,并且所有的keyword都是用小 写表示,用户应避免使用 module, endmodule input, output, inout
reg, integer, real
not, and, or, xor, nor begin, end
15
Verilog HDL基础知识
特殊字符: $,#,`
$:以$开头的标识符代表系统命令 $time:返回目前的仿真时间 $display:显示出信号的值 $stop:停止仿真