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

VHDL语法简单总结

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

/ n6 H7 Y: v: z. D5 I8 c
VHDL语法简单总结
       一个VHDL程序代码包含实体(entity)、结构体(architecture)、配置(configuration)、程序包(package)、库(library)等。$ R. x8 e+ G/ U

' V. j* q) [: D: P. H
4 Z/ S! X  Z) j9 Z: w; N
一、        数据类型- N# x' G& |5 _# h6 m/ I8 z- w
1.用户自定义数据类型- b+ J) u* a# G! r
使用关键字TYPE,例如:9 n" ?& k% n! }! ?& {, W8 n8 D6 m& ^
TYPE my_integer IS RANGE -32 TO 32;6 Q/ d6 ]$ p# S, n9 {0 K
–用户自定义的整数类型的子集) F) J! k! t' z
TYPE student_grade IS RANGE 0 TO 100;7 g; d$ M. }2 N$ k6 c
–用户自定义的自然数类型的子集1 Q2 m6 a, Y' `3 {$ k1 E) q. ^
TYPE state IS (idle, forward, backward, stop);( {  S( N* w+ ^! b1 |! w
–枚举数据类型,常用于有限状态机的状态定义
  I8 N! y2 i; W
一般来说,枚举类型的数据自动按顺序依次编码。
1 g3 o) r" K/ ^* T0 U1 N" H
2.子类型
1 e. j: Q) J. i, d6 \
在原有已定义数据类型上加一些约束条件,可以定义该数据类型的子类型。VHDL不允许不同类型的数据直接进行操作运算,而某个数据类型的子类型则可以和原有类型数据直接进行操作运算。
  k; \( q1 p' I
子类型定义使用SUBTYPE关键字。* e& p' ]9 ~, C9 x+ {/ E& q
3.数组(ARRAY)
0 r  c  v! @( A: `
ARRAY是将相同数据类型的数据集合在一起形成的一种新的数据类型。
9 L: ]' m6 h: m, O+ N( ~- G
TYPE type_name IS ARRAY (specification) OF data_type;
, G$ ^% V- k) @
–定义新的数组类型语法结构
# a4 f, q1 G6 O$ I: `
SIGNAL signal_name: type_name [:= initial_value];
# s% t0 ?% B$ H( J7 z: l
–使用新的数组类型对SIGNAL,CONSTANT, VARIABLE进行声明
7 v3 ~2 B) ]8 \, J
例如:
9 M2 {. q5 h9 z( U7 [1 U: w% E
TYPE delay_lines IS ARRAY (L-2 DOWNTO 0) OF SIGNED (W_IN-1 DOWNTO 0);9 B/ L/ y/ D( g- J9 V
–滤波器输入延迟链类型定义! }" l! V, i2 h5 @3 p6 x
TYPE coeffs IS ARRAY (L-1 DOWNTO 0) OF SIGNED (W_COEF-1 DOWNTO 0);
6 _8 T4 y) C) ~$ g9 S: C
–滤波器系数类型定义
1 q2 x) x3 n* N" N$ a. {. l! O
游客,如果您要查看本帖隐藏内容请回复
7 @$ i0 _# p' x# u9 b
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 07:25 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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