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

VHDL语法简单总结

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

: p( `2 o- K  }! z8 x9 l9 A
VHDL语法简单总结
       一个VHDL程序代码包含实体(entity)、结构体(architecture)、配置(configuration)、程序包(package)、库(library)等。
3 G+ w5 n9 V$ r% e! a9 x1 V1 A

" F0 |9 C2 B! Y& e

0 ?+ L/ v- @) O8 ~. k1 l; w, D
一、        数据类型
. O' u; b4 [  w! h7 }+ ^
1.用户自定义数据类型
( Y3 \! r$ t3 p3 i4 L/ M8 ^
使用关键字TYPE,例如:
& G* E& S- g+ w- \+ `
TYPE my_integer IS RANGE -32 TO 32;
% B% ]3 w$ x  J. Q: t) x% n
–用户自定义的整数类型的子集; M/ I$ _) u. S- x9 I- X: _
TYPE student_grade IS RANGE 0 TO 100;
  t. M1 B3 j2 r$ k' y
–用户自定义的自然数类型的子集* t- O$ w" w8 y7 B' L0 E
TYPE state IS (idle, forward, backward, stop);
2 A  ]4 s9 e# K) n. @
–枚举数据类型,常用于有限状态机的状态定义$ S" n+ `; Y; N1 Y' A3 b1 w
一般来说,枚举类型的数据自动按顺序依次编码。# U0 E# _# A9 [# d
2.子类型
2 @4 h+ @/ W* K$ l9 H4 o9 ?
在原有已定义数据类型上加一些约束条件,可以定义该数据类型的子类型。VHDL不允许不同类型的数据直接进行操作运算,而某个数据类型的子类型则可以和原有类型数据直接进行操作运算。
$ y( A$ W/ Q2 Q, m
子类型定义使用SUBTYPE关键字。
1 P: a8 f1 o9 f4 ?* T3 d
3.数组(ARRAY)/ N0 A/ d4 t6 r+ e- C1 I2 r
ARRAY是将相同数据类型的数据集合在一起形成的一种新的数据类型。
. W7 b& X$ |8 }' k9 o3 B
TYPE type_name IS ARRAY (specification) OF data_type;6 g- w0 x1 _! ~  i
–定义新的数组类型语法结构3 f- j; ]( W! ]) D6 C- |% \5 W
SIGNAL signal_name: type_name [:= initial_value];
; |) d2 E1 o' Y4 Q& l  V
–使用新的数组类型对SIGNAL,CONSTANT, VARIABLE进行声明
1 u- L+ S' z4 y; e3 j/ M
例如:
6 T  z- l# ]: J& S  Z
TYPE delay_lines IS ARRAY (L-2 DOWNTO 0) OF SIGNED (W_IN-1 DOWNTO 0);4 ?* }; V! I* |" X3 V. m& j' ?
–滤波器输入延迟链类型定义4 w) T" [; o4 _- S
TYPE coeffs IS ARRAY (L-1 DOWNTO 0) OF SIGNED (W_COEF-1 DOWNTO 0);4 W& e) F6 i9 Y% B7 f) w
–滤波器系数类型定义
# m; H& o6 r1 i( ^
游客,如果您要查看本帖隐藏内容请回复
( C* C& n. z3 S  V- i7 a) V
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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