?? chien8.vhd
字號(hào):
--------------------------------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 21:33:14 04/09/08
-- Design Name:
-- Module Name: chien8 - Behavioral
-- Project Name:
-- Target Device:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
--------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity chien8 is
port
(
clk:in std_logic;
reset:in std_logic;
en_all:in std_logic;
en_sel:in std_logic;
err_pol:in std_logic_vector(12 downto 0);
product1:out std_logic_vector(12 downto 0);
product2:out std_logic_vector(12 downto 0);
product3:out std_logic_vector(12 downto 0);
product4:out std_logic_vector(12 downto 0);
product5:out std_logic_vector(12 downto 0);
product6:out std_logic_vector(12 downto 0);
product7:out std_logic_vector(12 downto 0);
product8:out std_logic_vector(12 downto 0)
);
end chien8;
architecture Behavioral of chien8 is
component mul8
port(
mul8_in:in std_logic_vector(12 downto 0);
mul8_out:out std_logic_vector(12 downto 0)
);
end component;
component mul16
port(
mul16_in:in std_logic_vector(12 downto 0);
mul16_out:out std_logic_vector(12 downto 0)
);
end component;
component mul24
port(
mul24_in:in std_logic_vector(12 downto 0);
mul24_out:out std_logic_vector(12 downto 0)
);
end component;
component mul32
port(
mul32_in:in std_logic_vector(12 downto 0);
mul32_out:out std_logic_vector(12 downto 0)
);
end component;
component mul40
port(
mul40_in:in std_logic_vector(12 downto 0);
mul40_out:out std_logic_vector(12 downto 0)
);
end component;
component mul48
port(
mul48_in:in std_logic_vector(12 downto 0);
mul48_out:out std_logic_vector(12 downto 0)
);
end component;
component mul56
port(
mul56_in:in std_logic_vector(12 downto 0);
mul56_out:out std_logic_vector(12 downto 0)
);
end component;
component mul64
port(
mul64_in:in std_logic_vector(12 downto 0);
mul64_out:out std_logic_vector(12 downto 0)
);
end component;
component mul44
port(
mul44_in:in std_logic_vector(12 downto 0);
mul44_out:out std_logic_vector(12 downto 0)
);
end component;
signal d:std_logic_vector(12 downto 0);
signal product1_tmp:std_logic_vector(12 downto 0);
signal product2_tmp:std_logic_vector(12 downto 0);
signal product3_tmp:std_logic_vector(12 downto 0);
signal product4_tmp:std_logic_vector(12 downto 0);
signal product5_tmp:std_logic_vector(12 downto 0);
signal product6_tmp:std_logic_vector(12 downto 0);
signal product7_tmp:std_logic_vector(12 downto 0);
signal product8_tmp:std_logic_vector(12 downto 0);
signal sel_tmp:std_logic_vector(12 downto 0);
signal err_pol_m:std_logic_vector(12 downto 0);
--signal cnt:integer range 1000 downto 0;
--signal en_sel: std_logic;
begin
d_pro:
process(clk,reset)
begin
if(reset='1')then
d<=(others=>'0');
elsif(clk'event and clk='1')then
if(en_all='1')then
d<=product8_tmp;
end if;
end if;
end process;
mul44_pro:
mul44
port map
(
mul44_in=>err_pol,
mul44_out=>err_pol_m
);
sel_pro:
process(clk)
begin
if(en_all='1')then
if(en_sel='0')then
sel_tmp<=d;
else
sel_tmp<=err_pol_m;
end if;
end if;
end process;
mul8_pro:
mul8
port map
(
mul8_in=>sel_tmp,
mul8_out=>product1_tmp
);
mul16_pro:
mul16
port map
(
mul16_in=>sel_tmp,
mul16_out=>product2_tmp
);
mul24_pro:
mul24
port map
(
mul24_in=>sel_tmp,
mul24_out=>product3_tmp
);
mul32_pro:
mul32
port map
(
mul32_in=>sel_tmp,
mul32_out=>product4_tmp
);
mul40_pro:
mul40
port map
(
mul40_in=>sel_tmp,
mul40_out=>product5_tmp
);
mul48_pro:
mul48
port map
(
mul48_in=>sel_tmp,
mul48_out=>product6_tmp
);
mul56_pro:
mul56
port map
(
mul56_in=>sel_tmp,
mul56_out=>product7_tmp
);
mul64_pro:
mul64
port map
(
mul64_in=>sel_tmp,
mul64_out=>product8_tmp
);
product1<=product1_tmp;
product2<=product2_tmp;
product3<=product3_tmp;
product4<=product4_tmp;
product5<=product5_tmp;
product6<=product6_tmp;
product7<=product7_tmp;
product8<=product8_tmp;
--cnt_pro:
-- process(clk,reset)
-- begin
-- if(reset='1')then
-- cnt<=0;
-- elsif(clk'event and clk='1')then
-- if(en_all='1')then
-- if cnt=511 then -- *
-- cnt<=0; --*
-- else
-- cnt<=cnt+1;
-- end if;
-- end if;
-- end if;
-- end process;
--
--
--sel_proc:
-- process(clk)
-- begin
-- if(clk'event and clk='1')then
-- if cnt=0 then ---*---
-- en_sel<='1';
-- else
-- en_sel<='0';
-- end if;
-- end if;
-- end process;
end Behavioral;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -