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

Subversion Repositories or1k

[/] [or1k/] [tags/] [rel_13/] [or1200/] [rtl/] [verilog/] [or1200_cpu.v] - Diff between revs 636 and 660

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

Rev 636 Rev 660
Line 43... Line 43...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.6  2002/02/01 19:56:54  lampret
 
// Fixed combinational loops.
 
//
// Revision 1.5  2002/01/28 01:15:59  lampret
// Revision 1.5  2002/01/28 01:15:59  lampret
// Changed 'void' nop-ops instead of insn[0] to use insn[16]. Debug unit stalls the tick timer. Prepared new flag generation for add and and insns. Blocked DC/IC while they are turned off. Fixed I/D MMU SPRs layout except WAYs. TODO: smart IC invalidate, l.j 2 and TLB ways.
// Changed 'void' nop-ops instead of insn[0] to use insn[16]. Debug unit stalls the tick timer. Prepared new flag generation for add and and insns. Blocked DC/IC while they are turned off. Fixed I/D MMU SPRs layout except WAYs. TODO: smart IC invalidate, l.j 2 and TLB ways.
//
//
// Revision 1.4  2002/01/18 14:21:43  lampret
// Revision 1.4  2002/01/18 14:21:43  lampret
// Fixed 'the NPC single-step fix'.
// Fixed 'the NPC single-step fix'.
Line 119... Line 122...
        // Clk & Rst
        // Clk & Rst
        clk, rst,
        clk, rst,
 
 
        // Insn interface
        // Insn interface
        ic_en,
        ic_en,
        icpu_adr_o, icpu_cyc_o, icpu_stb_o, icpu_we_o, icpu_sel_o, icpu_tag_o,
        icpu_adr_o, icpu_cycstb_o, icpu_we_o, icpu_sel_o, icpu_tag_o,
        icpu_dat_i, icpu_ack_i, icpu_rty_i, icpu_err_i, icpu_adr_i, icpu_tag_i,
        icpu_dat_i, icpu_ack_i, icpu_rty_i, icpu_err_i, icpu_adr_i, icpu_tag_i,
        immu_en,
        immu_en,
 
 
        // Debug unit
        // Debug unit
        ex_insn, ex_freeze, branch_op,
        ex_insn, ex_freeze, branch_op,
        du_stall, du_addr, du_dat_du, du_read, du_write, du_dsr, du_except, du_dat_cpu,
        du_stall, du_addr, du_dat_du, du_read, du_write, du_dsr, du_except, du_dat_cpu,
 
 
        // Data interface
        // Data interface
        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_cycstb_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 & tick exceptions
        // Interrupt & tick exceptions
        sig_int, sig_tick,
        sig_int, sig_tick,
Line 159... Line 162...
//
//
// Insn (IC) interface
// Insn (IC) interface
//
//
output                          ic_en;
output                          ic_en;
output  [31:0]                   icpu_adr_o;
output  [31:0]                   icpu_adr_o;
output                          icpu_cyc_o;
output                          icpu_cycstb_o;
output                          icpu_stb_o;
 
output                          icpu_we_o;
output                          icpu_we_o;
output  [3:0]                    icpu_sel_o;
output  [3:0]                    icpu_sel_o;
output  [3:0]                    icpu_tag_o;
output  [3:0]                    icpu_tag_o;
input   [31:0]                   icpu_dat_i;
input   [31:0]                   icpu_dat_i;
input                           icpu_ack_i;
input                           icpu_ack_i;
Line 195... Line 197...
 
 
//
//
// Data (DC) interface
// Data (DC) interface
//
//
output  [31:0]                   dcpu_adr_o;
output  [31:0]                   dcpu_adr_o;
output                          dcpu_cyc_o;
output                          dcpu_cycstb_o;
output                          dcpu_stb_o;
 
output                          dcpu_we_o;
output                          dcpu_we_o;
output  [3:0]                    dcpu_sel_o;
output  [3:0]                    dcpu_sel_o;
output  [3:0]                    dcpu_tag_o;
output  [3:0]                    dcpu_tag_o;
output  [31:0]                   dcpu_dat_o;
output  [31:0]                   dcpu_dat_o;
input   [31:0]                   dcpu_dat_i;
input   [31:0]                   dcpu_dat_i;
Line 365... Line 366...
//
//
or1200_genpc or1200_genpc(
or1200_genpc or1200_genpc(
        .clk(clk),
        .clk(clk),
        .rst(rst),
        .rst(rst),
        .icpu_adr_o(icpu_adr_o),
        .icpu_adr_o(icpu_adr_o),
        .icpu_cyc_o(icpu_cyc_o),
        .icpu_cycstb_o(icpu_cycstb_o),
        .icpu_stb_o(icpu_stb_o),
 
        .icpu_sel_o(icpu_sel_o),
        .icpu_sel_o(icpu_sel_o),
        .icpu_tag_o(icpu_tag_o),
        .icpu_tag_o(icpu_tag_o),
        .icpu_ack_i(icpu_ack_i),
        .icpu_ack_i(icpu_ack_i),
        .icpu_rty_i(icpu_rty_i),
        .icpu_rty_i(icpu_rty_i),
        .icpu_err_i(icpu_err_i),
        .icpu_err_i(icpu_err_i),
Line 620... Line 620...
        .except_dtlbmiss(except_dtlbmiss),
        .except_dtlbmiss(except_dtlbmiss),
        .except_dmmufault(except_dmmufault),
        .except_dmmufault(except_dmmufault),
        .except_dbuserr(except_dbuserr),
        .except_dbuserr(except_dbuserr),
 
 
        .dcpu_adr_o(dcpu_adr_o),
        .dcpu_adr_o(dcpu_adr_o),
        .dcpu_cyc_o(dcpu_cyc_o),
        .dcpu_cycstb_o(dcpu_cycstb_o),
        .dcpu_stb_o(dcpu_stb_o),
 
        .dcpu_we_o(dcpu_we_o),
        .dcpu_we_o(dcpu_we_o),
        .dcpu_sel_o(dcpu_sel_o),
        .dcpu_sel_o(dcpu_sel_o),
        .dcpu_tag_o(dcpu_tag_o),
        .dcpu_tag_o(dcpu_tag_o),
        .dcpu_dat_o(dcpu_dat_o),
        .dcpu_dat_o(dcpu_dat_o),
        .dcpu_dat_i(dcpu_dat_i),
        .dcpu_dat_i(dcpu_dat_i),

powered by: WebSVN 2.1.0

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