📄 bus_split.vhd
字号:
library ieee;
use ieee.std_logic_1164.all;
entity bus_split is
generic (
C_INPUT_WIDTH : integer := 8;
C_INPUT_BIDIR : integer := 0;
C_OUTPUT_BIDIR : integer := 0;
C_LOW_INDEX : integer := 0;
C_HIGH_INDEX : integer := 4);
port (
Data_In : in std_logic_vector(0 to C_INPUT_WIDTH-1);
Data_Tri : in std_logic_vector(0 to C_INPUT_WIDTH-1);
Data_Out : out std_logic_vector(0 to C_INPUT_WIDTH-1);
Data_IO_In_I : in std_logic_vector(0 to C_INPUT_WIDTH-1);
Data_IO_In_T : out std_logic_vector(0 to C_INPUT_WIDTH-1);
Data_IO_In_O : out std_logic_vector(0 to C_INPUT_WIDTH-1);
Data_IO_Out_I : in std_logic_vector(C_LOW_INDEX to C_HIGH_INDEX);
Data_IO_Out_T : out std_logic_vector(C_LOW_INDEX to C_HIGH_INDEX);
Data_IO_Out_O : out std_logic_vector(C_LOW_INDEX to C_HIGH_INDEX);
Split_In : in std_logic_vector(C_LOW_INDEX to C_HIGH_INDEX);
Split_Tri : in std_logic_vector(C_LOW_INDEX to C_HIGH_INDEX);
Split_Out : out std_logic_vector(C_LOW_INDEX to C_HIGH_INDEX));
end bus_split;
architecture behavioral of bus_split is
begin
Not_Bidir: if C_INPUT_BIDIR = 0 and C_OUTPUT_BIDIR = 0 generate
Split_Out <= Data_In(C_LOW_INDEX to C_HIGH_INDEX);
end generate Not_Bidir;
Input_Bidir: if C_INPUT_BIDIR = 1 generate
Input_Bidir_Proc: process (Data_IO_In_I, Split_Tri, Split_In)
begin
-- Set default values
Data_IO_In_T <= (others => '1');
Data_IO_In_O <= (others => '1');
Split_Out <= Data_IO_In_I(C_LOW_INDEX to C_HIGH_INDEX);
Data_IO_In_T(C_LOW_INDEX to C_HIGH_INDEX) <= Split_Tri;
Data_IO_In_O(C_LOW_INDEX to C_HIGH_INDEX) <= Split_In;
end process Input_Bidir_Proc;
end generate Input_Bidir;
Output_Bidir: if C_OUTPUT_BIDIR = 1 generate
Output_Bidir_Proc: process (Data_In, Data_Tri, Data_IO_Out_I)
begin
-- Set default values
Data_Out <= (others => '1');
Data_IO_Out_O <= Data_In(C_LOW_INDEX to C_HIGH_INDEX);
Data_IO_Out_T <= Data_Tri(C_LOW_INDEX to C_HIGH_INDEX);
Data_Out(C_LOW_INDEX to C_HIGH_INDEX) <= Data_IO_Out_I;
end process Output_Bidir_Proc;
end generate Output_Bidir;
end behavioral;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -