找回密码
 注册
关于网站域名变更的通知
查看: 292|回复: 1
打印 上一主题 下一主题

VHDL语法简单总结

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-11-1 09:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

+ p7 }/ |% ^- j: y; I
VHDL语法简单总结
       一个VHDL程序代码包含实体(entity)、结构体(architecture)、配置(configuration)、程序包(package)、库(library)等。0 L6 M- ?1 D# n
1 J: U* Q2 j9 n$ n; v
8 s) ^4 i3 v" X1 {( J- O0 B! w# e
一、        数据类型1 t) a% w- U% L, h) _# c6 x
1.用户自定义数据类型
& K! ?+ _' s+ G
使用关键字TYPE,例如:9 W2 K9 d# g3 \+ y; {
TYPE my_integer IS RANGE -32 TO 32;1 I) a4 V6 A; P
–用户自定义的整数类型的子集# [. |; H4 C( _4 d: K
TYPE student_grade IS RANGE 0 TO 100;
* f; m$ S4 Q; C, |7 E2 S7 b
–用户自定义的自然数类型的子集7 [% _- x, Y/ s( K/ D* }9 J  M
TYPE state IS (idle, forward, backward, stop);
5 r; V6 m3 @; v7 }) Q
–枚举数据类型,常用于有限状态机的状态定义
6 O7 A5 G( s5 U/ u0 O
一般来说,枚举类型的数据自动按顺序依次编码。
$ p7 ?. b4 ?) c9 i! K
2.子类型/ w8 i2 E8 g% l9 [' `6 b4 j0 }- c
在原有已定义数据类型上加一些约束条件,可以定义该数据类型的子类型。VHDL不允许不同类型的数据直接进行操作运算,而某个数据类型的子类型则可以和原有类型数据直接进行操作运算。9 d( X4 L  B- G" |0 P! N! _
子类型定义使用SUBTYPE关键字。
1 O: F$ |$ e% [8 q0 A/ z0 B' H
3.数组(ARRAY)( A% C* @& y+ Z. f1 O( I' [
ARRAY是将相同数据类型的数据集合在一起形成的一种新的数据类型。
$ z( ]" B  A9 L! _3 V7 {/ h- Y- S
TYPE type_name IS ARRAY (specification) OF data_type;
* x* U. x" \) D( S4 L
–定义新的数组类型语法结构
5 @% k  f) o8 u
SIGNAL signal_name: type_name [:= initial_value];
: V- ]$ a2 H! a1 v
–使用新的数组类型对SIGNAL,CONSTANT, VARIABLE进行声明+ ^( E) Q2 B. Y5 m% d* E* q
例如:
9 R5 [1 l, e0 T
TYPE delay_lines IS ARRAY (L-2 DOWNTO 0) OF SIGNED (W_IN-1 DOWNTO 0);5 ~2 ?5 w8 _  [5 a) o1 h& V
–滤波器输入延迟链类型定义+ i6 |) l% G  {: I$ D. j$ c
TYPE coeffs IS ARRAY (L-1 DOWNTO 0) OF SIGNED (W_COEF-1 DOWNTO 0);* ]- X' L, n9 _% S
–滤波器系数类型定义8 T7 v$ Y; I! ]- B
游客,如果您要查看本帖隐藏内容请回复
( V2 V5 o, N5 [! C' z  [. @) d9 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-23 02:47 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表