
请用VHDL语言帮我编写几个小程序,先谢谢了。需要编写的程序如下
一、某序列信号检测有输入X2和X1,输出为Z。当X1连续输入4个1或X2连续输入4个0时,Z输出为1。试画出此系统的算法流程图,并分析要实现此算法需要什么数据处理单元。二...
一、某序列信号检测有输入X2和X1,输出为Z。当X1连续输入4个1或X2连续输入4个0时,Z输出为1。试画出此系统的算法流程图,并分析要实现此算法需要什么数据处理单元。
二、试用VHDL语言编写一个七段译码电路(共阳极)。
三、使用VHDL语言实现以下系统。
设计一个8位的最大公约数产生电路。图中X、Y为二进制正数,G为他们的最大公约数。算法如下:
第三题的图见下面的链接
http://hi.baidu.com/qingxuan2222/album/item/a79bcb97d955e224d31b701d.html 展开
二、试用VHDL语言编写一个七段译码电路(共阳极)。
三、使用VHDL语言实现以下系统。
设计一个8位的最大公约数产生电路。图中X、Y为二进制正数,G为他们的最大公约数。算法如下:
第三题的图见下面的链接
http://hi.baidu.com/qingxuan2222/album/item/a79bcb97d955e224d31b701d.html 展开
4个回答
展开全部
VHDL语言编写一个七段译码电路(共阳极)
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY DecL7S IS
PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;
LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;
END ;
ARCHITECTURE one OF DecL7S IS
BEGIN
PROCESS( A )
BEGIN
CASE A(3 DOWNTO 0) IS
WHEN "0000" => LED7S <= "0111111" ; -- X“3F”0
WHEN "0001" => LED7S <= "0000110" ; -- X“06”1
WHEN "0010" => LED7S <= "1011011" ; -- X“5B”2
WHEN "0011" => LED7S <= "1001111" ; -- X“4F”3
WHEN "0100" => LED7S <= "1100110" ; -- X“66”4
WHEN "0101" => LED7S <= "1101101" ; -- X“6D”5
WHEN "0110" => LED7S <= "1111101" ; -- X“7D”6
WHEN "0111" => LED7S <= "0000111" ; -- X“07”7
WHEN "1000" => LED7S <= "1111111" ; -- X“7F”8
WHEN "1001" => LED7S <= "1101111" ; -- X“6F”9
WHEN "1010" => LED7S <= "1110111" ; -- X“77”10
WHEN "1011" => LED7S <= "1111100" ; -- X“7C”11
WHEN "1100" => LED7S <= "0111001" ; -- X“39”12
WHEN "1101" => LED7S <= "1011110" ; -- X“5E”13
WHEN "1110" => LED7S <= "1111001" ; -- X“79”14
WHEN "1111" => LED7S <= "1110001" ; -- X“71”15
WHEN OTHERS => NULL ;
END CASE ;
END PROCESS ;
END ;
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY DecL7S IS
PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;
LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;
END ;
ARCHITECTURE one OF DecL7S IS
BEGIN
PROCESS( A )
BEGIN
CASE A(3 DOWNTO 0) IS
WHEN "0000" => LED7S <= "0111111" ; -- X“3F”0
WHEN "0001" => LED7S <= "0000110" ; -- X“06”1
WHEN "0010" => LED7S <= "1011011" ; -- X“5B”2
WHEN "0011" => LED7S <= "1001111" ; -- X“4F”3
WHEN "0100" => LED7S <= "1100110" ; -- X“66”4
WHEN "0101" => LED7S <= "1101101" ; -- X“6D”5
WHEN "0110" => LED7S <= "1111101" ; -- X“7D”6
WHEN "0111" => LED7S <= "0000111" ; -- X“07”7
WHEN "1000" => LED7S <= "1111111" ; -- X“7F”8
WHEN "1001" => LED7S <= "1101111" ; -- X“6F”9
WHEN "1010" => LED7S <= "1110111" ; -- X“77”10
WHEN "1011" => LED7S <= "1111100" ; -- X“7C”11
WHEN "1100" => LED7S <= "0111001" ; -- X“39”12
WHEN "1101" => LED7S <= "1011110" ; -- X“5E”13
WHEN "1110" => LED7S <= "1111001" ; -- X“79”14
WHEN "1111" => LED7S <= "1110001" ; -- X“71”15
WHEN OTHERS => NULL ;
END CASE ;
END PROCESS ;
END ;
展开全部
楼主,你的这3个程序,40 分的诱惑力不大啊。每个程序都要写好多代码啊……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询