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

📄 or1200_top.v

📁 一个开放的risc
💻 V
📖 第 1 页 / 共 2 页
字号:
	.biu_cyc_i(icbiu_cyc_ic),	.biu_stb_i(icbiu_stb_ic),	.biu_we_i(icbiu_we_ic),	.biu_sel_i(icbiu_sel_ic),	.biu_cab_i(icbiu_cab_ic),	.biu_dat_o(icbiu_dat_biu),	.biu_ack_o(icbiu_ack_biu),	.biu_err_o(icbiu_err_biu));//// Instantiation of Data WISHBONE BIU//or1200_wb_biu dwb_biu(	// RISC clk, rst and clock control	.clk(clk_i),	.rst(rst_i),	.clmode(clmode_i),	// WISHBONE interface	.wb_clk_i(dwb_clk_i),	.wb_rst_i(dwb_rst_i),	.wb_ack_i(dwb_ack_i),	.wb_err_i(dwb_err_i),	.wb_rty_i(dwb_rty_i),	.wb_dat_i(dwb_dat_i),	.wb_cyc_o(dwb_cyc_o),	.wb_adr_o(dwb_adr_o),	.wb_stb_o(dwb_stb_o),	.wb_we_o(dwb_we_o),	.wb_sel_o(dwb_sel_o),	.wb_dat_o(dwb_dat_o),`ifdef OR1200_WB_CAB	.wb_cab_o(dwb_cab_o),`endif`ifdef OR1200_WB_B3	.wb_cti_o(dwb_cti_o),	.wb_bte_o(dwb_bte_o),`endif	// Internal RISC bus	.biu_dat_i(sbbiu_dat_sb),	.biu_adr_i(sbbiu_adr_sb),	.biu_cyc_i(sbbiu_cyc_sb),	.biu_stb_i(sbbiu_stb_sb),	.biu_we_i(sbbiu_we_sb),	.biu_sel_i(sbbiu_sel_sb),	.biu_cab_i(sbbiu_cab_sb),	.biu_dat_o(sbbiu_dat_biu),	.biu_ack_o(sbbiu_ack_biu),	.biu_err_o(sbbiu_err_biu));//// Instantiation of IMMU//or1200_immu_top or1200_immu_top(	// Rst and clk	.clk(clk_i),	.rst(rst_i),`ifdef OR1200_BIST	// RAM BIST	.scanb_rst(scanb_rst),	.scanb_si(scanb_immu_si),	.scanb_so(scanb_immu_so),	.scanb_en(scanb_en),	.scanb_clk(scanb_clk),`endif	// CPU i/f	.ic_en(ic_en),	.immu_en(immu_en),	.supv(supv),	.icpu_adr_i(icpu_adr_cpu),	.icpu_cycstb_i(icpu_cycstb_cpu),	.icpu_adr_o(icpu_adr_immu),	.icpu_tag_o(icpu_tag_immu),	.icpu_rty_o(icpu_rty_immu),	.icpu_err_o(icpu_err_immu),	// SPR access	.spr_cs(spr_cs[`OR1200_SPR_GROUP_IMMU]),	.spr_write(spr_we),	.spr_addr(spr_addr),	.spr_dat_i(spr_dat_cpu),	.spr_dat_o(spr_dat_immu),	// IC i/f	.icimmu_rty_i(icimmu_rty_ic),	.icimmu_err_i(icimmu_err_ic),	.icimmu_tag_i(icimmu_tag_ic),	.icimmu_adr_o(icimmu_adr_immu),	.icimmu_cycstb_o(icimmu_cycstb_immu),	.icimmu_ci_o(icimmu_ci_immu));//// Instantiation of Instruction Cache//or1200_ic_top or1200_ic_top(	.clk(clk_i),	.rst(rst_i),`ifdef OR1200_BIST	// RAM BIST	.scanb_rst(scanb_rst),	.scanb_si(scanb_ic_si),	.scanb_so(scanb_ic_so),	.scanb_en(scanb_en),	.scanb_clk(scanb_clk),`endif	// IC and CPU/IMMU	.ic_en(ic_en),	.icimmu_adr_i(icimmu_adr_immu),	.icimmu_cycstb_i(icimmu_cycstb_immu),	.icimmu_ci_i(icimmu_ci_immu),	.icpu_sel_i(icpu_sel_cpu),	.icpu_tag_i(icpu_tag_cpu),	.icpu_dat_o(icpu_dat_ic),	.icpu_ack_o(icpu_ack_ic),	.icimmu_rty_o(icimmu_rty_ic),	.icimmu_err_o(icimmu_err_ic),	.icimmu_tag_o(icimmu_tag_ic),	// SPR access	.spr_cs(spr_cs[`OR1200_SPR_GROUP_IC]),	.spr_write(spr_we),	.spr_dat_i(spr_dat_cpu),	// IC and BIU	.icbiu_dat_o(icbiu_dat_ic),	.icbiu_adr_o(icbiu_adr_ic),	.icbiu_cyc_o(icbiu_cyc_ic),	.icbiu_stb_o(icbiu_stb_ic),	.icbiu_we_o(icbiu_we_ic),	.icbiu_sel_o(icbiu_sel_ic),	.icbiu_cab_o(icbiu_cab_ic),	.icbiu_dat_i(icbiu_dat_biu),	.icbiu_ack_i(icbiu_ack_biu),	.icbiu_err_i(icbiu_err_biu));//// Instantiation of Instruction Cache//or1200_cpu or1200_cpu(	.clk(clk_i),	.rst(rst_i),	// Connection IC and IFETCHER inside CPU	.ic_en(ic_en),	.icpu_adr_o(icpu_adr_cpu),	.icpu_cycstb_o(icpu_cycstb_cpu),	.icpu_sel_o(icpu_sel_cpu),	.icpu_tag_o(icpu_tag_cpu),	.icpu_dat_i(icpu_dat_ic),	.icpu_ack_i(icpu_ack_ic),	.icpu_rty_i(icpu_rty_immu),	.icpu_adr_i(icpu_adr_immu),	.icpu_err_i(icpu_err_immu),	.icpu_tag_i(icpu_tag_immu),	// Connection CPU to external Debug port	.ex_freeze(ex_freeze),	.ex_insn(ex_insn),	.branch_op(branch_op),	.du_stall(du_stall),	.du_addr(du_addr),	.du_dat_du(du_dat_du),	.du_read(du_read),	.du_write(du_write),	.du_dsr(du_dsr),	.du_except(du_except),	.du_dat_cpu(du_dat_cpu),	.rf_dataw(rf_dataw),	// Connection IMMU and CPU internally	.immu_en(immu_en),	// Connection DC and CPU	.dc_en(dc_en),	.dcpu_adr_o(dcpu_adr_cpu),	.dcpu_cycstb_o(dcpu_cycstb_cpu),	.dcpu_we_o(dcpu_we_cpu),	.dcpu_sel_o(dcpu_sel_cpu),	.dcpu_tag_o(dcpu_tag_cpu),	.dcpu_dat_o(dcpu_dat_cpu),        .dcpu_dat_i(dcpu_dat_dc),	.dcpu_ack_i(dcpu_ack_dc),	.dcpu_rty_i(dcpu_rty_dc),	.dcpu_err_i(dcpu_err_dmmu),	.dcpu_tag_i(dcpu_tag_dmmu),	// Connection DMMU and CPU internally	.dmmu_en(dmmu_en),	// Connection PIC and CPU's EXCEPT	.sig_int(sig_int),	.sig_tick(sig_tick),	// SPRs	.supv(supv),	.spr_addr(spr_addr),	.spr_dat_cpu(spr_dat_cpu),	.spr_dat_pic(spr_dat_pic),	.spr_dat_tt(spr_dat_tt),	.spr_dat_pm(spr_dat_pm),	.spr_dat_dmmu(spr_dat_dmmu),	.spr_dat_immu(spr_dat_immu),	.spr_dat_du(spr_dat_du),	.spr_dat_npc(spr_dat_npc),	.spr_cs(spr_cs),	.spr_we(spr_we));//// Instantiation of DMMU//or1200_dmmu_top or1200_dmmu_top(	// Rst and clk	.clk(clk_i),	.rst(rst_i),`ifdef OR1200_BIST	// RAM BIST	.scanb_rst(scanb_rst),	.scanb_si(scanb_dmmu_si),	.scanb_so(scanb_dmmu_so),	.scanb_en(scanb_en),	.scanb_clk(scanb_clk),`endif	// CPU i/f	.dc_en(dc_en),	.dmmu_en(dmmu_en),	.supv(supv),	.dcpu_adr_i(dcpu_adr_cpu),	.dcpu_cycstb_i(dcpu_cycstb_cpu),	.dcpu_we_i(dcpu_we_cpu),	.dcpu_tag_o(dcpu_tag_dmmu),	.dcpu_err_o(dcpu_err_dmmu),	// SPR access	.spr_cs(spr_cs[`OR1200_SPR_GROUP_DMMU]),	.spr_write(spr_we),	.spr_addr(spr_addr),	.spr_dat_i(spr_dat_cpu),	.spr_dat_o(spr_dat_dmmu),	// DC i/f	.dcdmmu_err_i(dcdmmu_err_dc),	.dcdmmu_tag_i(dcdmmu_tag_dc),	.dcdmmu_adr_o(dcdmmu_adr_dmmu),	.dcdmmu_cycstb_o(dcdmmu_cycstb_dmmu),	.dcdmmu_ci_o(dcdmmu_ci_dmmu));//// Instantiation of Data Cache//or1200_dc_top or1200_dc_top(	.clk(clk_i),	.rst(rst_i),`ifdef OR1200_BIST	// RAM BIST	.scanb_rst(scanb_rst),	.scanb_si(scanb_dc_si),	.scanb_so(scanb_dc_so),	.scanb_en(scanb_en),	.scanb_clk(scanb_clk),`endif	// DC and CPU/DMMU	.dc_en(dc_en),	.dcdmmu_adr_i(dcdmmu_adr_dmmu),	.dcdmmu_cycstb_i(dcdmmu_cycstb_dmmu),	.dcdmmu_ci_i(dcdmmu_ci_dmmu),	.dcpu_we_i(dcpu_we_cpu),	.dcpu_sel_i(dcpu_sel_cpu),	.dcpu_tag_i(dcpu_tag_cpu),	.dcpu_dat_i(dcpu_dat_cpu),	.dcpu_dat_o(dcpu_dat_dc),	.dcpu_ack_o(dcpu_ack_dc),	.dcpu_rty_o(dcpu_rty_dc),	.dcdmmu_err_o(dcdmmu_err_dc),	.dcdmmu_tag_o(dcdmmu_tag_dc),	// SPR access	.spr_cs(spr_cs[`OR1200_SPR_GROUP_DC]),	.spr_write(spr_we),	.spr_dat_i(spr_dat_cpu),	// DC and BIU	.dcsb_dat_o(dcsb_dat_dc),	.dcsb_adr_o(dcsb_adr_dc),	.dcsb_cyc_o(dcsb_cyc_dc),	.dcsb_stb_o(dcsb_stb_dc),	.dcsb_we_o(dcsb_we_dc),	.dcsb_sel_o(dcsb_sel_dc),	.dcsb_cab_o(dcsb_cab_dc),	.dcsb_dat_i(dcsb_dat_sb),	.dcsb_ack_i(dcsb_ack_sb),	.dcsb_err_i(dcsb_err_sb));//// Instantiation of Store Buffer//or1200_sb or1200_sb(	// RISC clock, reset	.clk(clk_i),	.rst(rst_i),	// Internal RISC bus (DC<->SB)	.dcsb_dat_i(dcsb_dat_dc),	.dcsb_adr_i(dcsb_adr_dc),	.dcsb_cyc_i(dcsb_cyc_dc),	.dcsb_stb_i(dcsb_stb_dc),	.dcsb_we_i(dcsb_we_dc),	.dcsb_sel_i(dcsb_sel_dc),	.dcsb_cab_i(dcsb_cab_dc),	.dcsb_dat_o(dcsb_dat_sb),	.dcsb_ack_o(dcsb_ack_sb),	.dcsb_err_o(dcsb_err_sb),	// SB and BIU	.sbbiu_dat_o(sbbiu_dat_sb),	.sbbiu_adr_o(sbbiu_adr_sb),	.sbbiu_cyc_o(sbbiu_cyc_sb),	.sbbiu_stb_o(sbbiu_stb_sb),	.sbbiu_we_o(sbbiu_we_sb),	.sbbiu_sel_o(sbbiu_sel_sb),	.sbbiu_cab_o(sbbiu_cab_sb),	.sbbiu_dat_i(sbbiu_dat_biu),	.sbbiu_ack_i(sbbiu_ack_biu),	.sbbiu_err_i(sbbiu_err_biu));//// Instantiation of Debug Unit//or1200_du or1200_du(	// RISC Internal Interface	.clk(clk_i),	.rst(rst_i),	.dcpu_cycstb_i(dcpu_cycstb_cpu),	.dcpu_we_i(dcpu_we_cpu),	.icpu_cycstb_i(icpu_cycstb_cpu),	.ex_freeze(ex_freeze),	.branch_op(branch_op),	.ex_insn(ex_insn),	.du_dsr(du_dsr),	// For Trace buffer	.spr_dat_npc(spr_dat_npc),	.rf_dataw(rf_dataw),	// DU's access to SPR unit	.du_stall(du_stall),	.du_addr(du_addr),	.du_dat_i(du_dat_cpu),	.du_dat_o(du_dat_du),	.du_read(du_read),	.du_write(du_write),	.du_except(du_except),	// Access to DU's SPRs	.spr_cs(spr_cs[`OR1200_SPR_GROUP_DU]),	.spr_write(spr_we),	.spr_addr(spr_addr),	.spr_dat_i(spr_dat_cpu),	.spr_dat_o(spr_dat_du),	// External Debug Interface	.dbg_stall_i(dbg_stall_i),	.dbg_dat_i(dbg_dat_i),	.dbg_adr_i(dbg_adr_i),	.dbg_op_i(dbg_op_i),	.dbg_ewt_i(dbg_ewt_i),	.dbg_lss_o(dbg_lss_o),	.dbg_is_o(dbg_is_o),	.dbg_wp_o(dbg_wp_o),	.dbg_bp_o(dbg_bp_o),	.dbg_dat_o(dbg_dat_o));//// Programmable interrupt controller//or1200_pic or1200_pic(	// RISC Internal Interface	.clk(clk_i),	.rst(rst_i),	.spr_cs(spr_cs[`OR1200_SPR_GROUP_PIC]),	.spr_write(spr_we),	.spr_addr(spr_addr),	.spr_dat_i(spr_dat_cpu),	.spr_dat_o(spr_dat_pic),	.pic_wakeup(pic_wakeup),	.int(sig_int), 	// PIC Interface	.pic_int(pic_ints_i));//// Instantiation of Tick timer//or1200_tt or1200_tt(	// RISC Internal Interface	.clk(clk_i),	.rst(rst_i),	.du_stall(du_stall),	.spr_cs(spr_cs[`OR1200_SPR_GROUP_TT]),	.spr_write(spr_we),	.spr_addr(spr_addr),	.spr_dat_i(spr_dat_cpu),	.spr_dat_o(spr_dat_tt),	.int(sig_tick));//// Instantiation of Power Management//or1200_pm or1200_pm(	// RISC Internal Interface	.clk(clk_i),	.rst(rst_i),	.pic_wakeup(pic_wakeup),	.spr_write(spr_we),	.spr_addr(spr_addr),	.spr_dat_i(spr_dat_cpu),	.spr_dat_o(spr_dat_pm),	// Power Management Interface	.pm_cpustall(pm_cpustall_i),	.pm_clksd(pm_clksd_o),	.pm_dc_gate(pm_dc_gate_o),	.pm_ic_gate(pm_ic_gate_o),	.pm_dmmu_gate(pm_dmmu_gate_o),	.pm_immu_gate(pm_immu_gate_o),	.pm_tt_gate(pm_tt_gate_o),	.pm_cpu_gate(pm_cpu_gate_o),	.pm_wakeup(pm_wakeup_o),	.pm_lvolt(pm_lvolt_o));endmodule

⌨️ 快捷键说明

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