FPGA用2-4译码器元件实现4-16译码器

FPGA用2-4译码器元件实现4-16译码器_第1张图片

原理图如上

知道原理图 代码也就ok了

需要两个vhdl文件
一个是main文件 也就是主输入输出
另一个是 元件vhdl 实现部分输入输出 在这里指 2-4译码器

由于之前写的奇偶判别器 没有改实体名 这点可以忽略

主程序如下

entity jiou is 
	port(
		signal x:in bit_vector(3 downto 0);
		signal en:in bit;
		signal z:out bit_vector(15 downto 0)
	);
end entity;

architecture behave of jiou is
	signal enchild:bit_vector(3 downto 0);
	component jo21 is
		port(
			signal x:in bit_vector(1 downto 0 );
			signal en:in bit;
			signal y:out bit_vector(3 downto 0)
		);
	end component;
	begin

	u1:jo21 port map(x(3 downto 2),en,enchild(3 downto 0));
	u2:jo21 port map(x(1 downto 0),enchild(3),z(15 downto 12));
	u3:jo21 port map(x(1 downto 0),enchild(2),z(11 downto 8));
	u4:jo21 port map(x(1 downto 0),enchild(1),z(7 downto 4));
	u5:jo21 port map(x(1 downto 0),enchild(0),z(3 downto 0));
end architecture;

子程序如下

entity jo21 is
	port(
		signal x:in bit_vector(1 downto 0 );
		signal en:in bit;
		signal y:out bit_vector(3 downto 0)
	);
end entity;

architecture behave of jo21 is
signal k:bit_vector(2 downto 0);
begin
	k<=en&x;
	with k select
	y<="0001" when "100",
		"0010" when "101",
		"0100" when "110",
		"1000" when "111",
		"0000" when others;
	 
end architecture;

仿真波形图 部分如下
FPGA用2-4译码器元件实现4-16译码器_第2张图片

如此即可 。
如果本篇博客有用的话 请点个赞再走呗

你可能感兴趣的:(FPGAvhdl,fpga开发)