用VHDL语言编程~急~
1.用VHDL语言编写一个计数器。要求:计数器为13进制,预置为“1000”。列出真值表,表达式,画出电路图,编写程序。2.编写四输入优先编码器。要求:用if语句且inp...
1.用VHDL语言编写一个计数器。要求:计数器为13进制,预置为“1000”。列出真值表,表达式,画出电路图,编写程序。
2.编写四输入优先编码器。要求:用if语句且input(3)优先级最高,低电平有效。
3.编写五人表决器,包括input(10)在内有3个人或以上同意通过。
4.编写四选一多路选择器。要求:用when语句
5.用if语句实现带有异步复位的D触发器
6.读程序,写结果。
a:std_logic vector(3 downto 0);
b:std_logic vector(0 to 3);
a<="0101";
b<=a;
b(3)=? b(0)=? 展开
2.编写四输入优先编码器。要求:用if语句且input(3)优先级最高,低电平有效。
3.编写五人表决器,包括input(10)在内有3个人或以上同意通过。
4.编写四选一多路选择器。要求:用when语句
5.用if语句实现带有异步复位的D触发器
6.读程序,写结果。
a:std_logic vector(3 downto 0);
b:std_logic vector(0 to 3);
a<="0101";
b<=a;
b(3)=? b(0)=? 展开
4个回答
展开全部
library ieee;
use ieee.std_logic_1164.all;
entity mux4 is
port(clk : in std_logic;
d0,d1,d2,d3 : in std_logic;
a,b : in std_logic;
q : out std_logic
);
end entity mux4;
architecture s of mux4 is
ab : std_logic_vector(1 downto 0);
begin
ab<=a&b;
process(clk,ab)
if clk'event and clk='1' then
case ab is
when "00" =>
q<=d0;
when "01" =>
q<=d1;
when "10" =>
q<=d2;
when "11" =>
q<=d3;
when others =>
q<='Z';
end case;
end process;
end architecture s;
use ieee.std_logic_1164.all;
entity mux4 is
port(clk : in std_logic;
d0,d1,d2,d3 : in std_logic;
a,b : in std_logic;
q : out std_logic
);
end entity mux4;
architecture s of mux4 is
ab : std_logic_vector(1 downto 0);
begin
ab<=a&b;
process(clk,ab)
if clk'event and clk='1' then
case ab is
when "00" =>
q<=d0;
when "01" =>
q<=d1;
when "10" =>
q<=d2;
when "11" =>
q<=d3;
when others =>
q<='Z';
end case;
end process;
end architecture s;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0分 ?太扣了吧!不给你说!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主我也想要啊!考试题啊!如果有的话可以给我吗?谢谢啦!
邮箱272207312@qq.com
邮箱272207312@qq.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询