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

📄 std_2c35.vhd

📁 nois 2cpu 硬件实现编程
💻 VHD
📖 第 1 页 / 共 5 页
字号:
  cpu_jtag_debug_module_arb_share_set_values <= std_logic_vector'("001");  --cpu_jtag_debug_module_non_bursting_master_requests mux, which is an e_mux  cpu_jtag_debug_module_non_bursting_master_requests <= ((internal_cpu_data_master_requests_cpu_jtag_debug_module OR internal_cpu_instruction_master_requests_cpu_jtag_debug_module) OR internal_cpu_data_master_requests_cpu_jtag_debug_module) OR internal_cpu_instruction_master_requests_cpu_jtag_debug_module;  --cpu_jtag_debug_module_any_bursting_master_saved_grant mux, which is an e_mux  cpu_jtag_debug_module_any_bursting_master_saved_grant <= std_logic'('0');  --cpu_jtag_debug_module_arb_share_counter_next_value assignment, which is an e_assign  cpu_jtag_debug_module_arb_share_counter_next_value <= A_EXT (A_WE_StdLogicVector((std_logic'(cpu_jtag_debug_module_firsttransfer) = '1'), (((std_logic_vector'("000000000000000000000000000000") & (cpu_jtag_debug_module_arb_share_set_values)) - std_logic_vector'("000000000000000000000000000000001"))), A_WE_StdLogicVector((std_logic'(or_reduce(cpu_jtag_debug_module_arb_share_counter)) = '1'), (((std_logic_vector'("000000000000000000000000000000") & (cpu_jtag_debug_module_arb_share_counter)) - std_logic_vector'("000000000000000000000000000000001"))), std_logic_vector'("000000000000000000000000000000000"))), 3);  --cpu_jtag_debug_module_allgrants all slave grants, which is an e_mux  cpu_jtag_debug_module_allgrants <= ((or_reduce(cpu_jtag_debug_module_grant_vector) OR or_reduce(cpu_jtag_debug_module_grant_vector)) OR or_reduce(cpu_jtag_debug_module_grant_vector)) OR or_reduce(cpu_jtag_debug_module_grant_vector);  --cpu_jtag_debug_module_end_xfer assignment, which is an e_assign  cpu_jtag_debug_module_end_xfer <= NOT ((cpu_jtag_debug_module_waits_for_read OR cpu_jtag_debug_module_waits_for_write));  --end_xfer_arb_share_counter_term_cpu_jtag_debug_module arb share counter enable term, which is an e_assign  end_xfer_arb_share_counter_term_cpu_jtag_debug_module <= cpu_jtag_debug_module_end_xfer AND (((NOT cpu_jtag_debug_module_any_bursting_master_saved_grant OR in_a_read_cycle) OR in_a_write_cycle));  --cpu_jtag_debug_module_arb_share_counter arbitration counter enable, which is an e_assign  cpu_jtag_debug_module_arb_counter_enable <= ((end_xfer_arb_share_counter_term_cpu_jtag_debug_module AND cpu_jtag_debug_module_allgrants)) OR ((end_xfer_arb_share_counter_term_cpu_jtag_debug_module AND NOT cpu_jtag_debug_module_non_bursting_master_requests));  --cpu_jtag_debug_module_arb_share_counter counter, which is an e_register  process (clk, reset_n)  begin    if reset_n = '0' then      cpu_jtag_debug_module_arb_share_counter <= std_logic_vector'("000");    elsif clk'event and clk = '1' then      if std_logic'(cpu_jtag_debug_module_arb_counter_enable) = '1' then         cpu_jtag_debug_module_arb_share_counter <= cpu_jtag_debug_module_arb_share_counter_next_value;      end if;    end if;  end process;  --cpu_jtag_debug_module_slavearbiterlockenable slave enables arbiterlock, which is an e_register  process (clk, reset_n)  begin    if reset_n = '0' then      cpu_jtag_debug_module_slavearbiterlockenable <= std_logic'('0');    elsif clk'event and clk = '1' then      if std_logic'((((or_reduce(cpu_jtag_debug_module_master_qreq_vector) AND end_xfer_arb_share_counter_term_cpu_jtag_debug_module)) OR ((end_xfer_arb_share_counter_term_cpu_jtag_debug_module AND NOT cpu_jtag_debug_module_non_bursting_master_requests)))) = '1' then         cpu_jtag_debug_module_slavearbiterlockenable <= or_reduce(cpu_jtag_debug_module_arb_share_counter_next_value);      end if;    end if;  end process;  --cpu/data_master cpu/jtag_debug_module arbiterlock, which is an e_assign  cpu_data_master_arbiterlock <= cpu_jtag_debug_module_slavearbiterlockenable AND cpu_data_master_continuerequest;  --cpu_jtag_debug_module_slavearbiterlockenable2 slave enables arbiterlock2, which is an e_assign  cpu_jtag_debug_module_slavearbiterlockenable2 <= or_reduce(cpu_jtag_debug_module_arb_share_counter_next_value);  --cpu/data_master cpu/jtag_debug_module arbiterlock2, which is an e_assign  cpu_data_master_arbiterlock2 <= cpu_jtag_debug_module_slavearbiterlockenable2 AND cpu_data_master_continuerequest;  --cpu/instruction_master cpu/jtag_debug_module arbiterlock, which is an e_assign  cpu_instruction_master_arbiterlock <= cpu_jtag_debug_module_slavearbiterlockenable AND cpu_instruction_master_continuerequest;  --cpu/instruction_master cpu/jtag_debug_module arbiterlock2, which is an e_assign  cpu_instruction_master_arbiterlock2 <= cpu_jtag_debug_module_slavearbiterlockenable2 AND cpu_instruction_master_continuerequest;  --cpu/instruction_master granted cpu/jtag_debug_module last time, which is an e_register  process (clk, reset_n)  begin    if reset_n = '0' then      last_cycle_cpu_instruction_master_granted_slave_cpu_jtag_debug_module <= std_logic'('0');    elsif clk'event and clk = '1' then      if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then         last_cycle_cpu_instruction_master_granted_slave_cpu_jtag_debug_module <= Vector_To_Std_Logic(A_WE_StdLogicVector((std_logic'(cpu_instruction_master_saved_grant_cpu_jtag_debug_module) = '1'), std_logic_vector'("00000000000000000000000000000001"), A_WE_StdLogicVector((std_logic'(((cpu_jtag_debug_module_arbitration_holdoff_internal OR NOT internal_cpu_instruction_master_requests_cpu_jtag_debug_module))) = '1'), std_logic_vector'("00000000000000000000000000000000"), (std_logic_vector'("0000000000000000000000000000000") & (A_TOSTDLOGICVECTOR(last_cycle_cpu_instruction_master_granted_slave_cpu_jtag_debug_module))))));      end if;    end if;  end process;  --cpu_instruction_master_continuerequest continued request, which is an e_mux  cpu_instruction_master_continuerequest <= last_cycle_cpu_instruction_master_granted_slave_cpu_jtag_debug_module AND internal_cpu_instruction_master_requests_cpu_jtag_debug_module;  --cpu_jtag_debug_module_any_continuerequest at least one master continues requesting, which is an e_mux  cpu_jtag_debug_module_any_continuerequest <= cpu_instruction_master_continuerequest OR cpu_data_master_continuerequest;  internal_cpu_data_master_qualified_request_cpu_jtag_debug_module <= internal_cpu_data_master_requests_cpu_jtag_debug_module AND NOT (cpu_instruction_master_arbiterlock);  --cpu_jtag_debug_module_writedata mux, which is an e_mux  cpu_jtag_debug_module_writedata <= cpu_data_master_writedata;  --mux cpu_jtag_debug_module_debugaccess, which is an e_mux  cpu_jtag_debug_module_debugaccess <= cpu_data_master_debugaccess;  internal_cpu_instruction_master_requests_cpu_jtag_debug_module <= ((to_std_logic(((Std_Logic_Vector'(cpu_instruction_master_address_to_slave(26 DOWNTO 11) & std_logic_vector'("00000000000")) = std_logic_vector'("010001000100000000000000000")))) AND (cpu_instruction_master_read))) AND cpu_instruction_master_read;  --cpu/data_master granted cpu/jtag_debug_module last time, which is an e_register  process (clk, reset_n)  begin    if reset_n = '0' then      last_cycle_cpu_data_master_granted_slave_cpu_jtag_debug_module <= std_logic'('0');    elsif clk'event and clk = '1' then      if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then         last_cycle_cpu_data_master_granted_slave_cpu_jtag_debug_module <= Vector_To_Std_Logic(A_WE_StdLogicVector((std_logic'(cpu_data_master_saved_grant_cpu_jtag_debug_module) = '1'), std_logic_vector'("00000000000000000000000000000001"), A_WE_StdLogicVector((std_logic'(((cpu_jtag_debug_module_arbitration_holdoff_internal OR NOT internal_cpu_data_master_requests_cpu_jtag_debug_module))) = '1'), std_logic_vector'("00000000000000000000000000000000"), (std_logic_vector'("0000000000000000000000000000000") & (A_TOSTDLOGICVECTOR(last_cycle_cpu_data_master_granted_slave_cpu_jtag_debug_module))))));      end if;    end if;  end process;  --cpu_data_master_continuerequest continued request, which is an e_mux  cpu_data_master_continuerequest <= last_cycle_cpu_data_master_granted_slave_cpu_jtag_debug_module AND internal_cpu_data_master_requests_cpu_jtag_debug_module;  internal_cpu_instruction_master_qualified_request_cpu_jtag_debug_module <= internal_cpu_instruction_master_requests_cpu_jtag_debug_module AND NOT ((((cpu_instruction_master_read AND ((to_std_logic((((std_logic_vector'("00000000000000000000000000000") & (cpu_instruction_master_latency_counter)) /= std_logic_vector'("00000000000000000000000000000000")))) OR (cpu_instruction_master_read_data_valid_ddr_sdram_s1_shift_register))))) OR cpu_data_master_arbiterlock));  --local readdatavalid cpu_instruction_master_read_data_valid_cpu_jtag_debug_module, which is an e_mux  cpu_instruction_master_read_data_valid_cpu_jtag_debug_module <= (internal_cpu_instruction_master_granted_cpu_jtag_debug_module AND cpu_instruction_master_read) AND NOT cpu_jtag_debug_module_waits_for_read;  --allow new arb cycle for cpu/jtag_debug_module, which is an e_assign  cpu_jtag_debug_module_allow_new_arb_cycle <= NOT cpu_data_master_arbiterlock AND NOT cpu_instruction_master_arbiterlock;  --cpu/instruction_master assignment into master qualified-requests vector for cpu/jtag_debug_module, which is an e_assign  cpu_jtag_debug_module_master_qreq_vector(0) <= internal_cpu_instruction_master_qualified_request_cpu_jtag_debug_module;  --cpu/instruction_master grant cpu/jtag_debug_module, which is an e_assign  internal_cpu_instruction_master_granted_cpu_jtag_debug_module <= cpu_jtag_debug_module_grant_vector(0);  --cpu/instruction_master saved-grant cpu/jtag_debug_module, which is an e_assign  cpu_instruction_master_saved_grant_cpu_jtag_debug_module <= cpu_jtag_debug_module_arb_winner(0) AND internal_cpu_instruction_master_requests_cpu_jtag_debug_module;  --cpu/data_master assignment into master qualified-requests vector for cpu/jtag_debug_module, which is an e_assign  cpu_jtag_debug_module_master_qreq_vector(1) <= internal_cpu_data_master_qualified_request_cpu_jtag_debug_module;  --cpu/data_master grant cpu/jtag_debug_module, which is an e_assign  internal_cpu_data_master_granted_cpu_jtag_debug_module <= cpu_jtag_debug_module_grant_vector(1);  --cpu/data_master saved-grant cpu/jtag_debug_module, which is an e_assign  cpu_data_master_saved_grant_cpu_jtag_debug_module <= cpu_jtag_debug_module_arb_winner(1) AND internal_cpu_data_master_requests_cpu_jtag_debug_module;  --cpu/jtag_debug_module chosen-master double-vector, which is an e_assign  cpu_jtag_debug_module_chosen_master_double_vector <= A_EXT (((std_logic_vector'("0") & ((cpu_jtag_debug_module_master_qreq_vector & cpu_jtag_debug_module_master_qreq_vector))) AND (((std_logic_vector'("0") & (Std_Logic_Vector'(NOT cpu_jtag_debug_module_master_qreq_vector & NOT cpu_jtag_debug_module_master_qreq_vector))) + (std_logic_vector'("000") & (cpu_jtag_debug_module_arb_addend))))), 4);  --stable onehot encoding of arb winner  cpu_jtag_debug_module_arb_winner <= A_WE_StdLogicVector((std_logic'(((cpu_jtag_debug_module_allow_new_arb_cycle AND or_reduce(cpu_jtag_debug_module_grant_vector)))) = '1'), cpu_jtag_debug_module_grant_vector, cpu_jtag_debug_module_saved_chosen_master_vector);  --saved cpu_jtag_debug_module_grant_vector, which is an e_register  process (clk, reset_n)  begin    if reset_n = '0' then      cpu_jtag_debug_module_saved_chosen_master_vector <= std_logic_vector'("00");    elsif clk'event and clk = '1' then      if std_logic'(cpu_jtag_debug_module_allow_new_arb_cycle) = '1' then         cpu_jtag_debug_module_saved_chosen_master_vector <= A_WE_StdLogicVector((std_logic'(or_reduce(cpu_jtag_debug_module_grant_vector)) = '1'), cpu_jtag_debug_module_grant_vector, cpu_jtag_debug_module_saved_chosen_master_vector);      end if;    end if;  end process;  --onehot encoding of chosen master  cpu_jtag_debug_module_grant_vector <= Std_Logic_Vector'(A_ToStdLogicVector(((cpu_jtag_debug_module_chosen_master_double_vector(1) OR cpu_jtag_debug_module_chosen_master_double_vector(3)))) & A_ToStdLogicVector(((cpu_jtag_debug_module_chosen_master_double_vector(0) OR cpu_jtag_debug_module_chosen_master_double_vector(2)))));  --cpu/jtag_debug_module chosen master rotated left, which is an e_assign  cpu_jtag_debug_module_chosen_master_rot_left <= A_EXT (A_WE_StdLogicVector((((A_SLL(cpu_jtag_debug_module_arb_winner,std_logic_vector'("00000000000000000000000000000001")))) /= std_logic_vector'("00")), (std_logic_vector'("000000000000000000000000000000") & ((A_SLL(cpu_jtag_debug_module_arb_winner,std_logic_vector'("00000000000000000000000000000001"))))), std_logic_vector'("00000000000000000000000000000001")), 2);  --cpu/jtag_debug_module's addend for next-master-grant  process (clk, reset_n)  begin    if reset_n = '0' then      cpu_jtag_debug_module_arb_addend <= std_logic_vector'("01");    elsif clk'event and clk = '1' then      if std_logic'(or_reduce(cpu_jtag_debug_module_grant_vector)) = '1' then         cpu_jtag_debug_module_arb_addend <= A_WE_StdLogicVector((std_logic'(cpu_jtag_debug_module_end_xfer) = '1'), cpu_jtag_debug_module_chosen_master_rot_left, cpu_jtag_debug_module_grant_vector);      end if;    end if;  end process;  cpu_jtag_debug_module_begintransfer <= cpu_jtag_debug_module_begins_xfer;  --assign lhs ~cpu_jtag_debug_module_reset of type reset_n to cpu_jtag_debug_module_reset_n, which is an e_assign  cpu_jtag_debug_module_reset <= NOT internal_cpu_jtag_debug_module_reset_n;  --cpu_jtag_debug_module_reset_n assignment, which is an e_assign  internal_cpu_jtag_debug_module_reset_n <= reset_n;  --assign cpu_jtag_debug_module_resetrequest_from_sa = cpu_jtag_debug_module_resetrequest so that symbol knows where to group signals which may go to master only, which is an e_assign  cpu_jtag_debug_module_resetrequest_from_sa <= cpu_jtag_debug_module_resetrequest;  cpu_jtag_debug_module_chipselect <= internal_cpu_data_master_granted_cpu_jtag_debug_module OR internal_cpu_instruction_master_granted_cpu_jtag_debug_module;  --cpu_jtag_debug_module_firsttransfer first transaction, which is an e_assign  cpu_jtag_debug_module_firsttransfer <= NOT ((cpu_jtag_debug_module_slavearbiterlockenable AND cpu_jtag_debug_module_any_continuerequest));  --cpu_jtag_debug_module_beginbursttransfer_internal begin burst transfer, which is an e_assign  cpu_jtag_debug_module_beginbursttransfer_internal <= cpu_jtag_debug_module_begins_xfer;  --cpu_jtag_debug_module_arbitration_holdoff_internal arbitration_holdoff, which is an e_assign  cpu_jtag_debug_module_arbitration_holdoff_internal <= cpu_jtag_debug_module_begins_xfer AND cpu_jtag_debug_module_firsttransfer;  --cpu_jtag_debug_module_write assignment, which is an e_mux  cpu_jtag_debug_module_write <= internal_cpu_data_master_granted_cpu_jtag_debug_module AND cpu_data_master_write;  shifted_address_to_cpu_jtag_debug_module_from_cpu_data_master <= cpu_data_master_address_to_slave;  --cpu_jtag_debug_module_address mux, which is an e_mux  cpu_jtag_debug_module_address <= A_EXT (A_WE_StdLogicVector((std_logic'((internal_cpu_data_master_granted_cpu_jtag_debug_module)) = '1'), (A_SRL(shifted_address_to_cpu_jtag_debug_module_from_cpu_data_master,std_logic_vector'("00000000000000000000000000000010"))), (A_SRL(shifted_address_to_cpu_jtag_debug_module_from_cpu_instruction_master,std_logic_vector'("00000000000000000000000000000010")))), 9);  shifted_address_to_cpu_jtag_debug_module_from_cpu_instruction_master <= cpu_instruction_master_address_to_slave;  --d1_cpu_jtag_debug_module_end_xfer register, which is an e_register  process (clk, reset_n)  begin    if reset_n = '0' then      d1_cpu_jtag_debug_module_end_xfer <= std_logic'('1');    elsif clk'event and clk = '1' then      if (std_logic_vector'("00000000000000000000000000000001")) /= std_logic_vector'("00000000000000000000000000000000") then         d1_cpu_jtag_debug_module_end_xfer <= cpu_jtag_debug_module_end_xfer;      end if;    end if;  end process;  --cpu_jtag_debug_module_waits_for_read in a cycle, which is an e_mux  cpu_jtag_debug_module_waits_for_read <= cpu_jtag_debug_module_in_a_read_cycle AND cpu_jtag_debug_module_begins_xfer;  --cpu_jtag_debug_module_in_a_read_cycle assignment, which is an e_assign  cpu_jtag_debug_module_in_a_read_cycle <= ((internal_cpu_data_master_granted_cpu_jtag_debug_module AND cpu_data_master_read)) OR ((internal_cpu_instruction_master_granted_cpu_jtag_debug_module AND cpu_instruction_master_read));  --in_a_read_cycle assignment, which is an e_mux  in_a_read_cycle <= cpu_jtag_debug_module_in_a_read_cycle;  --cpu_jtag_debug_module_waits_for_write in a cycle, which is an e_mux  cpu_jtag_debug_module_waits_for_write <= cpu_jtag_debug_module_in_a_write_cycle AND cpu_jtag_debug_module_begins_xfer;  --cpu_jtag_debug_module_in_a_write_cycle assignment, which is an e_assign  cpu_jtag_debug_module_in_a_write_cycle <= internal_cpu_data_master_granted_cpu_jtag_debug_module AND cpu_data_master_write;  --in_a_write_cycle assignment, which is an e_mux  in_a_write_cycle <= cpu_jtag_debug_module_in_a_write_cycle;  wait_for_cpu_jtag_debug_module_counter <= std_logic'('0');  --cpu_jtag_debug_module_byteenable byte enable port mux, which is an e_mux  cpu_jtag_debug_module_byteenable <= A_EXT (A_WE_StdLogicVector((std_logic'((internal_cpu_data_master_granted_cpu_jtag_debug_module)) = '1'), (std_logic_vector'("0000000000000000000000000000") & (cpu_data_master_byteenable)), -SIGNED(std_logic_vector'("00000000000000000000000000000001"))), 4);  --vhdl renameroo for output signals  cpu_data_master_granted_cpu_jtag_debug_module <= internal_cpu_data_master_granted_cpu_jtag_debug_module;  --vhdl renameroo for output signals  cpu_data_master_qualified_request_cpu_jtag_debug_module <= internal_cpu_data_master_qualified_request_cpu_jtag_debug_module;  --vhdl renameroo for output signals  cpu_data_master_requests_cpu_jtag_debug_module <= internal_cpu_data_master_requests_cpu_jtag_debug_module;  --vhdl renameroo for output signals  cpu_instruction_master_granted_cpu_jtag_debug_module <= internal_cpu_instruction_master_gran

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -