我是一个大学生,老师让做一个EDA的实验设计,请专家帮帮我啊!先谢谢了。

内容及要求:设计秒表,有开始键和停止键,用数码管显示时间值。
当按下开始键,计时开始,数码管实时显示秒值;
按下停止键,计时结束,数码管显示结束时的秒值;
要求学生根据题目内容,完成逻辑设计、VHDL编程、仿真、下载各步骤,并完成设计报告。

希望精通这方面的专家多帮帮我,写份设计报告出来,要用word格式。
急需啊!! 也可以把word文档直接发我邮箱里:[email protected]
我在此,先谢过了。

我写的代码,可以计时60秒。下面有我的仿真波形。至于报告嘛,我看还是你自己 写吧,毕竟学习这个东西,不能完全靠别人的啊!

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

entity MB is

    port (

        start: in STD_LOGIC;

        stop: in STD_LOGIC;

        cp: in STD_LOGIC;

        disph: out STD_LOGIC_VECTOR (6 downto 0);

        displ: out STD_LOGIC_VECTOR (6 downto 0)

    );

end MB;

architecture MB_arch of MB is

signal qh:std_logic_vector(2 downto 0);

signal ql:std_logic_vector(3 downto 0);

begin

  p1:process(start,cp)

  begin

   if stop='0' then

    if start='1' then

      if cp'event and cp='1' then

        if ql="1001" then ql<="0000";

           if qh="110" then

              qh<="000";

            else 

               qh<=qh+'1';

            end if;

       else  

             ql<=ql+'1';

     end if;

     end if ;

     end if;

     end if;

     end process p1;

  p2: process(qh,ql)

  begin

 case qh is

 when"000"=> disph<="0111111";

 when"001"=> disph<="0000110";

 when"010"=> disph<="1011011";

 when"011"=> disph<="1001111";

 when"100"=> disph<="1100110";

 when"101"=>disph<="1101101";

 when"110"=> disph<="1111101";

 when others=>NULL;

 end case;

 case ql is

 when"0000"=> displ<="0111111";

 when"0001"=> displ<="0000110";

 when"0010"=> displ<="1011011";

 when"0011"=> displ<="1001111";

 when"0100"=> displ<="1100110";

 when"0101"=>displ<="1101101";

 when"0110"=> displ<="1111101";

 when"0111"=> displ<="0000111";

 when"1000"=> displ<="1111111";

 when"1001"=> displ<="1101111";

 when others=>NULL;

 end case;

 end process p2;

        

end MB_arch;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-14
先学习下vhdl可以做一些需要的器件 其他好多可以用数电的集成电路 我也做过那个设计 加油吧 一个周够用的 可以给你思路 先按需求分出频率 d触发器开关 计数器 显示译码器 就差不多了 我觉得这个没有必要用到vhdl编程