📄 clock_0.vhd
字号:
-- outputs: signal data_out : OUT STD_LOGIC );end component clock_0_master_write_done_sync_module;component clock_0_edge_to_pulse is port ( -- inputs: signal clock : IN STD_LOGIC; signal data_in : IN STD_LOGIC; signal reset_n : IN STD_LOGIC; -- outputs: signal data_out : OUT STD_LOGIC );end component clock_0_edge_to_pulse;component clock_0_slave_FSM is port ( -- inputs: signal master_read_done_token : IN STD_LOGIC; signal master_write_done_token : IN STD_LOGIC; signal slave_clk : IN STD_LOGIC; signal slave_read : IN STD_LOGIC; signal slave_reset_n : IN STD_LOGIC; signal slave_write : IN STD_LOGIC; -- outputs: signal slave_read_request : OUT STD_LOGIC; signal slave_waitrequest : OUT STD_LOGIC; signal slave_write_request : OUT STD_LOGIC );end component clock_0_slave_FSM;component clock_0_slave_read_request_sync_module is port ( -- inputs: signal clk : IN STD_LOGIC; signal data_in : IN STD_LOGIC; signal reset_n : IN STD_LOGIC; -- outputs: signal data_out : OUT STD_LOGIC );end component clock_0_slave_read_request_sync_module;component clock_0_slave_write_request_sync_module is port ( -- inputs: signal clk : IN STD_LOGIC; signal data_in : IN STD_LOGIC; signal reset_n : IN STD_LOGIC; -- outputs: signal data_out : OUT STD_LOGIC );end component clock_0_slave_write_request_sync_module;component clock_0_master_FSM is port ( -- inputs: signal master_clk : IN STD_LOGIC; signal master_reset_n : IN STD_LOGIC; signal master_waitrequest : IN STD_LOGIC; signal slave_read_request_token : IN STD_LOGIC; signal slave_write_request_token : IN STD_LOGIC; -- outputs: signal master_read : OUT STD_LOGIC; signal master_read_done : OUT STD_LOGIC; signal master_write : OUT STD_LOGIC; signal master_write_done : OUT STD_LOGIC );end component clock_0_master_FSM;component clock_0_bit_pipe is port ( -- inputs: signal clk1 : IN STD_LOGIC; signal clk2 : IN STD_LOGIC; signal data_in : IN STD_LOGIC; signal reset_clk1_n : IN STD_LOGIC; signal reset_clk2_n : IN STD_LOGIC; -- outputs: signal data_out : OUT STD_LOGIC );end component clock_0_bit_pipe; signal internal_master_read : STD_LOGIC; signal internal_master_write : STD_LOGIC; signal internal_slave_endofpacket : STD_LOGIC; signal internal_slave_waitrequest : STD_LOGIC; signal master_read_done : STD_LOGIC; signal master_read_done_sync : STD_LOGIC; signal master_read_done_token : STD_LOGIC; signal master_write_done : STD_LOGIC; signal master_write_done_sync : STD_LOGIC; signal master_write_done_token : STD_LOGIC; signal slave_address_d1 : STD_LOGIC_VECTOR (3 DOWNTO 0); signal slave_byteenable_d1 : STD_LOGIC_VECTOR (1 DOWNTO 0); signal slave_nativeaddress_d1 : STD_LOGIC_VECTOR (2 DOWNTO 0); signal slave_read_request : STD_LOGIC; signal slave_read_request_sync : STD_LOGIC; signal slave_read_request_token : STD_LOGIC; signal slave_readdata_p1 : STD_LOGIC_VECTOR (15 DOWNTO 0); signal slave_write_request : STD_LOGIC; signal slave_write_request_sync : STD_LOGIC; signal slave_write_request_token : STD_LOGIC; signal slave_writedata_d1 : STD_LOGIC_VECTOR (15 DOWNTO 0);attribute ALTERA_ATTRIBUTE : string;attribute ALTERA_ATTRIBUTE of master_address : signal is "PRESERVE_REGISTER=ON";attribute ALTERA_ATTRIBUTE of master_byteenable : signal is "PRESERVE_REGISTER=ON";attribute ALTERA_ATTRIBUTE of master_nativeaddress : signal is "PRESERVE_REGISTER=ON";attribute ALTERA_ATTRIBUTE of master_writedata : signal is "PRESERVE_REGISTER=ON";attribute ALTERA_ATTRIBUTE of slave_address_d1 : signal is "{-to ""*""} CUT=ON ; PRESERVE_REGISTER=ON";attribute ALTERA_ATTRIBUTE of slave_byteenable_d1 : signal is "{-to ""*""} CUT=ON ; PRESERVE_REGISTER=ON";attribute ALTERA_ATTRIBUTE of slave_nativeaddress_d1 : signal is "{-to ""*""} CUT=ON ; PRESERVE_REGISTER=ON";attribute ALTERA_ATTRIBUTE of slave_readdata : signal is "{-from ""*""} CUT=ON";attribute ALTERA_ATTRIBUTE of slave_writedata_d1 : signal is "{-to ""*""} CUT=ON ; PRESERVE_REGISTER=ON";begin --in, which is an e_avalon_slave --out, which is an e_avalon_master --clock_0_master_read_done_sync, which is an e_synchronizer clock_0_master_read_done_sync : clock_0_master_read_done_sync_module port map( data_out => master_read_done_sync, clk => slave_clk, data_in => master_read_done, reset_n => slave_reset_n ); --clock_0_master_write_done_sync, which is an e_synchronizer clock_0_master_write_done_sync : clock_0_master_write_done_sync_module port map( data_out => master_write_done_sync, clk => slave_clk, data_in => master_write_done, reset_n => slave_reset_n ); --read_done_edge_to_pulse, which is an e_instance read_done_edge_to_pulse : clock_0_edge_to_pulse port map( data_out => master_read_done_token, clock => slave_clk, data_in => master_read_done_sync, reset_n => slave_reset_n ); --write_done_edge_to_pulse, which is an e_instance write_done_edge_to_pulse : clock_0_edge_to_pulse port map( data_out => master_write_done_token, clock => slave_clk, data_in => master_write_done_sync, reset_n => slave_reset_n ); --slave_FSM, which is an e_instance slave_FSM : clock_0_slave_FSM port map( slave_read_request => slave_read_request, slave_waitrequest => internal_slave_waitrequest, slave_write_request => slave_write_request, master_read_done_token => master_read_done_token, master_write_done_token => master_write_done_token, slave_clk => slave_clk, slave_read => slave_read, slave_reset_n => slave_reset_n, slave_write => slave_write ); --clock_0_slave_read_request_sync, which is an e_synchronizer clock_0_slave_read_request_sync : clock_0_slave_read_request_sync_module port map( data_out => slave_read_request_sync, clk => master_clk, data_in => slave_read_request, reset_n => master_reset_n ); --clock_0_slave_write_request_sync, which is an e_synchronizer clock_0_slave_write_request_sync : clock_0_slave_write_request_sync_module port map( data_out => slave_write_request_sync, clk => master_clk, data_in => slave_write_request, reset_n => master_reset_n ); --read_request_edge_to_pulse, which is an e_instance read_request_edge_to_pulse : clock_0_edge_to_pulse port map( data_out => slave_read_request_token, clock => master_clk, data_in => slave_read_request_sync, reset_n => master_reset_n ); --write_request_edge_to_pulse, which is an e_instance write_request_edge_to_pulse : clock_0_edge_to_pulse port map( data_out => slave_write_request_token, clock => master_clk, data_in => slave_write_request_sync, reset_n => master_reset_n ); --master_FSM, which is an e_instance master_FSM : clock_0_master_FSM port map( master_read => internal_master_read, master_read_done => master_read_done, master_write => internal_master_write, master_write_done => master_write_done, master_clk => master_clk, master_reset_n => master_reset_n, master_waitrequest => master_waitrequest, slave_read_request_token => slave_read_request_token, slave_write_request_token => slave_write_request_token ); --endofpacket_bit_pipe, which is an e_instance endofpacket_bit_pipe : clock_0_bit_pipe port map( data_out => internal_slave_endofpacket, clk1 => slave_clk, clk2 => master_clk, data_in => master_endofpacket, reset_clk1_n => slave_reset_n, reset_clk2_n => master_reset_n ); process (master_clk, master_reset_n) begin if master_reset_n = '0' then slave_readdata_p1 <= std_logic_vector'("0000000000000000"); elsif master_clk'event and master_clk = '1' then if std_logic'((internal_master_read AND NOT master_waitrequest)) = '1' then slave_readdata_p1 <= master_readdata; end if; end if; end process; process (slave_clk, slave_reset_n) begin if slave_reset_n = '0' then slave_readdata <= std_logic_vector'("0000000000000000"); elsif slave_clk'event and slave_clk = '1' then if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then slave_readdata <= slave_readdata_p1; end if; end if; end process; process (slave_clk, slave_reset_n) begin if slave_reset_n = '0' then slave_writedata_d1 <= std_logic_vector'("0000000000000000"); elsif slave_clk'event and slave_clk = '1' then if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then slave_writedata_d1 <= slave_writedata; end if; end if; end process; process (master_clk, master_reset_n) begin if master_reset_n = '0' then master_writedata <= std_logic_vector'("0000000000000000"); elsif master_clk'event and master_clk = '1' then if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then master_writedata <= slave_writedata_d1; end if; end if; end process; process (slave_clk, slave_reset_n) begin if slave_reset_n = '0' then slave_address_d1 <= std_logic_vector'("0000"); elsif slave_clk'event and slave_clk = '1' then if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then slave_address_d1 <= slave_address; end if; end if; end process; process (master_clk, master_reset_n) begin if master_reset_n = '0' then master_address <= std_logic_vector'("0000"); elsif master_clk'event and master_clk = '1' then if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then master_address <= slave_address_d1; end if; end if; end process; process (slave_clk, slave_reset_n) begin if slave_reset_n = '0' then slave_nativeaddress_d1 <= std_logic_vector'("000"); elsif slave_clk'event and slave_clk = '1' then if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then slave_nativeaddress_d1 <= slave_nativeaddress; end if; end if; end process; process (master_clk, master_reset_n) begin if master_reset_n = '0' then master_nativeaddress <= std_logic_vector'("000"); elsif master_clk'event and master_clk = '1' then if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then master_nativeaddress <= slave_nativeaddress_d1; end if; end if; end process; process (slave_clk, slave_reset_n) begin if slave_reset_n = '0' then slave_byteenable_d1 <= std_logic_vector'("00"); elsif slave_clk'event and slave_clk = '1' then if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then slave_byteenable_d1 <= slave_byteenable; end if; end if; end process; process (master_clk, master_reset_n) begin if master_reset_n = '0' then master_byteenable <= std_logic_vector'("00"); elsif master_clk'event and master_clk = '1' then if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then master_byteenable <= slave_byteenable_d1; end if; end if; end process; --vhdl renameroo for output signals master_read <= internal_master_read; --vhdl renameroo for output signals master_write <= internal_master_write; --vhdl renameroo for output signals slave_endofpacket <= internal_slave_endofpacket; --vhdl renameroo for output signals slave_waitrequest <= internal_slave_waitrequest;end europa;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -