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

发布网友 发布时间:2022-04-24 04:25

我来回答

2个回答

热心网友 时间:2022-04-24 15:59

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

library IEEE;

use IEEE.std_logic_11.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;

热心网友 时间:2022-04-24 17:17

先学习下vhdl可以做一些需要的器件 其他好多可以用数电的集成电路 我也做过那个设计 加油吧 一个周够用的 可以给你思路 先按需求分出频率 d触发器开关 计数器 显示译码器 就差不多了 我觉得这个没有必要用到vhdl编程

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com