OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [rel_26/] [or1200/] [rtl/] [verilog/] [or1200_cpu.v] - Diff between revs 562 and 589

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 562 Rev 589
Line 43... Line 43...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.2  2002/01/14 06:18:22  lampret
 
// Fixed mem2reg bug in FAST implementation. Updated debug unit to work with new genpc/if.
 
//
// Revision 1.1  2002/01/03 08:16:15  lampret
// Revision 1.1  2002/01/03 08:16:15  lampret
// New prefixes for RTL files, prefixed module names. Updated cache controllers and MMUs.
// New prefixes for RTL files, prefixed module names. Updated cache controllers and MMUs.
//
//
// Revision 1.19  2001/11/30 18:59:47  simons
// Revision 1.19  2001/11/30 18:59:47  simons
// *** empty log message ***
// *** empty log message ***
Line 121... Line 124...
        dc_en,
        dc_en,
        dcpu_adr_o, dcpu_cyc_o, dcpu_stb_o, dcpu_we_o, dcpu_sel_o, dcpu_tag_o, dcpu_dat_o,
        dcpu_adr_o, dcpu_cyc_o, dcpu_stb_o, dcpu_we_o, dcpu_sel_o, dcpu_tag_o, dcpu_dat_o,
        dcpu_dat_i, dcpu_ack_i, dcpu_rty_i, dcpu_err_i, dcpu_tag_i,
        dcpu_dat_i, dcpu_ack_i, dcpu_rty_i, dcpu_err_i, dcpu_tag_i,
        dmmu_en,
        dmmu_en,
 
 
        // Interrupt exceptions
        // Interrupt & tick exceptions
        int_high, int_low,
        sig_int, sig_tick,
 
 
        // SPR interface
        // SPR interface
        supv, spr_addr, spr_dataout, spr_dat_pic, spr_dat_tt, spr_dat_pm,
        supv, spr_addr, spr_dataout, spr_dat_pic, spr_dat_tt, spr_dat_pm,
        spr_dat_dmmu, spr_dat_immu, spr_dat_du, spr_cs, spr_we
        spr_dat_dmmu, spr_dat_immu, spr_dat_du, spr_cs, spr_we
);
);
Line 218... Line 221...
output                          spr_we;
output                          spr_we;
 
 
//
//
// Interrupt exceptions
// Interrupt exceptions
//
//
input                           int_high;
input                           sig_int;
input                           int_low;
input                           sig_tick;
 
 
//
//
// Internal wires
// Internal wires
//
//
wire    [31:0]                   if_insn;
wire    [31:0]                   if_insn;
Line 341... Line 344...
assign immu_en = sr[`OR1200_SR_IME];
assign immu_en = sr[`OR1200_SR_IME];
 
 
//
//
// SUPV bit
// SUPV bit
//
//
assign supv = sr[`OR1200_SR_SUPV];
assign supv = sr[`OR1200_SR_SM];
 
 
//
//
// Instantiation of instruction fetch block
// Instantiation of instruction fetch block
//
//
or1200_genpc or1200_genpc(
or1200_genpc or1200_genpc(
Line 362... Line 365...
        .icpu_adr_i(icpu_adr_i),
        .icpu_adr_i(icpu_adr_i),
 
 
        .branch_op(branch_op),
        .branch_op(branch_op),
        .except_type(except_type),
        .except_type(except_type),
        .except_start(except_start),
        .except_start(except_start),
 
        .except_prefix(sr[`OR1200_SR_EPH]),
        .branch_addrofs(branch_addrofs),
        .branch_addrofs(branch_addrofs),
        .lr_restor(operand_b),
        .lr_restor(operand_b),
        .flag(flag),
        .flag(flag),
        .taken(branch_taken),
        .taken(branch_taken),
        .binsn_addr(lr_sav),
        .binsn_addr(lr_sav),
Line 451... Line 455...
// Instantiation of register file
// Instantiation of register file
//
//
or1200_rf or1200_rf(
or1200_rf or1200_rf(
        .clk(clk),
        .clk(clk),
        .rst(rst),
        .rst(rst),
        .supv(sr[`OR1200_SR_SUPV]),
        .supv(sr[`OR1200_SR_SM]),
        .wb_freeze(wb_freeze),
        .wb_freeze(wb_freeze),
        .addrw(rf_addrw),
        .addrw(rf_addrw),
        .dataw(rf_dataw),
        .dataw(rf_dataw),
        .id_freeze(id_freeze),
        .id_freeze(id_freeze),
        .we(rfwb_op[0]),
        .we(rfwb_op[0]),
Line 593... Line 597...
        .lsu_datain(operand_b),
        .lsu_datain(operand_b),
        .lsu_dataout(lsu_dataout),
        .lsu_dataout(lsu_dataout),
        .lsu_stall(lsu_stall),
        .lsu_stall(lsu_stall),
        .lsu_unstall(lsu_unstall),
        .lsu_unstall(lsu_unstall),
        .du_stall(du_stall),
        .du_stall(du_stall),
 
        .flushpipe(flushpipe),
        .except_align(except_align),
        .except_align(except_align),
        .except_dtlbmiss(except_dtlbmiss),
        .except_dtlbmiss(except_dtlbmiss),
        .except_dmmufault(except_dmmufault),
        .except_dmmufault(except_dmmufault),
        .except_dbuserr(except_dbuserr),
        .except_dbuserr(except_dbuserr),
 
 
Line 664... Line 669...
        .sig_illegal(except_illegal),
        .sig_illegal(except_illegal),
        .sig_align(except_align),
        .sig_align(except_align),
        .sig_range(1'b0),
        .sig_range(1'b0),
        .sig_dtlbmiss(except_dtlbmiss),
        .sig_dtlbmiss(except_dtlbmiss),
        .sig_dmmufault(except_dmmufault),
        .sig_dmmufault(except_dmmufault),
        .sig_inthigh(int_high),
        .sig_int(sig_int),
        .sig_syscall(sig_syscall),
        .sig_syscall(sig_syscall),
        .sig_trap(sig_trap),
        .sig_trap(sig_trap),
        .sig_itlbmiss(except_itlbmiss),
        .sig_itlbmiss(except_itlbmiss),
        .sig_immufault(except_immufault),
        .sig_immufault(except_immufault),
        .sig_intlow(int_low),
        .sig_tick(sig_tick),
        .branch_taken(branch_taken),
        .branch_taken(branch_taken),
        .id_freeze(id_freeze),
        .id_freeze(id_freeze),
        .ex_freeze(ex_freeze),
        .ex_freeze(ex_freeze),
        .wb_freeze(wb_freeze),
        .wb_freeze(wb_freeze),
        .if_stall(if_stall),
        .if_stall(if_stall),
Line 683... Line 688...
        .extend_flush(extend_flush),
        .extend_flush(extend_flush),
        .except_type(except_type),
        .except_type(except_type),
        .except_start(except_start),
        .except_start(except_start),
        .except_started(except_started),
        .except_started(except_started),
        .except_stop(except_stop),
        .except_stop(except_stop),
        .wb_pc(spr_dat_ppc),
        .has_dslot(has_dslot),
        .ex_pc(spr_dat_npc),
        .spr_dat_ppc(spr_dat_ppc),
        .id_pc(),
        .spr_dat_npc(spr_dat_npc),
//      .wb_pc(),
 
//      .ex_pc(spr_dat_ppc),
 
//      .id_pc(spr_dat_npc),
 
 
 
        .datain(operand_b),
        .datain(operand_b),
        .du_dsr(du_dsr),
        .du_dsr(du_dsr),
        .epcr_we(epcr_we),
        .epcr_we(epcr_we),
        .eear_we(eear_we),
        .eear_we(eear_we),

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.