根据下面的实体描述,画出电路的结构框图,并用VHDL语言设计异步复位的十进制计数器cnt10.假设cnt10实根据下面的实体描述,画出电路的结构框图,并用VHDL语言设计异步复位的十进制计数器cnt10.
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 11:44:05
根据下面的实体描述,画出电路的结构框图,并用VHDL语言设计异步复位的十进制计数器cnt10.假设cnt10实根据下面的实体描述,画出电路的结构框图,并用VHDL语言设计异步复位的十进制计数器cnt10.
根据下面的实体描述,画出电路的结构框图,并用VHDL语言设计异步复位的十进制计数器cnt10.假设cnt10实
根据下面的实体描述,画出电路的结构框图,并用VHDL语言设计异步复位的十进制计数器cnt10.
假设cnt10实体定义为
ENTITY cnt10 IS
PORT(clr,en,clk::IN STD_LOGIC;
cout :out std_logic;
q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END cnt10;
根据下面的实体描述,画出电路的结构框图,并用VHDL语言设计异步复位的十进制计数器cnt10.假设cnt10实根据下面的实体描述,画出电路的结构框图,并用VHDL语言设计异步复位的十进制计数器cnt10.
结构框图如下:
程序如下:根据我的理解cout为计数器的进位值,q为计数值,根据时钟的变化进行计数!library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
ENTITY cnt10 IS
PORT(clr,en,clk: IN STD_LOGIC;
cout : out std_logic;
q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END cnt10;
architecture arc of cnt10 is
signal cout_tem: std_logic;
signal q_tem: std_logic_vector(3 downto 0);
begin
process(clr,en,clk)
begin
if clr='1' then
q_tem<="0000";
cout_tem<='0';
elsif en='0' then
if clk'event and clk='1' then
if q_tem="1001" then
q_tem<="0000";
cout_tem<='1';
else q_tem<=q_tem+'1';
end if;
end if;
end if;
end process;
cout<=cout_tem;
q<=q_tem;
end arc;