硬件描述语言介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两种表达方法
简单的十进制数. 10,9,156.
<位宽(可选)> <'进制><0-9 a f()>
!
必须在进制符号前加“'”号,并且“'”号和进制 符号间不能存在空格
进制符号:b或B(二进制),d或D(十进制),h 或H(十六进制),o或O(八进制)
659
A
'h 837
a
数字与进制之间可以有空格
5'D 3
数字电路中,x表示不定值,z表示高阻态。可 在十六进制,八进制和二进制中使用x和z,十 六进制中一个x表示有四位都是x,八进制中一 个x表示三位都是x,二进制中则表示一位是x。 z用法同理。
32
10=32'd10=32'b1010 1=32'd1=32'b1
: 缺省语句;
Mux0
s el[1..0]
SEL[1..0]
in3
in2
OUT
out
DATA[3..0]
in1
in0
MUX
4选1数据选择器实例之二
4_1(0123); ; 0123; [1:0] ; ;
@(0 1 2 3 )
(2'b00) 0; (2'b01) 1; (2'b10) 2; (2'b11) 3;
21 (y, a, b, s); a, b, s; y; y; @( s a b)
(! s) y = a; y = b;
a mux 21 y
b
s
在行为级模型中,逻辑功能描述采用高级语言结构,如@, , 。
逻辑运算符
(与)、 (或)、 ! (非) 与逻辑优先级别高于或逻辑,但都低于关
系和等式运算符。 ——1(真)、0(假) x(不确定值)。
2选1数据选择器及仿真研究
21 (); ; s; y; y = (0)? a : b;
1. 语句 2. 表达式1? 表达式2: 表达式3
s
b
0
y
a
1
y~0
数据流描述
21 (); ; s; y; ; d = a & (); e = b & s; y = d | e;
1 2
&0 1 x z 00000 101xx x0xxx z0xxx
输延时。
21(, a, b, ); a, b, ; ;
u1 (, ); #1 u2 (, a, ); #1 u3 (, b, );
#2 u4 (, , );
4选1数据选择器实例之一
4_1(0123); ; 0123; [1:0] ; ; @(0 1 2 3 ) () 2'b00: 0; 2'b01: 1; 2'b10: 2; 2'b11: 3; :;
当实际数据位数小于定义的位宽时,如果是 无符号数,则在左边补零,如果无符号数最 左边是“x”,则在左边补“x”,如果无符号
在表示长数据时还可以用下划线“_”进行分割 以增加程序的可读性,
16 ‘b 1001_0110_1111 8’1110_1101
语句的语法结构
(表达式) 选项值1: 语句1; 选项值2: 语句2; 选项值3: 语句3; …
() ;
0; ;
缺省项问题
有缺省项情况
always 0~0 a
b
00
c
y
1
rega
4(y, a, b, c);
a, b, c;
y;
y, ;
@(a b c)
()
; 缺省项省略
;
rega
always 0~0
PRE
D
a = b c; b = a c; a < b -1
(! ) (a<1)()()
( 0)
结构型描述
结构级适合开发小规模元件,如和的单元 内部带有描述基本逻辑功能的基本单元(),如门。 综合产生的结果网表通常是结构级的。用户可以用结构级描述
简单的组合或时序逻辑。 下面是的结构级描述,采用基本单元(门)描述。描述中含有传
(1) (0)
0
0
0
0
1
1
1
0
2
1
1
3
[7:0] ;
8位矢量网表
[0:40] ; 41位矢量寄存器
[-1:4] b; 6位矢量寄存器b
[0]
的第0位
[2:0]
的三位最低有效位。注
意不能用[0:2],应和定义中保持一致。
[0:1] 的两位最高有效位
数的表示方法
整型常量
,, .
第九章 硬件描述语言简介
的含义
与其他比较
—“告诉我你想要电路做什么,我给你提供能 实现这个功能的硬件电路”
—和 类似 、
—“告诉我你想要什么样的电路,我给你提供 这样的电路”
什么是 能够对数字逻辑电路的功能和结构进行
描述的一种高级编程语言 的设计开发语言 编写程序描述数字电路的功能与结构 描述电路的功能 描述电路的结构 表达具有并行性
语言的描述风格
语言的描述风格,或者说描述方式,又 可分为三类
行为型描述指对行为与功能进行描述, 它只描述行为特征,而没有涉及到用什 么样的时序逻辑电路来实现,因此是一 种使用高级语言的方法,具有很强的通 用性和有效性。
数据流型描述指通过连续赋值实现组合 逻辑功能的描述。
结构型描述指描述实体连接的结构方式, 它通常通过实例进行描述,将已定义的
2';
(表达式1) 语句1; (表达式2) 语句2; …
语句n;
(0)
(0)
1;
0;
语句1; 语句2; ...... 语句n;
(0)
(0)
1;
0;
3(y, a, b, c); a, b, c; y; y, ; @(a b c)
| 0 1 xz 0 0 1 xx 1 1 1 11 x x 1 xx z x 1 xx
~ 01 10 xx zx
^0 1xz 0 0 1xx 1 1 0xx xXxxx z X x xx
^~ 0 1 x z 010xx 101xx xxxxx z x x xx
行为级描述
的行为可以描述为:只要信号a或b或s发生变化,如果s为0则选择a输 出;否则选择b输出。
特点
符合C语言语法习惯 简单,容易上手,缩短培训时间,如果wenku.baidu.com数字电
子技术和C语言的基础,稍加学习即可编写能实现 的电路。 但也仅仅是语法上的相似而已
并发执行,多条语句可能同时执行,在硬件上, 实现不同功能的电路在同一时刻工作
具有时序的概念,硬件电路输入到输出存在延迟。
语法规则死,纠错仿真功能弱,错误信息不完整, 较C语言更难发现错误