案例模16计数器输入48M,输出用数码管显示分频模16译码模2多选P1P2P4P5P348MHzCLK10HZ库、程序包实体(Entity)结构体(Architecture)进程或其它并行结构配置(Configuration)外部与内部:ponentportsportslibraryIEEE;;;;entitycount10isport(clk:instd_logic;dout:outstd_logic_vector(6downto0);dclk1:outstd_logic);endcount10;实体声明端口模式:IN、OUT、INOUT、BUFFER位(bit)bit表示一位的信号值。放在单引号中,如‘0’或‘1’。variablea,b:bit:=‘0’;位矢量(bit_vector)bit_vector是用双引号括起来的一组位数据。constantdata:bit_vector(3downto0):=“1010”整数(integer)可实现的整数范围为:-(231-1)to(231-1)VHDL综合器要求对具体的整数作出范围限定,signalcount:integerrange0to15:=0;信号count将被综合成由四条信号线数据类型标准逻辑位与矢量:std_logic,std_logic_vector类型为九值逻辑,如下:(‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’,‘-’)‘U’:未初始化的,‘X’:强未知的,‘0’:强0,‘1’:强1,‘Z’:高阻态,‘W’:弱未知的,‘L’:弱0,‘H’:弱1,‘-’:忽略结构体(由并发语句构成)Architecture并发语句并发语句信号信号信号并发语句Architecture并发语句并发语句信号信号信号并发语句libraryIEEE;;;;entitycount16isport(clk:instd_logic;dout:outstd_logic_vector(6downto0);sel:outstd_logic_vector(2downto0);ncs:outstd_logic);endcount16;architectureBehavioralofcount10is signalclk1k,clk10hz:std_logic:=‘0’; signalu,v,w:integerrange0to9:=0; signals:integerrange0to7:=0;设计输入举例begint1:process(clk)variableq:integerrange1t02400000:=0;variablep:integerrange1t024000:=0;begin ifclk'eventandclk='1'then ifq=2400000then q:=1;clk10hz<=notclk10hz; else q:=q+1; endif;ifp=24000then p:=1;clk1k<=notclk1k; else p:=p+1; endif;endif;endprocess;
现代电子技术综合实验报告-VHDL 来自淘豆网www.taodocs.com转载请标明出处.