|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
VHDL入门学习-程序组成 - Q1 y4 b5 j6 W9 Q5 h
1. VHDL程序的组成 一个完整的VHDL程序是以下五部分组成的:
, u3 e4 T6 o' k( X2 V
0 E e" K x! Y2. 库(LIBRARY):比较好理解,调用系统已有的库,WORK库就是用户当前编辑文件所在的文件夹, IEEE库:由IEEE(美国电子电机工程师学会)制定的标准库 LPM库
& [4 A- m3 T1 [" Y2 L
4 k0 ^: U" a3 n7 Wlibrary IEEE;# I- P+ c, r. s2 i
use IEEE.STD_LOGIC_1164.ALL;, @5 j. d$ ]/ m0 _! ?' }
use IEEE.math_real.all;; A9 [& e. Z+ L' X! P2 z
use IEEE.std_logic_arith.all;# c8 L( i* d3 g
3. 程序包(PACKAGE):声明在设计中将用到的常数、数据类型、元件及子程序7 n" Q: J- y; c6 p, k
# \% t! A3 M: i( [* T4. 实体(ENTITY):声明本设计的接口引脚,输入输出引脚,写法一般是引脚名字:接口方向:标准逻辑# v! q0 }7 A; C: n$ l
% F, \+ f# ^& k0 C复制代码
' w2 l& y& \! ^. D4 @2 Centity TempSensorCtl is' m, V- s* u0 g! ?
Generic (CLOCKFREQ : natural := 100); -- input CLK frequency in MHz8 p& U( z; J/ @7 H; L4 p4 Z6 H
Port (
% o- @; V+ @0 p$ g5 I: e TMP_SCL : inout STD_LOGIC;
( G3 e" {2 y' C! Y! P* u e TMP_SDA : inout STD_LOGIC;; b1 l+ w& v; J6 |" l+ Z6 t; q
-- TMP_INT : in STD_LOGIC; -- Interrupt line from the ADT7420, not used in this project
' r3 R7 r* B4 @, k% I+ y-- TMP_CT : in STD_LOGIC; -- Critical Temperature interrupt line from ADT7420, not used in this project
# k* s! Z' l3 L, _
W6 F, _6 S6 j% F* T4 Y9 [ TEMP_O : out STD_LOGIC_VECTOR(12 downto 0); --12-bit two's complement temperature with sign bit
* T r- w* J7 l7 ^+ A RDY_O : out STD_LOGIC; --'1' when there is a valid temperature reading on TEMP_O
. m" ~9 ]/ \' o% T3 S1 b ERR_O : out STD_LOGIC; --'1' if communication error+ {: V k7 D: H- U2 {( f
1 U' d; ?8 v0 g/ h: M, s
CLK_I : in STD_LOGIC;
: [2 s1 M. |; B( {1 b SRST_I : in STD_LOGIC2 I3 Z* q2 `8 s$ \: ^0 v! W
);
4 r# N- O" h( G# X/ L
7 v7 k- [# W5 D+ n# j6 l l. N* U8 Z0 i/ P
0 h6 k! g* ]' M. G* S( s. a |
|