Changes between Initial Version and Version 1 of Component/Mips


Ignore:
Timestamp:
May 6, 2007, 1:26:06 PM (17 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Component/Mips

    v1 v1  
     1[wiki:Component SocLib Components General Index]
     2
     3= Mips Processor Functional Description =
     4
     5This hardware component is a Mips R3000 processor core.
     6This uses the generic [wiki:Components/VciXcache VciXcache] component to interface
     7a VCI advanced interconnect.
     8
     9The simulation model is actually an instruction set simulator (ISS),
     10organised as a two-stage pipeline:
     11 * The first pipeline stage is the instruction fetch, with access to the external instruction cache
     12 * The second pipeline stage is the instruction execution; with a possible access to the external data cache
     13 * The "delayed branch" is accurately modelized, but not the "delayed load".
     14The main functional specifications are the following:
     15 * The floating point instructions are not supported
     16 * There is no TLB : no hardware support for virtual memory
     17 * All Mips R3000 exceptions are handled, including the memory addressing X_IBE and X_DBE, but the write errors are not precise, due to the posted write buffer in the cache controller.
     18 * Five "system registers" are defined :
     19
     20 
     21= Mips Processor  CABA  Implementation =
     22
     23The caba implementation is in
     24 * source:trunk/soclib/systemc/include/caba/interconnect/pibus_bcu.h
     25 * source:trunk/soclib/systemc/src/caba/interconnect/pibus_bcu.cc
     26
     27== Template parameters ==
     28 
     29template<typename vci_param>
     30
     31== Constructor parameters ==
     32{{{
     33PiBcu(
     34     sc_module_name name,   //  Instance Name
     35     const soclib::common::MappingTable &mp,   // Mapping Table
     36     size_t nb_master,   // Number of initiators
     37     size_t nb-slave,   // Number of targets
     38     uint32_t time_out);   // Time-out (number of cycles)
     39}}}
     40
     41== Ports ==
     42
     43 * sc_in<bool> '''p_resetn''' : Global system reset
     44 * sc_in<bool> '''p_clk''' : Global system clock
     45 * sc_in<bool> '''*p_irq[6]''' : The six interrupt requests
     46 * soclib::caba::!IcacheProcesssorPort '''p_icache''' : Instruction cache interface to the VciXcache
     47 * soclib::caba::!DcacheProcesssorPort '''p_dcache''' : Data cache interface to the VciXcache