文档详情

用VHDL设计十翻二运算电路..doc

发布:2017-01-20约字共11页下载文档
文本预览下载声明
设计一个十翻二运算电路 内容摘要: 十翻二电路可以用简单的一些芯片组合而成,也可以用可编程逻辑器件来实现,本次实践用quartusⅡ 5.0来编程,FPGA采用EPF10K10LC84-4,通过本次实践学会基本的实验技能,提高运用理论知识解决实际问题的能力。关键词:128=1*100+2*10+8 所以要包括乘100,乘10和相加的模块,由于还要显示输入三位十进制数,因此还要有一个数码管显示模块,电路方框图如下: 百位 二进制 十位 个位 四、各个模块的VHDL描写 1)、乘10模块的VHDL library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cheng10 is port (ten:in std_logic_vector(3 downto 0); tenout:out std_logic_vector(9 downto 0)); end; architecture one of cheng10 is signal a:std_logic_vector(9 downto 0); signal b:std_logic_vector(9 downto 0); begin process(ten) begin a(6 downto 3)=ten; b(4 downto 1)=ten; tenout=a+b; end process; end; 2)、乘100模块的VHDL library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cheng100 is port (hum:in std_logic_vector(3 downto 0); humout:out std_logic_vector(9 downto 0)); end; architecture one of cheng100 is signal a:std_logic_vector(9 downto 0); signal b:std_logic_vector(9 downto 0); signal c:std_logic_vector(9 downto 0); signal d:std_logic_vector(9 downto 0); signal e:std_logic_vector(9 downto 0); signal f:std_logic_vector(9 downto 0); begin process(hum) begin a(6 downto 3)=hum; b(4 downto 1)=hum; c=a+b; d(9 downto 3)=c(6 downto 0); e(7 downto 1)=c(6 downto 0); f=d+e; humout=f; end process; end; 3)、相加模块的VHDL library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity xiangjia is port (ena:in std_logic; humout:in std_logic_vector(9 downto 0); tenout:in std_logic_vector(9 downto 0); oneout:in std_logic_vector(3 downto 0); shuchu:out std_logic_vector(9 downto 0)); end; architecture one of xiangjia is begin process(humout,tenout,oneout) begin if ena=0 then shuchu=0000000000; else shuchu=humout+tenout+oneout; end if; end process; end; 4)、数码管显示模块的VHDL LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_unsigned.all;
显示全部
相似文档