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

VHDL语法简单总结

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

- D9 b( i! W: X4 E! S
VHDL语法简单总结
       一个VHDL程序代码包含实体(entity)、结构体(architecture)、配置(configuration)、程序包(package)、库(library)等。
( a$ I4 A( x+ K, G

: e6 P: V4 U; U; Q1 p7 p

# H& V  F" w) q0 }
一、        数据类型/ I7 d/ t- [" D' d
1.用户自定义数据类型# Y& \) R- V5 i8 @
使用关键字TYPE,例如:
" |' R5 ?* m0 W' G; Y
TYPE my_integer IS RANGE -32 TO 32;: s/ v6 O* z; [6 J$ U. M" M
–用户自定义的整数类型的子集. u) Q2 o8 u8 V( L( F
TYPE student_grade IS RANGE 0 TO 100;, U, {- ~. q$ j/ w' f, b
–用户自定义的自然数类型的子集  U, F+ ]8 e# I/ |
TYPE state IS (idle, forward, backward, stop);
0 L) N0 R& C8 f; L4 N5 ~4 S
–枚举数据类型,常用于有限状态机的状态定义$ W: w& s( l9 b1 O3 ^9 @1 Y" I
一般来说,枚举类型的数据自动按顺序依次编码。" e- P  R2 F0 V: R5 U
2.子类型, }0 s- V7 k( S: r4 V" y1 F
在原有已定义数据类型上加一些约束条件,可以定义该数据类型的子类型。VHDL不允许不同类型的数据直接进行操作运算,而某个数据类型的子类型则可以和原有类型数据直接进行操作运算。
# }5 g# m2 d9 c: o
子类型定义使用SUBTYPE关键字。, F% b0 ^$ ~, o7 L
3.数组(ARRAY)
; K8 h& u2 J7 Z! i
ARRAY是将相同数据类型的数据集合在一起形成的一种新的数据类型。: L5 a( y- k' U8 |- N
TYPE type_name IS ARRAY (specification) OF data_type;
3 x% }0 F; ]& Q+ t5 A3 a" y
–定义新的数组类型语法结构
/ a! S9 }$ b; [5 `0 V) W2 E- u8 ~0 T
SIGNAL signal_name: type_name [:= initial_value];8 z) E) t- }# _6 `) g. U/ I6 M
–使用新的数组类型对SIGNAL,CONSTANT, VARIABLE进行声明
0 H0 E; |8 X' s  w* C* X- D" v
例如:
5 ], o! z( W. @4 Y$ e
TYPE delay_lines IS ARRAY (L-2 DOWNTO 0) OF SIGNED (W_IN-1 DOWNTO 0);
0 v4 Z+ x( b/ x
–滤波器输入延迟链类型定义# }) G3 d& D3 ^8 m
TYPE coeffs IS ARRAY (L-1 DOWNTO 0) OF SIGNED (W_COEF-1 DOWNTO 0);+ D# O4 X6 H1 e/ }: n" d0 P
–滤波器系数类型定义( m9 C' _& N$ b/ ?; Y' [. n2 e
游客,如果您要查看本帖隐藏内容请回复

8 m0 Z, c: {! R0 U3 f; ]8 t3 \3 L
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-24 08:01 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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