第6章vhdl设计应用实例内容摘要:
0); CARRY_OUT: OUT STD_LOGIC); END COMPONENT CNT10; COMPONENT REG32B IS 待调用的 32位锁存器端口定义 ... COMPONENT TESTCTL IS 待调用的测频控制信号发生器端口定义 第 6章 VHDL设计应用实例 ... SIGNAL SE, SC, SL: STD_LOGIC; SIGNAL S1, S2, S3, S4, S5, S6, S7, S7, S8:STD_LOGIC; SIGNAL SD: STD_LOGIC_VECTOR(31 DOWNTO 0); BEGIN U0: TESTCTL PORT MAP(CLK=CLK, TSTEN=SE, CLR_CNT=SC, LOAD=SL); U1: CNT10 PORT MAP(CLK=FSIN, CLR=SC, ENA=SE,CQ=SD (3 DOWNTO 0), CARRY_OUT=S1); 名字关联 第 6章 VHDL设计应用实例 U2: CNT10 PORT MAP(CLK=S1, CLR=SC, ENA=SE, CQ=SD (7 DOWNTO 4), CARRY_OUT=S2); U3: CNT10 PORT MAP(S2, SC, SE, SD (11 DOWNTO 8 ), S3); 位置关联 U4: CNT10 PORT MAP(S3, SC, SE, SD (15 DOWNTO 12), S4); U5: CNT10 PORT MAP(S4, SC, SE, SD (19 DOWNTO 16), S5); U6: CNT10 PORT MAP(S5, SC, SE, SD (23 DOWNTO 20), S6); U7: CNT10 PORT MAP(S6, SC, SE, SD (27 DOWNTO 24), S7); U8: CNT10 PORT MAP(S7, SC, SE, SD (31 DOWNTO 28), S8); U9: REG32B PORT MAP(LOAD=SL, DIN=SD(31 DOWNTO 0),DOUT=DOUT); END ARCHITECTURE ART; 第 6章 VHDL设计应用实例 数字秒表的设计 1.设计思路 设计一个计时范围为 ~ 1小时的数字秒表, 因此要有一个比较精确的计时基准信号,这里用周期为 1/100 s的计时脉冲。 对每一计数器需设置 CLR清零信号输入外,并在六个计数器设置时钟使能信号 ENA,即计时允许信号。 因此数字秒表可由一个分频器、四个十进制计数器 (1/100秒、 1/10秒、 1秒、1分 )以及两个六进制计数器 (10秒、 10分 )组成,如图。 第 6章 VHDL设计应用实例 图 4位二进制计数输出的最小显示值分别为: DOUT[3..0]1/100秒、 DOUT[7..4]1/10秒、 DOUT[11..8]1秒、 DOUT[15..12]10秒、DOUT[19..16]1分、 DOUT[23..20]10分。 第 6章 VHDL设计应用实例 图 数字秒表电路逻辑图 D O U T [ 1 1 . . 8 ]D O U T [ 7 . . 4 ]E N AC L RC L KC N T 1 0C A R R Y _ O U TC Q [ 3 . . 0 ]C L RC L KC L K N E W C L KC L K G E NE N AE N AC L RC L KC N T 1 0C A R R Y _ O U TC Q [ 3 . . 0 ]E N AC L RC L KC N T 1 0D O U T [ 3 . . 0 ]C A R R Y _ O U TC Q [ 3 . . 0 ]E N AC L RC L KC N T 6D O U T [ 2 3 . . 2 0 ]C A R R Y _ O U TC Q [ 3 . . 0 ]E N AC L RC L KC N T 1 0D O U T [ 1 9 . . 1 6 ]C A R R Y _ O U TC Q [ 3 . . 0 ]E N AC L RC L KC N T 6D O U T [ 1 5 . . 1 2 ]C A R R Y _ O U TC Q [ 3 . . 0 ]D O U T [ 2 3 . . 0 ]U0U1S1U2S2U3S3U6U5S5S4U4S0第 6章 VHDL设计应用实例 2. VHDL源程序 1) 3 MHz→ 100 Hz分频器的源程序 LIBRARY IEEE; USE ; ENTITY CLKGEN IS PORT (CLK: IN STD_LOGIC; 3 MHz信号输入 NEWCLK: OUT STD_LOGIC); 100 Hz计时时钟信号输出 END ENTITY CLKGEN; 第 6章 VHDL设计应用实例 ARCHITECTURE ART OF CLKGEN IS SIGNAL CNTER: INTEGER RANGE 0 TO 1029999; 十进制计数预制数 BEGIN PROCESS(CLK) IS 分频计数器 , 由 3 MHz时钟产生 100 Hz信号 BEGIN IS IF CLK’ EVENT AND CLK=39。 139。 THEN IF CNTER=1029999 THEN CNTER=0; 3 MHz信号变为 100 Hz, 计数常数为 30000 第 6章 VHDL设计应用实例 ELSE CNTER=CNTER+1; END IF; END IF; END PROCESS; PROCESS(CNTER) IS 计数溢出信号控制 BEGIN IF CNTER=1029999 THEN NEWCLK=39。 139。 ; ELSE NEWCLK=39。 039。 ; END IF; END PROCESS; END ARCHITECTURE ART; 第 6章 VHDL设计应用实例 2) 六进制计数器的源程序 (十进制计数器的源程序 ) LIBRARY IEEE; USE ; USE ; ENTITY CNT6 IS PORT (CLK: IN STD_LOGIC; CLR: IN STD_LOGIC; ENA: IN STD_LOGIC; CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT: OUT STD_LOGIC ); 第 6章 VHDL设计应用实例 END ENTITY CNT6; ARCHITECTURE ART OF CNT6 IS SIGNAL CQI: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLK, CLR, ENA) IS BEGIN IF CLR=39。 139。 THEN CQI=0000; ELSIF CLK39。 EVENT AND CLK=39。 139。 THEN IF ENA=39。 139。 THEN IF CQI=“0101” THEN CQI=“0000”; 六进制为 0101 十进制计数器为 1001 ELSE CQI=CQI+39。 139。 ; END IF; END IF; 第 6章 VHDL设计应用实例 END IF; END PROCESS; PROCESS(CQI) IS BEGIN IF CQI=“ 0000” THEN CARRY_OUT=39。 139。 ; ELSE CARRY_OUT=39。 039。 ; END IF; END PROCESS; CQ=CQI; END ARCHITECTURE ART; 第 6章 VHDL设计应用实例 3) 数字秒表的源程序 LIBRARY IEEE; USE ; ENTITY TIMES IS PORT(CLR: IN STD_LOGIC; CLK: IN STD_LOGIC; ENA: IN STD_LOGIC; DOUT: OUT STD_LOGIC_VECTOR(23 DOWNTO 0)); END ENTITY TIMES; ARCHITECTURE ART OF TIMES IS 第 6章 VHDL设计应用实例 COMPONENT CLKGEN IS PORT(CLK: IN STD_LOGIC; NEWCLK: OUT STD_LOGIC); END COMPONENT CLKGEN; COMPONENT CNT10 IS PORT(CLK, CLR, ENA: IN STD_LOGIC; CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT: OUT STD_LOGIC); 第 6章 VHDL设计应用实例 END COMPONENT CNT10; COMPONENT CNT6 IS PORT(CLK, CLR, ENA: IN STD_LOGIC; CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT: OUT STD_LOGIC); END COMPONENT CNT6; SIGNAL S0: STD_LOGIC; SIGNAL S1, S2, S3, S4, S5: STD_LOGIC; BEGIN 第 6章 VHDL设计应用实例 U0: CLKGEN PORT MAP(CLK=CLK, NEWCLK=S0); 名字关联 U1: CNT10 PORT MAP(S0, CLR, ENA, DOUT(3 DOWNTO 0), S1); 位置关联 U2: CNT10 PORT MAP(S1, CLR, ENA, DOUT(7 DOWNTO 4), S2); U3: CNT10 PORT MAP(S2, CLR, ENA, DOUT(11 DOWNTO 8), S3); U4: CNT6 PORT MAP(S3, CLR, ENA, DOUT(15 DOWNTO 12), S4); U5: CNT10 PORT MAP(S4, CLR, ENA, DOUT(19 DOWNTO 16), S5); U6: CNT6 PORT MAP(S5, CLR, ENA, DOUT(23 DOWNTO 20)); END ARCHITECTURE ART; 第 6章 VHDL设计应用实例 MCS51单片机与 FPGA/CPLD总线接口逻辑设计 单片机具有性能价格比高 、 功能灵活 、 易于人机对话和良好的数据处理能力等特点; PLD则具有高速 、高可靠以及开发便捷规范等方面的优点 , 以此两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中被广泛应用。 单片机与 CPLD的接口方式一般有两种 , 即总线方式与独立方式。 第 6章。第6章vhdl设计应用实例
相关推荐
FF83H 所以,初值为: TH1=0FFH, TL1=83H 请思考 为什么。 ③ 采用中断方式:编程时打开全局和局部中断。 ④ 由定时器控制寄存器 TCON中的 TR1位控制定时器的启动和停止。 TR1= 1,启动; TR1= 0,停止。 程序设计 ORG 0000H LJMP MAIN ;主程序入口 ORG 001BH LJMP INTT1 ; T1中断入口 INTT1: MOV TH1,
,只入 系统前面的序号,然后回车。 然后会询问管理员的密码,输入密 码后,按回车,则进入了修复控制台。 进入恢复控制台后,输入 FIXBOOT,系统会提示是否确定要 写入新的启动扇区到目标磁盘分区,按 Y然后回车,系统写入成功 后,按 EXIT重新启动就可以了。 注意: 如果上述方法无效,有可能是主引导记录( MBR, Main Boot Record)损坏了。 用 FixMBR这个命令
数据(避免空值的有效方法之一) 【 问题 】 为 StuCou表的 State列建立 DEFAULT约束,提供 “ 报名 ” 的默认值 说明:一个列只能建立一个DEFAULT约束 删除约束 格式: ALTER TABLE table_name DROP CONSTRAINT constraint_name 默认值(default) 默认值是一种独立存储的数据库对象
自然撤消 (线程执行完) • 被停止 (调用 stop( )方法) 目前不推荐通过调用 stop()来终止线程的执行,而是让线程执行完。 (5) 死亡状态( Dead) 使用线程时要注意线程的同步,可以用 synchronized来修饰那些不能被中途打扰的方法。 淮海工学院 计算机课程 在程序中实现多线程 1. 创建用户自定义的一个线程子类 即 创建 Thread类的子类 , 继承线程类
变化的根本依据是( )。 • A、反应中火星四射 • B、有燃烧现象发生 • C、有大量的热放出 • D、有与铁完全不同的黑色固体生成 D • 2.物质发生化学变化时,一定有( ) • A.颜色变化 B.发光发热 • C.新物质生成 D.固态变成气态 • (汽油中加入一定比例的乙醇 )的使用可以缓解石油危机。 从甜菜或甘蔗中提取的蔗糖可以通过发酵产生乙醇。 下列过程中没有发生化学变化的是 ( )