|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
VHDL入门学习-程序组成 ! f2 a% @& A2 s* e+ `5 ] `
1. VHDL程序的组成 一个完整的VHDL程序是以下五部分组成的: d& z: y8 Z% `/ I
N$ i6 F( M# A4 n5 d2. 库(LIBRARY):比较好理解,调用系统已有的库,WORK库就是用户当前编辑文件所在的文件夹, IEEE库:由IEEE(美国电子电机工程师学会)制定的标准库 LPM库
5 f" Z( r! Q, r. _% F5 E2 f4 T7 @# ^0 n/ s& s$ n% n+ A
library IEEE;
2 {4 E" [4 Y y% quse IEEE.STD_LOGIC_1164.ALL;
& v: G0 ?! m% {! ?0 ]- Duse IEEE.math_real.all;
1 A/ h7 | P2 Y9 }9 |/ p0 \8 m0 Zuse IEEE.std_logic_arith.all;
9 b( {* i4 D u& J( _; }: W0 d3. 程序包(PACKAGE):声明在设计中将用到的常数、数据类型、元件及子程序
5 i5 i3 ~5 x w2 d0 b7 B1 F
& F* q! H7 Y+ g% C& D% o4. 实体(ENTITY):声明本设计的接口引脚,输入输出引脚,写法一般是引脚名字:接口方向:标准逻辑# Z X# i6 c6 }& X$ @4 N! T6 l; n
, t9 X6 Z/ W' x+ T6 S7 ~复制代码. S, B/ K" Q. J7 b l; [7 X
entity TempSensorCtl is
9 r3 T; I6 {% u8 ?8 ~4 _3 }/ N Generic (CLOCKFREQ : natural := 100); -- input CLK frequency in MHz$ w# w7 Y7 U1 h" G6 {2 \
Port (
3 w( O( K0 |( R) M TMP_SCL : inout STD_LOGIC;
4 K. E; a4 H4 o ^0 m4 [ TMP_SDA : inout STD_LOGIC;# l0 M- L9 J$ k( ^, n
-- TMP_INT : in STD_LOGIC; -- Interrupt line from the ADT7420, not used in this project
% @3 `% q' ^. i' i, L-- TMP_CT : in STD_LOGIC; -- Critical Temperature interrupt line from ADT7420, not used in this project% q, y/ B% e2 @2 P+ ~
+ y9 C' e2 Q/ C# `7 S2 m% L$ t TEMP_O : out STD_LOGIC_VECTOR(12 downto 0); --12-bit two's complement temperature with sign bit2 o R7 m! t4 e; D$ Q1 m* x
RDY_O : out STD_LOGIC; --'1' when there is a valid temperature reading on TEMP_O4 m' Q; W9 \$ T
ERR_O : out STD_LOGIC; --'1' if communication error
% h5 o$ p0 D6 b0 l$ V q; J2 @
8 R, r* T/ ]5 q$ i CLK_I : in STD_LOGIC;
* b, _6 G* O- h4 m' s SRST_I : in STD_LOGIC2 w7 {; ^. F8 s0 k K- r7 O. \" ^
);" S$ L0 l; Z9 O6 g3 N1 j. o
: U0 w2 N/ w' L ^' K! Z' R3 l5 B5 G+ r0 g$ [9 {+ ?* f' N' W
/ n4 Z2 h- z2 }) b. H; k- } |
|