⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clock_0.vhd

📁 nois 2cpu 硬件实现编程
💻 VHD
📖 第 1 页 / 共 3 页
字号:
                 -- 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 + -