|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
VHDL学习
4 Y, s$ F/ s$ I; b, @' O: H1 D, m4 {" \
LIBRARY IEEE; 6 }: ?9 G9 E" w# Z! Z) l2 r
USE IEEE.STD_LOGIC_1164.ALL; --最基本 包含数据类型及函数
! \& N7 r( A2 \4 _( t0 A3 ^USE IEEE.STD_LOGIC_UNSIGNED.ALL; --定义无符号的算术运算$ i& s' n- Q7 K3 j
USE IEEE.STD_LOGIC_ARITH.ALL; --定义有,无符号的算术运算- w% X+ c9 Z. Y: `& R) O% _
/ O ^: v- Q- m
ENTITY CNT10 IS --说明类属,端口,实体声明及语句9 O |& V" [; F) h
PORT( CLK,RST,EN : IN STD_LOGIC; --端口类型IN,OUT,BUFFER,INOUT,LINGKAGE ' h- `- w U6 T* u; H0 [
CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);% M( q6 {1 a9 F8 I8 q) K- y/ ^
COUT: OUT STD_LOGIC);--九值逻辑X,0,1,Z,W,L,H,-
) B0 m6 W5 K4 o. hEND CNT10;
0 L7 F/ n6 |" P! W5 n& w7 o' x3 a1 O8 {5 G
ARCHITECTURE BEHAV OF CNT10 IS --结构体说明
( K# w( x" i; F# [1 s, G2 X( kSIGNAL CQ1:STD_LOGIC_VECTOR(3 DOWNTO 0); --定义语句(全局使用)
9 g- O# U! \6 k6 \4 W6 yBEGIN! h$ ]8 T' V- s7 ]5 J+ m# J$ g% a
PROCESS(CLK,RST,EN)
+ p" P: U2 @8 m0 ]; N6 k! b --VARIABLE CQ1:STD_LOGIC_VECTOR(3 DOWNTO 0);--定义语句(仅此进程使用)5 G+ F9 r. s. o# W
BEGIN
* K0 x7 @; P7 ~ IF RST='1' THEN --异步复位
& u- z2 @ w& F) E8 V; Q$ d$ F --CQ1:=(OTHERS=>'0');--3 ]5 z" u" H8 b4 T$ e
CQ1<=(OTHERS=>'0');
9 z/ W/ T- u* U ELSIF CLK'EVENT AND CLK='1' THEN
" A- a; t9 T# d- o p& _ IF EN='1' THEN --允许计数,同步使能
! o4 t( I' }6 Y/ H. @4 x7 j" d IF CQ1<15 THEN
- b& \. N1 ~ t" z# U% w* T -- CQ1:=CQ1+1;--小于9计数,变量立即赋值无延时
P' W1 O$ F2 M' ^8 M- @ CQ1<=CQ1+1;--信号‘传输线’有延时,仿真可见
& S5 x" l) S7 \* A ELSE' H- c3 Y+ Z& d
--CQ1:=(OTHERS=>'0'); --大于9清零
2 s/ o; u1 p, G% s CQ1<=(OTHERS=>'0');
* a6 g) O7 k* F) S$ D5 a; a END IF;
0 K' {2 j8 E8 c9 ?$ \ END IF; ( G# H: j' R5 |/ t- y8 F
END IF;
+ i5 v: ?6 u" I/ w3 R IF CQ1=12 THEN --IF,ELSE使用与C语言相同* y F0 R3 O2 e z! k) m1 N$ `% w5 s% g8 N
COUT<='1';--进位) s5 Y8 N* E+ ? |$ O
ELSE
- {# @, p2 I" \$ B5 Y* B COUT<='0';
5 B" L# I: n/ V' Q: w! N: ~% P END IF;* S2 q1 ~7 T" I* I" U$ L+ R* R$ Y/ T
CQ<=CQ1;
0 z1 z9 ~+ } a$ U, _# M/ I/ Q3 ? END PROCESS; --可省略进程名# i2 c, G; E$ r, ]
END BEHAV; --可省略结构体名
- P m: N7 M( A$ D! T5 B; g, X--------------------- |
- ^: \* G o5 p6 @! W
0 T( s% p. ^; r9 W' i" y
/ W5 d0 q' [+ y- D8 t# N7 f
! w& f/ A3 `! k, Y0 h; X- M3 k; ]5 R& J+ B
|
|