Dev Book
Modeling
Hardware Component

Hardware Components

  • In Kathryn, hardware components refers to both physical and logical elements of the hardware design model and they are internally composed of 6 major types.

  • Typedescription
    Regstorable hardware component, only sensitive to posedge clk src: src/model/hwComponent/register/register.h
    Wirenon-storable hardware component, sensitive to all signal propagation src: src/model/hwComponent/wire/wire.h
    Valueconstant value src: src/model/hwComponent/value/value.h
    Nestconcatenate hardware components in single variable src: src/model/hwComponent/expression/nest.h
    MemBlockarray storable hardware component, only sensitive to posedge clk src: src/model/hwComponent/memBlock/MemBlock.h
    MemBlockAgentthe indexer of the Memblock, storation sensitive to posedge clk, retrieve sensitive to all signal src: src/model/hwComponent/memBlock/MemBlockAgent.h
    expressionrepresent the combitional logic src: src/model/hwComponent/expression/expression.h
    SliceAgentslice hardware component src: src/model/hwComponent/abstract/slicable.h

Hardware Component Structure

  • This section illustrates how hardware components are structured.
Photo
  • AssignOpr<H> manages interface for designers to assign the value to its element.
  • Assignable manages the signal behavior for its element.
  • Operable provides interface for signal operation such as bitwise, arithmethic, etc.
  • Slicable<H> manages bit slicing for each element.
  • AssignCallbackFromAgent<H> provides interface for interacting with Slicable<H>
  • Identifiable manages names, component id, localization for its component.
  • HwCompControllerItf provides communication between its component and model controller
  • ModelDebuggable provides interface for debuggable.
  • LogicSimEngineInterface provides interface for letting simulation engine to retrive model meta-data
  • LogicGenInterface provides interface for letting Verilog Generation engine to retrieve model meta-data
  • MemSimEngineInterface provides interface MemBlk for letting simulation engine to rertrive model meta-data