Skip to content

Commit

Permalink
use HasExtModuleInline
Browse files Browse the repository at this point in the history
  • Loading branch information
unlsycn committed Nov 29, 2024
1 parent e78a687 commit 22428c1
Showing 1 changed file with 12 additions and 14 deletions.
26 changes: 12 additions & 14 deletions t1/src/SRAM.scala
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,11 @@ import chisel3.util.{log2Ceil, MemoryFile, SRAMDescription, SRAMInterface}
import firrtl.transforms.BlackBoxInlineAnno
import chisel3.experimental.ChiselAnnotation
import chisel3.experimental.hierarchy.core.Hierarchy.HierarchyBaseModuleExtensions
import chisel3.util.HasExtModuleInline

class SRAMBlackbox(parameter: CIRCTSRAMParameter) extends FixedIOExtModule(new CIRCTSRAMInterface(parameter)) { self =>
class SRAMBlackbox(parameter: CIRCTSRAMParameter)
extends FixedIOExtModule(new CIRCTSRAMInterface(parameter))
with HasExtModuleInline { self =>

private val verilogInterface: String =
(Seq.tabulate(parameter.write)(idx =>
Expand Down Expand Up @@ -112,19 +115,14 @@ class SRAMBlackbox(parameter: CIRCTSRAMParameter) extends FixedIOExtModule(new C

override def desiredName = parameter.moduleName

chisel3.experimental.annotate(
new ChiselAnnotation {
def toFirrtl = new BlackBoxInlineAnno(
self.toNamed,
parameter.moduleName,
s"""module ${parameter.moduleName}(
|${verilogInterface}
|);
|${logic}
|endmodule
|""".stripMargin
)
}
setInline(
desiredName,
s"""module ${parameter.moduleName}(
|${verilogInterface}
|);
|${logic}
|endmodule
|""".stripMargin
)
}

Expand Down

0 comments on commit 22428c1

Please sign in to comment.