Skip to content

Commit eeadeac

Browse files
committed
feat(pegasus): add PegasusShell
1 parent fe47e75 commit eeadeac

File tree

4 files changed

+78
-5
lines changed

4 files changed

+78
-5
lines changed

arch/build.sc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import mill.bsp._
1010
object buckyball extends SbtModule { m =>
1111
override def millSourcePath = os.pwd
1212
override def scalaVersion = "2.13.12"
13+
private val hasPegasus = os.exists(os.pwd / os.up / "pegasus" / "chisel")
1314

1415
override def scalacOptions = Seq(
1516
"-language:reflectiveCalls",
@@ -23,9 +24,8 @@ object buckyball extends SbtModule { m =>
2324
override def moduleDeps = Seq(
2425
chipyard,
2526
firechip,
26-
palladium,
27-
pegasus
28-
)
27+
palladium
28+
) ++ (if (hasPegasus) Seq(pegasus) else Seq.empty)
2929

3030
override def ivyDeps = Agg(
3131
// ivy"org.chipsalliance::chisel:6.5.0",
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package pegasus
2+
3+
import chisel3._
4+
5+
class PegasusShell extends Module {
6+
val io = IO(new Bundle {
7+
val pcie_sys_clk = Input(Clock())
8+
val pcie_sys_clk_gt = Input(Clock())
9+
val pcie_sys_rst_n = Input(Bool())
10+
val pcie_exp_txp = Output(UInt(16.W))
11+
val pcie_exp_txn = Output(UInt(16.W))
12+
val pcie_exp_rxp = Input(UInt(16.W))
13+
val pcie_exp_rxn = Input(UInt(16.W))
14+
val hbm_ref_clk = Input(Clock())
15+
16+
val uart_tx = Input(Bool())
17+
18+
val chip_mem_awid = Input(UInt(6.W))
19+
val chip_mem_awaddr = Input(UInt(33.W))
20+
val chip_mem_awlen = Input(UInt(8.W))
21+
val chip_mem_awsize = Input(UInt(3.W))
22+
val chip_mem_awburst = Input(UInt(2.W))
23+
val chip_mem_awvalid = Input(Bool())
24+
val chip_mem_awready = Output(Bool())
25+
26+
val chip_mem_wdata = Input(UInt(256.W))
27+
val chip_mem_wstrb = Input(UInt(32.W))
28+
val chip_mem_wlast = Input(Bool())
29+
val chip_mem_wvalid = Input(Bool())
30+
val chip_mem_wready = Output(Bool())
31+
32+
val chip_mem_bid = Output(UInt(6.W))
33+
val chip_mem_bresp = Output(UInt(2.W))
34+
val chip_mem_bvalid = Output(Bool())
35+
val chip_mem_bready = Input(Bool())
36+
37+
val chip_mem_arid = Input(UInt(6.W))
38+
val chip_mem_araddr = Input(UInt(33.W))
39+
val chip_mem_arlen = Input(UInt(8.W))
40+
val chip_mem_arsize = Input(UInt(3.W))
41+
val chip_mem_arburst = Input(UInt(2.W))
42+
val chip_mem_arvalid = Input(Bool())
43+
val chip_mem_arready = Output(Bool())
44+
45+
val chip_mem_rid = Output(UInt(6.W))
46+
val chip_mem_rdata = Output(UInt(256.W))
47+
val chip_mem_rresp = Output(UInt(2.W))
48+
val chip_mem_rlast = Output(Bool())
49+
val chip_mem_rvalid = Output(Bool())
50+
val chip_mem_rready = Input(Bool())
51+
52+
val dut_clk = Output(Clock())
53+
val dut_reset = Output(Bool())
54+
})
55+
56+
io.pcie_exp_txp := 0.U
57+
io.pcie_exp_txn := 0.U
58+
59+
io.chip_mem_awready := false.B
60+
io.chip_mem_wready := false.B
61+
io.chip_mem_bid := 0.U
62+
io.chip_mem_bresp := 0.U
63+
io.chip_mem_bvalid := false.B
64+
io.chip_mem_arready := false.B
65+
io.chip_mem_rid := 0.U
66+
io.chip_mem_rdata := 0.U
67+
io.chip_mem_rresp := 0.U
68+
io.chip_mem_rlast := false.B
69+
io.chip_mem_rvalid := false.B
70+
71+
io.dut_clk := io.pcie_sys_clk
72+
io.dut_reset := !io.pcie_sys_rst_n
73+
}

bbdev

Submodule bbdev updated 60 files

0 commit comments

Comments
 (0)