对FSMC的外部IO仿真接线
This commit is contained in:
1
Makefile
1
Makefile
@@ -57,7 +57,6 @@ VSimTop:
|
|||||||
+define+RANDOMIZE_INVALID_ASSIGN \
|
+define+RANDOMIZE_INVALID_ASSIGN \
|
||||||
+define+RANDOMIZE_REG_INIT \
|
+define+RANDOMIZE_REG_INIT \
|
||||||
+define+RANDOMIZE_DELAY=0 \
|
+define+RANDOMIZE_DELAY=0 \
|
||||||
+define+VERILATOR \
|
|
||||||
--exe --build \
|
--exe --build \
|
||||||
${PWD}/tb/verilator/sim_main.cpp \
|
${PWD}/tb/verilator/sim_main.cpp \
|
||||||
-Mdir ./tb/build/ \
|
-Mdir ./tb/build/ \
|
||||||
|
|||||||
@@ -160,12 +160,10 @@ class FSMC2TileLink(implicit p: Parameters) extends LazyModule{
|
|||||||
val io = IO(new FSMC_Port_Bundle)
|
val io = IO(new FSMC_Port_Bundle)
|
||||||
|
|
||||||
val ( fsmc_bus, fsmc_edge ) = fsmcNode.in.head
|
val ( fsmc_bus, fsmc_edge ) = fsmcNode.in.head
|
||||||
// val tla = Wire(new DecoupledIO(new TLBundleA(fsmc_edge.bundle)))
|
|
||||||
// val tld = Wire(new DecoupledIO(new TLBundleD(fsmc_edge.bundle)))
|
|
||||||
|
|
||||||
val sram = Module(new MirrorSRAMDP())
|
val sram = Module(new MirrorSRAMDP())
|
||||||
//assert( ~(sram.io.enwA & sram.io.enrA) )
|
assert( ~(sram.io.enwA & sram.io.enrA) )
|
||||||
//assert( ~(sram.io.enwB & sram.io.enrB) )
|
assert( ~(sram.io.enwB & sram.io.enrB) )
|
||||||
sram.io.clockA := clock.asBool //system
|
sram.io.clockA := clock.asBool //system
|
||||||
sram.io.clockB := clock.asBool //system
|
sram.io.clockB := clock.asBool //system
|
||||||
|
|
||||||
|
|||||||
@@ -9,30 +9,6 @@ import freechips.rocketchip.tilelink._
|
|||||||
import freechips.rocketchip.interrupts._
|
import freechips.rocketchip.interrupts._
|
||||||
|
|
||||||
|
|
||||||
// abstract class BackModule(implicit val p: Parameters) extends Module with HasBackParameters { def io: Record }
|
|
||||||
// abstract class BackBundle(implicit val p: Parameters) extends Bundle with HasBackParameters
|
|
||||||
|
|
||||||
// case object BackParamsKey extends Field[BackSetting]
|
|
||||||
|
|
||||||
// case class BackSetting(
|
|
||||||
// ){
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// trait HasBackParameters {
|
|
||||||
// implicit val p: Parameters
|
|
||||||
|
|
||||||
// val backSetting = p(BackParamsKey)
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// class BackCfg extends Config((_, _, _) => {
|
|
||||||
// case BackParamsKey => BackSetting()
|
|
||||||
// })
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TL2CDR(implicit p: Parameters) extends LazyModule{
|
class TL2CDR(implicit p: Parameters) extends LazyModule{
|
||||||
val device = new SimpleDevice("TL_CDR", Nil)
|
val device = new SimpleDevice("TL_CDR", Nil)
|
||||||
val node = TLManagerNode(Seq(TLSlavePortParameters.v1(
|
val node = TLManagerNode(Seq(TLSlavePortParameters.v1(
|
||||||
|
|||||||
@@ -211,7 +211,15 @@ ExampleRocketSystem s_rocket_mst(
|
|||||||
.cdrio_dDatIn(1'b0),
|
.cdrio_dDatIn(1'b0),
|
||||||
.cdrio_dDatOut(dDatSer[0]),
|
.cdrio_dDatOut(dDatSer[0]),
|
||||||
.cdrio_isOnline(),
|
.cdrio_isOnline(),
|
||||||
.cdrio_isLast(1'b0)
|
.cdrio_isLast(1'b0),
|
||||||
|
|
||||||
|
.fsmcio_ADIn(16'b0),
|
||||||
|
.fsmcio_ADOut(),
|
||||||
|
.fsmcio_ADOEn(),
|
||||||
|
.fsmcio_csn(1'b1),
|
||||||
|
.fsmcio_rdn(1'b1),
|
||||||
|
.fsmcio_wrn(1'b1),
|
||||||
|
.fsmcio_advn(1'b1)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@@ -397,7 +405,15 @@ ExampleRocketSystem s_rocket_slv0(
|
|||||||
.cdrio_dDatOut(dDatSer[1]),
|
.cdrio_dDatOut(dDatSer[1]),
|
||||||
|
|
||||||
.cdrio_isOnline(),
|
.cdrio_isOnline(),
|
||||||
.cdrio_isLast(1'b0)
|
.cdrio_isLast(1'b0),
|
||||||
|
|
||||||
|
.fsmcio_ADIn(16'b0),
|
||||||
|
.fsmcio_ADOut(),
|
||||||
|
.fsmcio_ADOEn(),
|
||||||
|
.fsmcio_csn(1'b1),
|
||||||
|
.fsmcio_rdn(1'b1),
|
||||||
|
.fsmcio_wrn(1'b1),
|
||||||
|
.fsmcio_advn(1'b1)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@@ -583,7 +599,15 @@ ExampleRocketSystem s_rocket_slv1(
|
|||||||
.cdrio_dDatOut(dDatSer[2]),
|
.cdrio_dDatOut(dDatSer[2]),
|
||||||
|
|
||||||
.cdrio_isOnline(),
|
.cdrio_isOnline(),
|
||||||
.cdrio_isLast(1'b0)
|
.cdrio_isLast(1'b0),
|
||||||
|
|
||||||
|
.fsmcio_ADIn(16'b0),
|
||||||
|
.fsmcio_ADOut(),
|
||||||
|
.fsmcio_ADOEn(),
|
||||||
|
.fsmcio_csn(1'b1),
|
||||||
|
.fsmcio_rdn(1'b1),
|
||||||
|
.fsmcio_wrn(1'b1),
|
||||||
|
.fsmcio_advn(1'b1)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@@ -769,7 +793,15 @@ ExampleRocketSystem s_rocket_slv2(
|
|||||||
.cdrio_dDatOut(),
|
.cdrio_dDatOut(),
|
||||||
|
|
||||||
.cdrio_isOnline(),
|
.cdrio_isOnline(),
|
||||||
.cdrio_isLast(1'b1)
|
.cdrio_isLast(1'b1),
|
||||||
|
|
||||||
|
.fsmcio_ADIn(16'b0),
|
||||||
|
.fsmcio_ADOut(),
|
||||||
|
.fsmcio_ADOEn(),
|
||||||
|
.fsmcio_csn(1'b1),
|
||||||
|
.fsmcio_rdn(1'b1),
|
||||||
|
.fsmcio_wrn(1'b1),
|
||||||
|
.fsmcio_advn(1'b1)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user