(4)仿真图形如图5-7所示 图5-7 锁存模块仿真图 http://www.paper51.com 3 计数模块示意图 paper51.com
http://www.paper51.com 图5-8计数模块示意图 copyright paper51.com
(1) 设计实体取名为fretest paper51.com
(2) 端口定义:输入端口为:enable、cp3 、reset:、input paper51.com 输出端口为 :verflower、low、 play0,play1,play2,play3、decimal copyright paper51.com (3)设计输出:下面即为采用VHDL语言编写的计数模块设计文件 http://www.paper51.com entity fretest is 内容来自www.paper51.com
port(enable:in std_logic; 内容来自论文无忧网 www.paper51.com cp3:instd_logic; paper51.com input:in std_logic; 内容来自www.paper51.com reset:in std_logic; 内容来自www.paper51.com overflow:out std_logic; 内容来自www.paper51.com low:out std_logic; 内容来自论文无忧网 www.paper51.com play0,play1,play2,play3:out integer range 0 to 9; paper51.com
decimal:out std_logic_vector(2 downto 0) paper51.com
); paper51.com end fretest; paper51.com architecture behavior offretest is http://www.paper51.com signalr0_1,r1_1,r2_1,r3_1,r4_1,r5_1:integer range 0 to 9; 内容来自论文无忧网 www.paper51.com begin copyright paper51.com process(input,enable,reset) 内容来自论文无忧网 www.paper51.com begin copyright paper51.com if (enable='0') then null; 内容来自论文无忧网 www.paper51.com elsif(input'event and input='1')then 内容来自论文无忧网 www.paper51.com if (reset='1') then 内容来自论文无忧网 www.paper51.com overflow<='0';r0_1<=0;r1_1<=0;r2_1<=0;r3_1<=0;r4_1<=0;r5_1<=0; 内容来自论文无忧网 www.paper51.com elsif( cp3='0' )then 内容来自www.paper51.com overflow<='0';r0_1<=0;r1_1<=0;r2_1<=0;r3_1<=0;r4_1<=0;r5_1<=0; 内容来自www.paper51.com else copyright paper51.com r0_1<=r0_1+1; paper51.com if(r0_1=9)thenr1_1<=r1_1+1;r0_1<=0; 内容来自www.paper51.com if(r1_1=9) thenr2_1<=r2_1+1;r1_1<=0; http://www.paper51.com
if(r2_1=9) then r3_1<=r3_1+1;r2_1<=0; 内容来自论文无忧网 www.paper51.com if(r3_1=9) thenr4_1<=r4_1+1;r3_1<=0; 内容来自论文无忧网 www.paper51.com if(r4_1=9) thenr5_1<=r5_1+1;r4_1<=0; copyright paper51.com if(r5_1=9) then paper51.com r5_1<=0;overflow<='1'; 内容来自论文无忧网 www.paper51.com
end if; paper51.com end if; 内容来自论文无忧网 www.paper51.com
end if; http://www.paper51.com end if; http://www.paper51.com end if; 内容来自www.paper51.com end if; http://www.paper51.com
if(r5_1=0 and r4_1=0 andr3_1=0)then paper51.com low<='1'; 内容来自论文无忧网 www.paper51.com else low<='0'; paper51.com end if; paper51.com end if; 内容来自www.paper51.com
end if; paper51.com end process; 内容来自论文无忧网 www.paper51.com process(r5_1,r4_1) paper51.com begin 内容来自www.paper51.com if (r5_1=0 and r4_1=0 )then 内容来自www.paper51.com
play0<=r0_1;play1<=r1_1;play2<=r2_1;play3<=r3_1; copyright paper51.com decimal<="100"; 内容来自www.paper51.com elsif (r5_1=0 andr4_1>0)then 内容来自www.paper51.com play0<=r1_1;play1<=r2_1;play2<=r3_1;play3<=r4_1; 内容来自www.paper51.com
decimal<="010"; paper51.com else copyright paper51.com play0<=r2_1;play1<=r3_1;play2<=r4_1;play3<=r5_1; paper51.com decimal<="000"; http://www.paper51.com end if; http://www.paper51.com end process; paper51.com
end behavior; copyright paper51.com
|