计数时钟系统设计(电路原理图+流程图+源代码) 第2页
SIGNAL sec:STD_LOGIC_VECTOR(6 downto 0);
SIGNAL secl: STD_LOGIC;
SIGNAL emin: STD_LOGIC;
BEGIN
PROCESS (reset,sec,emin,setmin,clkset) --第一个进程开始;
BEGIN
if reset='0'then --当reset=低电平时,
enmin<='0'; ;
secout<="0000000";
secl<='1';
else
secl<='0';
secout<=sec;
if clkset='1' and clkset' event then --当clkset接到高电平且上升沿时;
if setmin='0'then --并且 setmin为0时;
enmin<='1'; --把1赋给enmin;
else
enmin<=emin; 一系列的条件判断分析;
END if;
END if;
END if;
END process; --第一个进程结束;
PROCESS (clk,secl) --第二个进程开始;
alias lcount:STD_LOGIC_VECTOR(3 downto 0) is sec(3 downto 0);
alias hcount:STD_LOGIC_VECTOR(2 downto 0) is sec(6 downto 4);
BEGIN
if secl='1' then --当sec1为高电平,
sec<="0000000";
else
if clk='1' and clk' event then --当clk为高电平且上升沿时,
if lcount=9 then --当 lcount为9时0000赋给lcount;
lcount<="0000";
if hcount/=5 then --当hcount不为5时,
hcount<=hcount+1; -- hcount+1赋给hcount,
www.751com.cn
END if;
Else
lcount<=lcount+1; -- lcount+1赋给lcount,
emin<='0';
--又是一系列条件判断分析;
END if;
END if;
END if;
END process; --第二个进程结束;
END xsecond_arch; --本段程序结束;
仿真结果:
【结论】(结果)
完成时序仿真分析后将设计的系统通过下载线编程下载到实验系统上进一步验证设计的正确性,从而完成系统的硬件测试【小结】
五天的实践就这么结束了,这周的内容是ASIC, 学到了不少的东西,特别是学会了MAX PLUSⅡ这个软件,学会了基本的操作和编程的方法,当然还有防真。另外重点学习了超级万能实验仪的使用。
当然仅仅通过这几天的学习还远远不够的,现在学的只是个入门,但我对它已经有了浓厚的兴趣,可以肯定的是今后我会进一步深入去学习它,达到应用实践的目的。