Merge pull request #1463 from ucb-bar/harness-dir
Move TestHarness to chipyard.harness, make chipyard/harness directory
This commit is contained in:
@@ -18,12 +18,12 @@ for a new clock domain.
|
|||||||
This is useful for simulating systems in which modules in the harness have independent clock domains
|
This is useful for simulating systems in which modules in the harness have independent clock domains
|
||||||
from the DUT.
|
from the DUT.
|
||||||
|
|
||||||
Requests for a harness clock is done by the ``HarnessClockInstantiator`` class in ``generators/chipyard/src/main/scala/TestHarness.scala``.
|
Requests for a harness clock is done by the ``HarnessClockInstantiator`` class in ``generators/chipyard/src/main/scala/harness/TestHarness.scala``.
|
||||||
This class is accessed in harness components by referencing the Rocket Chip parameters key ``p(HarnessClockInstantiatorKey)``.
|
This class is accessed in harness components by referencing the Rocket Chip parameters key ``p(HarnessClockInstantiatorKey)``.
|
||||||
Then you can request a clock and syncronized reset at a particular frequency by invoking the ``requestClockBundle`` function.
|
Then you can request a clock and syncronized reset at a particular frequency by invoking the ``requestClockBundle`` function.
|
||||||
Take the following example:
|
Take the following example:
|
||||||
|
|
||||||
.. literalinclude:: ../../generators/chipyard/src/main/scala/HarnessBinders.scala
|
.. literalinclude:: ../../generators/chipyard/src/main/scala/harness/HarnessBinders.scala
|
||||||
:language: scala
|
:language: scala
|
||||||
:start-after: DOC include start: HarnessClockInstantiatorEx
|
:start-after: DOC include start: HarnessClockInstantiatorEx
|
||||||
:end-before: DOC include end: HarnessClockInstantiatorEx
|
:end-before: DOC include end: HarnessClockInstantiatorEx
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ Like ``IOBinders``, ``HarnessBinders`` are defined using macros (``OverrideHarne
|
|||||||
|
|
||||||
For exmaple, the ``WithUARTAdapter`` will connect the UART SW display adapter to the ports generated by the ``WithUARTIOCells`` described earlier, if those ports are present.
|
For exmaple, the ``WithUARTAdapter`` will connect the UART SW display adapter to the ports generated by the ``WithUARTIOCells`` described earlier, if those ports are present.
|
||||||
|
|
||||||
.. literalinclude:: ../../generators/chipyard/src/main/scala/HarnessBinders.scala
|
.. literalinclude:: ../../generators/chipyard/src/main/scala/harness/HarnessBinders.scala
|
||||||
:language: scala
|
:language: scala
|
||||||
:start-after: DOC include start: WithUARTAdapter
|
:start-after: DOC include start: WithUARTAdapter
|
||||||
:end-before: DOC include end: WithUARTAdapter
|
:end-before: DOC include end: WithUARTAdapter
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ Timing reports are found in ``build/par-rundir/timingReports``. They are gzipped
|
|||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
./view_gds.py build/chipyard.TestHarness.TinyRocketConfig/par-rundir/ChipTop.gds
|
./view_gds.py build/chipyard.harness.TestHarness.TinyRocketConfig/par-rundir/ChipTop.gds
|
||||||
|
|
||||||
By default, this script only shows the M2 thru M4 routing. Layers can be toggled in the layout viewer's side pane and ``view_gds.py`` has a mapping of layer numbers to layer names.
|
By default, this script only shows the M2 thru M4 routing. Layers can be toggled in the layout viewer's side pane and ``view_gds.py`` has a mapping of layer numbers to layer names.
|
||||||
|
|
||||||
@@ -126,9 +126,9 @@ To run DRC & LVS, and view the results in Calibre:
|
|||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
make drc CONFIG=TinyRocketConfig
|
make drc CONFIG=TinyRocketConfig
|
||||||
./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/drc-rundir/generated-scripts/view-drc
|
./build/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/drc-rundir/generated-scripts/view-drc
|
||||||
make lvs CONFIG=TinyRocketConfig
|
make lvs CONFIG=TinyRocketConfig
|
||||||
./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/lvs-rundir/generated-scripts/view-lvs
|
./build/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/lvs-rundir/generated-scripts/view-lvs
|
||||||
|
|
||||||
Some DRC errors are expected from this PDK, as explained in the `ASAP7 plugin readme <https://github.com/ucb-bar/hammer/blob/master/hammer/technology/asap7>`__.
|
Some DRC errors are expected from this PDK, as explained in the `ASAP7 plugin readme <https://github.com/ucb-bar/hammer/blob/master/hammer/technology/asap7>`__.
|
||||||
Furthermore, the dummy SRAMs that are provided in this tutorial and PDK do not have any geometry inside, so will certainly cause DRC errors.
|
Furthermore, the dummy SRAMs that are provided in this tutorial and PDK do not have any geometry inside, so will certainly cause DRC errors.
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ It is recommended that you edit these variables directly in the Makefile rather
|
|||||||
|
|
||||||
The ``buildfile`` make target has dependencies on both (1) the Verilog that is elaborated from all Chisel sources
|
The ``buildfile`` make target has dependencies on both (1) the Verilog that is elaborated from all Chisel sources
|
||||||
and (2) the mapping of memory instances in the design to SRAM macros;
|
and (2) the mapping of memory instances in the design to SRAM macros;
|
||||||
all files related to these two steps reside in the ``generated-src/chipyard.TestHarness.TinyRocketConfig-ChipTop`` directory.
|
all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory.
|
||||||
Note that the files in ``generated-src`` vary for each tool/technology flow.
|
Note that the files in ``generated-src`` vary for each tool/technology flow.
|
||||||
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
|
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
|
||||||
(due to the ``ENABLE_YOSYS_FLOW`` flag present for the OpenROAD flow), so these flows should be run in separate
|
(due to the ``ENABLE_YOSYS_FLOW`` flag present for the OpenROAD flow), so these flows should be run in separate
|
||||||
@@ -168,9 +168,9 @@ To run DRC & LVS, and view the results in Calibre:
|
|||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
make drc tutorial=sky130-commercial
|
make drc tutorial=sky130-commercial
|
||||||
./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/drc-rundir/generated-scripts/view_drc
|
./build/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/drc-rundir/generated-scripts/view_drc
|
||||||
make lvs tutorial=sky130-commercial
|
make lvs tutorial=sky130-commercial
|
||||||
./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/lvs-rundir/generated-scripts/view_lvs
|
./build/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/lvs-rundir/generated-scripts/view_lvs
|
||||||
|
|
||||||
Some DRC errors are expected from this PDK, especially with regards to the SRAMs, as explained in the
|
Some DRC errors are expected from this PDK, especially with regards to the SRAMs, as explained in the
|
||||||
`Sky130 Hammer plugin README <https://github.com/ucb-bar/hammer/blob/master/hammer/technology/sky130>`__.
|
`Sky130 Hammer plugin README <https://github.com/ucb-bar/hammer/blob/master/hammer/technology/sky130>`__.
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ It is recommended that you edit these variables directly in the Makefile rather
|
|||||||
|
|
||||||
The ``buildfile`` make target has dependencies on both (1) the Verilog that is elaborated from all Chisel sources
|
The ``buildfile`` make target has dependencies on both (1) the Verilog that is elaborated from all Chisel sources
|
||||||
and (2) the mapping of memory instances in the design to SRAM macros;
|
and (2) the mapping of memory instances in the design to SRAM macros;
|
||||||
all files related to these two steps reside in the ``generated-src/chipyard.TestHarness.TinyRocketConfig-ChipTop`` directory.
|
all files related to these two steps reside in the ``generated-src/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop`` directory.
|
||||||
Note that the files in ``generated-src`` vary for each tool/technology flow.
|
Note that the files in ``generated-src`` vary for each tool/technology flow.
|
||||||
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
|
This especially applies to the Sky130 Commercial vs OpenROAD tutorial flows
|
||||||
(due to the ``ENABLE_YOSYS_FLOW`` flag, explained below), so these flows should be run in separate
|
(due to the ``ENABLE_YOSYS_FLOW`` flag, explained below), so these flows should be run in separate
|
||||||
@@ -197,7 +197,7 @@ Hammer generates a convenient script to launch these sessions
|
|||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
cd ./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/par-rundir
|
cd ./build/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/par-rundir
|
||||||
./generated-scripts/open_chip
|
./generated-scripts/open_chip
|
||||||
|
|
||||||
Note that the conda OpenROAD package was compiled with the GUI disabled, so in order to view the layout,
|
Note that the conda OpenROAD package was compiled with the GUI disabled, so in order to view the layout,
|
||||||
@@ -212,7 +212,7 @@ These databases can be restored using the same ``open_chip`` script for debuggin
|
|||||||
|
|
||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
cd build/chipyard.TestHarness.TinyRocketConfig-ChipTop/par-rundir
|
cd build/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/par-rundir
|
||||||
./generated_scripts/open_chip -h
|
./generated_scripts/open_chip -h
|
||||||
"
|
"
|
||||||
Usage: ./generated-scripts/open_chip [-t] [openroad_db_name]
|
Usage: ./generated-scripts/open_chip [-t] [openroad_db_name]
|
||||||
@@ -245,9 +245,9 @@ To run DRC & LVS in Magic & Netgen, respectively:
|
|||||||
.. code-block:: shell
|
.. code-block:: shell
|
||||||
|
|
||||||
make drc tutorial=sky130-openroad
|
make drc tutorial=sky130-openroad
|
||||||
./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/drc-rundir/generated-scripts/view_drc
|
./build/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/drc-rundir/generated-scripts/view_drc
|
||||||
make lvs tutorial=sky130-openroad
|
make lvs tutorial=sky130-openroad
|
||||||
./build/chipyard.TestHarness.TinyRocketConfig-ChipTop/lvs-rundir/generated-scripts/view_lvs
|
./build/chipyard.harness.TestHarness.TinyRocketConfig-ChipTop/lvs-rundir/generated-scripts/view_lvs
|
||||||
|
|
||||||
Note that in ``sky130-openroad.yml`` we have set the following YAML keys:
|
Note that in ``sky130-openroad.yml`` we have set the following YAML keys:
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,7 @@ import org.chipsalliance.cde.config.{Parameters}
|
|||||||
|
|
||||||
import sifive.fpgashells.shell.xilinx.artyshell.{ArtyShell}
|
import sifive.fpgashells.shell.xilinx.artyshell.{ArtyShell}
|
||||||
|
|
||||||
import chipyard.{BuildTop, HasHarnessSignalReferences}
|
import chipyard.harness.{ApplyHarnessBinders, BuildTop, HasHarnessSignalReferences}
|
||||||
import chipyard.harness.{ApplyHarnessBinders}
|
|
||||||
import chipyard.iobinders.{HasIOBinders}
|
import chipyard.iobinders.{HasIOBinders}
|
||||||
|
|
||||||
class ArtyFPGATestHarness(override implicit val p: Parameters) extends ArtyShell with HasHarnessSignalReferences {
|
class ArtyFPGATestHarness(override implicit val p: Parameters) extends ArtyShell with HasHarnessSignalReferences {
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ import sifive.fpgashells.ip.xilinx.{IBUF, PowerOnResetFPGAOnly}
|
|||||||
|
|
||||||
import sifive.blocks.devices.uart._
|
import sifive.blocks.devices.uart._
|
||||||
|
|
||||||
import chipyard._
|
import chipyard.{ChipTop, CanHaveMasterTLMemPort, ExtTLMem}
|
||||||
import chipyard.harness.{ApplyHarnessBinders}
|
import chipyard.harness._
|
||||||
import chipyard.iobinders.{HasIOBinders}
|
import chipyard.iobinders.{HasIOBinders}
|
||||||
|
|
||||||
class Arty100THarness(override implicit val p: Parameters) extends Arty100TShell with HasHarnessSignalReferences
|
class Arty100THarness(override implicit val p: Parameters) extends Arty100TShell with HasHarnessSignalReferences
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ import sifive.fpgashells.shell.xilinx.{VC7074GDDRSize}
|
|||||||
|
|
||||||
import testchipip.{SerialTLKey}
|
import testchipip.{SerialTLKey}
|
||||||
|
|
||||||
import chipyard.{BuildSystem, ExtTLMem, DefaultClockFrequencyKey}
|
import chipyard.{BuildSystem, ExtTLMem}
|
||||||
|
import chipyard.harness.{DefaultClockFrequencyKey}
|
||||||
|
|
||||||
class WithDefaultPeripherals extends Config((site, here, up) => {
|
class WithDefaultPeripherals extends Config((site, here, up) => {
|
||||||
case PeripheryUARTKey => List(UARTParams(address = BigInt(0x64000000L)))
|
case PeripheryUARTKey => List(UARTParams(address = BigInt(0x64000000L)))
|
||||||
|
|||||||
@@ -16,9 +16,9 @@ import sifive.fpgashells.devices.xilinx.xilinxvc707pciex1.{XilinxVC707PCIeX1IO}
|
|||||||
import sifive.blocks.devices.uart.{PeripheryUARTKey, UARTPortIO}
|
import sifive.blocks.devices.uart.{PeripheryUARTKey, UARTPortIO}
|
||||||
import sifive.blocks.devices.spi.{PeripherySPIKey, SPIPortIO}
|
import sifive.blocks.devices.spi.{PeripherySPIKey, SPIPortIO}
|
||||||
|
|
||||||
import chipyard.{HasHarnessSignalReferences, BuildTop, ChipTop, ExtTLMem, CanHaveMasterTLMemPort, DefaultClockFrequencyKey}
|
import chipyard.{ChipTop, ExtTLMem, CanHaveMasterTLMemPort}
|
||||||
import chipyard.iobinders.{HasIOBinders}
|
import chipyard.iobinders.{HasIOBinders}
|
||||||
import chipyard.harness.{ApplyHarnessBinders}
|
import chipyard.harness.{ApplyHarnessBinders, HasHarnessSignalReferences, BuildTop, DefaultClockFrequencyKey}
|
||||||
|
|
||||||
class VC707FPGATestHarness(override implicit val p: Parameters) extends VC707Shell { outer =>
|
class VC707FPGATestHarness(override implicit val p: Parameters) extends VC707Shell { outer =>
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ import sifive.fpgashells.shell.xilinx.{VCU118ShellPMOD, VCU118DDRSize}
|
|||||||
|
|
||||||
import testchipip.{SerialTLKey}
|
import testchipip.{SerialTLKey}
|
||||||
|
|
||||||
import chipyard.{BuildSystem, ExtTLMem, DefaultClockFrequencyKey}
|
import chipyard.{BuildSystem, ExtTLMem}
|
||||||
|
import chipyard.harness.{DefaultClockFrequencyKey}
|
||||||
|
|
||||||
class WithDefaultPeripherals extends Config((site, here, up) => {
|
class WithDefaultPeripherals extends Config((site, here, up) => {
|
||||||
case PeripheryUARTKey => List(UARTParams(address = BigInt(0x64000000L)))
|
case PeripheryUARTKey => List(UARTParams(address = BigInt(0x64000000L)))
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import freechips.rocketchip.tilelink.{TLBundle}
|
|||||||
import sifive.blocks.devices.uart.{HasPeripheryUARTModuleImp, UARTPortIO}
|
import sifive.blocks.devices.uart.{HasPeripheryUARTModuleImp, UARTPortIO}
|
||||||
import sifive.blocks.devices.spi.{HasPeripherySPI, SPIPortIO}
|
import sifive.blocks.devices.spi.{HasPeripherySPI, SPIPortIO}
|
||||||
|
|
||||||
import chipyard.{HasHarnessSignalReferences, CanHaveMasterTLMemPort}
|
import chipyard.{CanHaveMasterTLMemPort}
|
||||||
import chipyard.harness.{OverrideHarnessBinder}
|
import chipyard.harness.{HasHarnessSignalReferences, OverrideHarnessBinder}
|
||||||
|
|
||||||
/*** UART ***/
|
/*** UART ***/
|
||||||
class WithUART extends OverrideHarnessBinder({
|
class WithUART extends OverrideHarnessBinder({
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import sifive.blocks.devices.spi.{PeripherySPIKey, SPIPortIO}
|
|||||||
|
|
||||||
import chipyard._
|
import chipyard._
|
||||||
import chipyard.iobinders.{HasIOBinders}
|
import chipyard.iobinders.{HasIOBinders}
|
||||||
import chipyard.harness.{ApplyHarnessBinders}
|
import chipyard.harness._
|
||||||
|
|
||||||
class VCU118FPGATestHarness(override implicit val p: Parameters) extends VCU118ShellBasicOverlays {
|
class VCU118FPGATestHarness(override implicit val p: Parameters) extends VCU118ShellBasicOverlays {
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,7 @@ import sifive.blocks.devices.gpio.{HasPeripheryGPIOModuleImp, GPIOPortIO}
|
|||||||
|
|
||||||
import testchipip.{HasPeripheryTSIHostWidget, TSIHostWidgetIO}
|
import testchipip.{HasPeripheryTSIHostWidget, TSIHostWidgetIO}
|
||||||
|
|
||||||
import chipyard.{HasHarnessSignalReferences}
|
import chipyard.harness.{ComposeHarnessBinder, OverrideHarnessBinder, HasHarnessSignalReferences}
|
||||||
import chipyard.harness.{ComposeHarnessBinder, OverrideHarnessBinder}
|
|
||||||
|
|
||||||
/*** UART ***/
|
/*** UART ***/
|
||||||
class WithBringupUART extends ComposeHarnessBinder({
|
class WithBringupUART extends ComposeHarnessBinder({
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import freechips.rocketchip.tile._
|
|||||||
import freechips.rocketchip.prci._
|
import freechips.rocketchip.prci._
|
||||||
|
|
||||||
import testchipip.{TLTileResetCtrl}
|
import testchipip.{TLTileResetCtrl}
|
||||||
import chipyard.{DefaultClockFrequencyKey}
|
import chipyard.harness.{DefaultClockFrequencyKey}
|
||||||
|
|
||||||
case class ChipyardPRCIControlParams(
|
case class ChipyardPRCIControlParams(
|
||||||
slaveWhere: TLBusWrapperLocation = CBUS,
|
slaveWhere: TLBusWrapperLocation = CBUS,
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ class ChipLikeQuadRocketConfig extends Config(
|
|||||||
//==================================
|
//==================================
|
||||||
// Set up TestHarness
|
// Set up TestHarness
|
||||||
//==================================
|
//==================================
|
||||||
new chipyard.WithAbsoluteFreqHarnessClockInstantiator ++ // use absolute frequencies for simulations in the harness
|
new chipyard.harness.WithAbsoluteFreqHarnessClockInstantiator ++ // use absolute frequencies for simulations in the harness
|
||||||
// NOTE: This only simulates properly in VCS
|
// NOTE: This only simulates properly in VCS
|
||||||
|
|
||||||
//==================================
|
//==================================
|
||||||
// Set up tiles
|
// Set up tiles
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import freechips.rocketchip.tilelink.{HasTLBusParams}
|
|||||||
|
|
||||||
import chipyard._
|
import chipyard._
|
||||||
import chipyard.clocking._
|
import chipyard.clocking._
|
||||||
|
import chipyard.harness.{DefaultClockFrequencyKey}
|
||||||
|
|
||||||
// The default RocketChip BaseSubsystem drives its diplomatic clock graph
|
// The default RocketChip BaseSubsystem drives its diplomatic clock graph
|
||||||
// with the implicit clocks of Subsystem. Don't do that, instead we extend
|
// with the implicit clocks of Subsystem. Don't do that, instead we extend
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import org.chipsalliance.cde.config._
|
|||||||
import freechips.rocketchip.diplomacy.{InModuleBody}
|
import freechips.rocketchip.diplomacy.{InModuleBody}
|
||||||
import barstools.iocell.chisel._
|
import barstools.iocell.chisel._
|
||||||
import chipyard._
|
import chipyard._
|
||||||
|
import chipyard.harness.{BuildTop}
|
||||||
|
|
||||||
// A "custom" IOCell with additional I/O
|
// A "custom" IOCell with additional I/O
|
||||||
// The IO don't do anything here in this example
|
// The IO don't do anything here in this example
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import freechips.rocketchip.subsystem.{CacheBlockBytes}
|
|||||||
import freechips.rocketchip.devices.debug.{SimJTAG}
|
import freechips.rocketchip.devices.debug.{SimJTAG}
|
||||||
import freechips.rocketchip.jtag.{JTAGIO}
|
import freechips.rocketchip.jtag.{JTAGIO}
|
||||||
import testchipip.{SerialTLKey, SerialAdapter, UARTAdapter, SimDRAM}
|
import testchipip.{SerialTLKey, SerialAdapter, UARTAdapter, SimDRAM}
|
||||||
import chipyard.{BuildTop}
|
import chipyard.harness.{BuildTop}
|
||||||
|
|
||||||
// A "flat" TestHarness that doesn't use IOBinders
|
// A "flat" TestHarness that doesn't use IOBinders
|
||||||
// use with caution.
|
// use with caution.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
package chipyard
|
package chipyard.harness
|
||||||
|
|
||||||
import chisel3._
|
import chisel3._
|
||||||
|
|
||||||
@@ -8,10 +8,9 @@ import org.chipsalliance.cde.config.{Field, Parameters, Config}
|
|||||||
import freechips.rocketchip.util.{ResetCatchAndSync}
|
import freechips.rocketchip.util.{ResetCatchAndSync}
|
||||||
import freechips.rocketchip.prci._
|
import freechips.rocketchip.prci._
|
||||||
|
|
||||||
import chipyard.harness.{ApplyHarnessBinders, HarnessBinders}
|
import chipyard.harness.{ApplyHarnessBinders, HarnessBinders, HarnessClockInstantiatorKey}
|
||||||
import chipyard.iobinders.HasIOBinders
|
import chipyard.iobinders.HasIOBinders
|
||||||
import chipyard.clocking.{SimplePllConfiguration, ClockDividerN}
|
import chipyard.clocking.{SimplePllConfiguration, ClockDividerN}
|
||||||
import chipyard.HarnessClockInstantiatorKey
|
|
||||||
|
|
||||||
|
|
||||||
// HarnessClockInstantiators are classes which generate clocks that drive
|
// HarnessClockInstantiators are classes which generate clocks that drive
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package chipyard
|
package chipyard.harness
|
||||||
|
|
||||||
import chisel3._
|
import chisel3._
|
||||||
|
|
||||||
@@ -11,6 +11,7 @@ import freechips.rocketchip.prci.{ClockBundle, ClockBundleParameters, ClockSinkP
|
|||||||
import chipyard.harness.{ApplyHarnessBinders, HarnessBinders}
|
import chipyard.harness.{ApplyHarnessBinders, HarnessBinders}
|
||||||
import chipyard.iobinders.HasIOBinders
|
import chipyard.iobinders.HasIOBinders
|
||||||
import chipyard.clocking.{SimplePllConfiguration, ClockDividerN}
|
import chipyard.clocking.{SimplePllConfiguration, ClockDividerN}
|
||||||
|
import chipyard.{ChipTop}
|
||||||
|
|
||||||
// -------------------------------
|
// -------------------------------
|
||||||
// Chipyard Test Harness
|
// Chipyard Test Harness
|
||||||
@@ -30,7 +30,6 @@ import cva6.CVA6Tile
|
|||||||
import boom.common.{BoomTile}
|
import boom.common.{BoomTile}
|
||||||
import barstools.iocell.chisel._
|
import barstools.iocell.chisel._
|
||||||
import chipyard.iobinders.{IOBinders, OverrideIOBinder, ComposeIOBinder, GetSystemParameters, IOCellKey}
|
import chipyard.iobinders.{IOBinders, OverrideIOBinder, ComposeIOBinder, GetSystemParameters, IOCellKey}
|
||||||
import chipyard.{HasHarnessSignalReferences}
|
|
||||||
import chipyard.harness._
|
import chipyard.harness._
|
||||||
|
|
||||||
object MainMemoryConsts {
|
object MainMemoryConsts {
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ ifeq ($(SUB_PROJECT),chipyard)
|
|||||||
SBT_PROJECT ?= chipyard
|
SBT_PROJECT ?= chipyard
|
||||||
MODEL ?= TestHarness
|
MODEL ?= TestHarness
|
||||||
VLOG_MODEL ?= $(MODEL)
|
VLOG_MODEL ?= $(MODEL)
|
||||||
MODEL_PACKAGE ?= $(SBT_PROJECT)
|
MODEL_PACKAGE ?= chipyard.harness
|
||||||
CONFIG ?= RocketConfig
|
CONFIG ?= RocketConfig
|
||||||
CONFIG_PACKAGE ?= $(SBT_PROJECT)
|
CONFIG_PACKAGE ?= $(SBT_PROJECT)
|
||||||
GENERATOR_PACKAGE ?= $(SBT_PROJECT)
|
GENERATOR_PACKAGE ?= $(SBT_PROJECT)
|
||||||
|
|||||||
Reference in New Issue
Block a user