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

VHDL学习

[复制链接]

该用户从未签到

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

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

该用户从未签到

2#
发表于 2019-3-13 14:42 | 只看该作者
回帖是美德
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-28 21:53 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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