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

VHDL学习

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
VHDL学习; F2 e" ?- K. Q0 ]1 [

# }3 t$ a3 }, O9 G" VLIBRARY  IEEE;                                            
% W6 C# K3 u0 h& n% CUSE IEEE.STD_LOGIC_1164.ALL;  --最基本 包含数据类型及函数
# F1 U) Z/ h* j8 h0 P  SUSE IEEE.STD_LOGIC_UNSIGNED.ALL;   --定义无符号的算术运算
$ g0 F! x: f; E- u5 b4 r( EUSE IEEE.STD_LOGIC_ARITH.ALL;     --定义有,无符号的算术运算
2 \9 m& l- j5 e% }) A# a8 ]* n) l8 `; c8 J8 R
ENTITY CNT10 IS           --说明类属,端口,实体声明及语句
3 O' I1 y1 g9 f$ G6 K  ], ?3 n/ FPORT( CLK,RST,EN : IN STD_LOGIC; --端口类型IN,OUT,BUFFER,INOUT,LINGKAGE
* n' L' ~9 m% l" P' i7 P3 |* {0 B     CQ:  OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
$ y* H% U1 S( m. j1 O7 s     COUT: OUT STD_LOGIC);--九值逻辑X,0,1,Z,W,L,H,-% ^1 U7 D8 A, T3 S2 |
END CNT10;, l9 T% @! T2 r; y% `
7 B, I5 B& C4 U9 Q  [$ v! @
ARCHITECTURE BEHAV OF CNT10 IS   --结构体说明   
5 `* R4 n% [; B/ H/ F# c3 I* RSIGNAL CQ1:STD_LOGIC_VECTOR(3 DOWNTO 0);  --定义语句(全局使用)) ?! e8 K9 H) b) w
BEGIN
" |' D* F" R8 @$ H1 {0 _0 t2 L+ y    PROCESS(CLK,RST,EN)1 R2 K" s/ A7 p# s
  --VARIABLE CQ1:STD_LOGIC_VECTOR(3 DOWNTO 0);--定义语句(仅此进程使用): F! F: K. k+ k! n. b9 S0 u
    BEGIN
+ ~5 R$ p5 k) O       IF RST='1' THEN --异步复位
; {/ t, |8 ^% V+ }+ S          --CQ1:=(OTHERS=>'0');--; y4 ~: i5 w7 U4 _$ j  M
            CQ1<=(OTHERS=>'0');
5 H  D; f, G2 @4 R       ELSIF CLK'EVENT AND CLK='1' THEN
; R" P' K/ I! N7 x: S1 M          IF EN='1' THEN    --允许计数,同步使能
! m0 {3 d, Y9 T5 b2 [- r              IF CQ1<15 THEN
9 G; O# j1 {& z/ A                  -- CQ1:=CQ1+1;--小于9计数,变量立即赋值无延时$ [% R! o, D9 O. f) L. u
                     CQ1<=CQ1+1;--信号‘传输线’有延时,仿真可见# A) O5 B' k! [8 W1 f
              ELSE
' f! n  t; g) v7 Y) }) e) w3 I+ D3 y                   --CQ1:=(OTHERS=>'0'); --大于9清零
. K/ h) H0 K/ n% D3 k6 f7 Z                     CQ1<=(OTHERS=>'0');
7 s# R, I" c8 o/ a7 X) B0 m              END IF;
9 N0 d$ f2 m% H9 y          END IF;        
9 Y1 q$ ?2 Z; c# M- U" t       END IF;" }# A2 ~. K0 N  _7 e0 _& i
       IF CQ1=12 THEN   --IF,ELSE使用与C语言相同5 D+ D% l; O/ v# L( W8 Z( s4 `
          COUT<='1';--进位
. a# m( S  K& h( @# W0 a       ELSE* J2 a1 y* B2 q& a; o: V8 I; c
          COUT<='0';
3 [/ h! z; t0 s4 J. ]) i; }) J       END IF;# O/ F0 c8 Y% E
       CQ<=CQ1;
5 p: Q% H8 y2 l; A9 t! q8 A    END PROCESS; --可省略进程名
4 J' J' X) k% ]4 h" S& N0 N4 CEND BEHAV;    --可省略结构体名
0 E" c* |5 v2 t% J6 ^4 k5 L3 D1 a8 m* x---------------------

+ x& x9 A+ s% H* |: s" B6 N1 c: {( c& S2 X* {
0 T. Y3 j9 s# X8 d" G

! P% ^+ \8 z/ q! C. a, S
3 ^7 h/ T& H# y6 X

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-28 13:21 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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