Useful IP components for chips. BAR projects generally use these components with chipyard.
BootAddrReg: periphery device intended for use with testchipip/bootromTileResetCtrl: memory-mapped Tile-reset registersCustomBootPin: I/O for setting non-default boot address toBootAddrReg
ClockGates, ClockMuxes, ClockDividers, etc.ResetSynchronizers
SpikeCosim: Spike-based cosimulation modelTraceIO: Utilities for pulling instruction traces out of SoCsDromajo: DEPRECATED Dromajo cosimulation model
SimDRAM: DRAMSim-backed AXI-4 memory modelSimTLMem: Magic TileLink memory
IceBlk: Peripheral block device for FireSim
GenericSerdesser: Generic Decoupled bidirectional Serdes generatorsTLSerdesser: TileLink bi-directional serializerPeripheryTLSerial: Attaches TLSerdesser to chip busesSerialWidthAdapter: Converts between serial interfaces of different widths
OffchipBus: Custom bus for interfacing with off-chip memoryScratchpad: TileLink SRAM-backed on-chip scratchpad memorySimDTM: Simulation model for interacting with on-chip debug moduleTLNetwork: DEPRECATED mechanism for creating a TileLink network-on-chip. Use Constellation NoC instead
SimSPIFlashModel: Simulation model for SPI flash memory
TSIToTileLink: Converts a TSI master to a TileLink masterSimTSI: Simulation model for interacting with a TSI interfaceTSIHarness: Utilities for attaching TSI-simulation devices to a TestHarnessPeripheryUARTTSI: Attaches a TSI-over-UART interface to a bringup FPGA or chip
UARTToSerial: Converts UART to a chip's serial interfaceSimUART: Simulation model for a chip's UART
- Custom BootROM for SoCs with extra bringup features
- Host utility tool based on FESVR for interfacing with FPGA prototypes or test-chips using the TSI protocol over a UART physical interface
Testchipip can be used in your project in one of two ways:
- As an sbt subproject that depends on rocket-chip, as in chipyard
- As a maven dependency (e.g. write
libraryDependencies += "edu.berkeley.cs" %% "testchipip" % "1.0-020719-SNAPSHOT"
in your build.sbt). Check sonatype to see the latest published version.