Make the directory structure match the packages
All tests run as they did prior to the changes
This commit is contained in:
@@ -67,8 +67,9 @@ object OldMetric extends CostMetric with CostMetricCompanion {
|
|||||||
*/
|
*/
|
||||||
class ExternalMetric(path: String) extends CostMetric {
|
class ExternalMetric(path: String) extends CostMetric {
|
||||||
import mdf.macrolib.Utils.writeMacroToPath
|
import mdf.macrolib.Utils.writeMacroToPath
|
||||||
|
|
||||||
import java.io._
|
import java.io._
|
||||||
import scala.language.postfixOps // for !! postfix op
|
import scala.language.postfixOps
|
||||||
import sys.process._
|
import sys.process._
|
||||||
|
|
||||||
override def cost(mem: Macro, lib: Macro): Option[Double] = {
|
override def cost(mem: Macro, lib: Macro): Option[Double] = {
|
||||||
@@ -8,18 +8,17 @@
|
|||||||
|
|
||||||
package barstools.macros
|
package barstools.macros
|
||||||
|
|
||||||
import firrtl._
|
import barstools.macros.Utils._
|
||||||
import firrtl.ir._
|
import firrtl.CompilerUtils.getLoweringTransforms
|
||||||
import firrtl.PrimOps
|
|
||||||
import firrtl.Utils._
|
import firrtl.Utils._
|
||||||
import firrtl.annotations._
|
import firrtl.annotations._
|
||||||
import firrtl.transforms.{NoDCEAnnotation}
|
import firrtl.ir._
|
||||||
import firrtl.CompilerUtils.getLoweringTransforms
|
import firrtl.{PrimOps, _}
|
||||||
import mdf.macrolib.{PolarizedPort, PortPolarity, SRAMMacro, SRAMGroup, SRAMCompiler}
|
import mdf.macrolib._
|
||||||
import scala.collection.mutable.{ArrayBuffer, HashMap}
|
|
||||||
import java.io.{File, FileWriter}
|
import java.io.{File, FileWriter}
|
||||||
import scala.io.{Source}
|
import scala.collection.mutable.{ArrayBuffer, HashMap}
|
||||||
import Utils._
|
import scala.io.Source
|
||||||
|
|
||||||
case class MacroCompilerException(msg: String) extends Exception(msg)
|
case class MacroCompilerException(msg: String) extends Exception(msg)
|
||||||
|
|
||||||
@@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
package barstools.macros
|
package barstools.macros
|
||||||
|
|
||||||
|
import barstools.macros.Utils._
|
||||||
|
import firrtl.Utils._
|
||||||
import firrtl._
|
import firrtl._
|
||||||
import firrtl.ir._
|
import firrtl.ir._
|
||||||
import firrtl.Utils._
|
import firrtl.passes.MemPortUtils.memPortField
|
||||||
import firrtl.passes.MemPortUtils.{memPortField, memType}
|
|
||||||
import Utils._
|
|
||||||
|
|
||||||
class SynFlopsPass(synflops: Boolean, libs: Seq[Macro]) extends firrtl.passes.Pass {
|
class SynFlopsPass(synflops: Boolean, libs: Seq[Macro]) extends firrtl.passes.Pass {
|
||||||
val extraMods = scala.collection.mutable.ArrayBuffer.empty[Module]
|
val extraMods = scala.collection.mutable.ArrayBuffer.empty[Module]
|
||||||
@@ -2,14 +2,12 @@
|
|||||||
|
|
||||||
package barstools.macros
|
package barstools.macros
|
||||||
|
|
||||||
import firrtl._
|
|
||||||
import firrtl.ir._
|
|
||||||
import firrtl.PrimOps
|
|
||||||
import firrtl.passes.memlib.{MemConf, MemPort, ReadPort, WritePort, ReadWritePort, MaskedWritePort, MaskedReadWritePort}
|
|
||||||
import firrtl.Utils.BoolType
|
import firrtl.Utils.BoolType
|
||||||
import mdf.macrolib.{Constant, MacroPort, SRAMMacro}
|
import firrtl.ir._
|
||||||
import mdf.macrolib.{PolarizedPort, PortPolarity, ActiveLow, ActiveHigh, NegativeEdge, PositiveEdge, MacroExtraPort}
|
import firrtl.passes.memlib._
|
||||||
import java.io.File
|
import firrtl.{PrimOps, _}
|
||||||
|
import mdf.macrolib.{Input => _, Output => _, _}
|
||||||
|
|
||||||
import scala.language.implicitConversions
|
import scala.language.implicitConversions
|
||||||
|
|
||||||
object MacroCompilerMath {
|
object MacroCompilerMath {
|
||||||
@@ -2,14 +2,13 @@
|
|||||||
|
|
||||||
package barstools.macros
|
package barstools.macros
|
||||||
|
|
||||||
|
import firrtl.Parser.parse
|
||||||
import firrtl.ir.{Circuit, NoInfo}
|
import firrtl.ir.{Circuit, NoInfo}
|
||||||
import firrtl.passes.RemoveEmpty
|
import firrtl.passes.RemoveEmpty
|
||||||
import firrtl.Parser.parse
|
|
||||||
|
|
||||||
import java.io.{File, StringWriter}
|
|
||||||
|
|
||||||
import mdf.macrolib.SRAMMacro
|
import mdf.macrolib.SRAMMacro
|
||||||
|
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
abstract class MacroCompilerSpec extends org.scalatest.FlatSpec with org.scalatest.Matchers {
|
abstract class MacroCompilerSpec extends org.scalatest.FlatSpec with org.scalatest.Matchers {
|
||||||
import scala.language.implicitConversions
|
import scala.language.implicitConversions
|
||||||
implicit def String2SomeString(i: String): Option[String] = Some(i)
|
implicit def String2SomeString(i: String): Option[String] = Some(i)
|
||||||
@@ -122,6 +121,7 @@ abstract class MacroCompilerSpec extends org.scalatest.FlatSpec with org.scalate
|
|||||||
// A collection of standard SRAM generators.
|
// A collection of standard SRAM generators.
|
||||||
trait HasSRAMGenerator {
|
trait HasSRAMGenerator {
|
||||||
import mdf.macrolib._
|
import mdf.macrolib._
|
||||||
|
|
||||||
import scala.language.implicitConversions
|
import scala.language.implicitConversions
|
||||||
implicit def Int2SomeInt(i: Int): Option[Int] = Some(i)
|
implicit def Int2SomeInt(i: Int): Option[Int] = Some(i)
|
||||||
implicit def BigInt2SomeBigInt(i: BigInt): Option[BigInt] = Some(i)
|
implicit def BigInt2SomeBigInt(i: BigInt): Option[BigInt] = Some(i)
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
package barstools.macros
|
package barstools.macros
|
||||||
|
|
||||||
import mdf.macrolib._
|
|
||||||
|
|
||||||
// Test the ability of the compiler to deal with various mask combinations.
|
// Test the ability of the compiler to deal with various mask combinations.
|
||||||
|
|
||||||
trait MasksTestSettings {
|
trait MasksTestSettings {
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
package barstools.macros
|
package barstools.macros
|
||||||
|
|
||||||
import mdf.macrolib._
|
|
||||||
|
|
||||||
class SRAMCompiler extends MacroCompilerSpec with HasSRAMGenerator with HasSimpleWidthTestGenerator {
|
class SRAMCompiler extends MacroCompilerSpec with HasSRAMGenerator with HasSimpleWidthTestGenerator {
|
||||||
val compiler = generateSRAMCompiler("awesome", "A")
|
val compiler = generateSRAMCompiler("awesome", "A")
|
||||||
val verilog = s"v-SRAMCompiler.v"
|
val verilog = s"v-SRAMCompiler.v"
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
package barstools.macros
|
package barstools.macros
|
||||||
|
|
||||||
import mdf.macrolib._
|
|
||||||
|
|
||||||
// Test the depth splitting aspect of the memory compiler.
|
// Test the depth splitting aspect of the memory compiler.
|
||||||
// This file is for simple tests: one read-write port, powers of two sizes, etc.
|
// This file is for simple tests: one read-write port, powers of two sizes, etc.
|
||||||
// For example, implementing a 4096x32 memory using four 1024x32 memories.
|
// For example, implementing a 4096x32 memory using four 1024x32 memories.
|
||||||
@@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
package barstools.tapeout.transforms
|
package barstools.tapeout.transforms
|
||||||
|
|
||||||
import firrtl._
|
|
||||||
import firrtl.ir._
|
|
||||||
import firrtl.Mappers._
|
import firrtl.Mappers._
|
||||||
import firrtl.annotations.{ModuleTarget, SingleTargetAnnotation, CircuitTarget}
|
import firrtl._
|
||||||
import firrtl.stage.TransformManager.{TransformDependency}
|
import firrtl.annotations.{CircuitTarget, ModuleTarget, SingleTargetAnnotation}
|
||||||
import firrtl.stage.{Forms}
|
import firrtl.ir._
|
||||||
|
import firrtl.stage.Forms
|
||||||
|
import firrtl.stage.TransformManager.TransformDependency
|
||||||
|
|
||||||
case class KeepNameAnnotation(target: ModuleTarget)
|
case class KeepNameAnnotation(target: ModuleTarget)
|
||||||
extends SingleTargetAnnotation[ModuleTarget] {
|
extends SingleTargetAnnotation[ModuleTarget] {
|
||||||
@@ -3,12 +3,12 @@
|
|||||||
package barstools.tapeout.transforms
|
package barstools.tapeout.transforms
|
||||||
|
|
||||||
import firrtl._
|
import firrtl._
|
||||||
|
import firrtl.annotations.NoTargetAnnotation
|
||||||
import firrtl.ir._
|
import firrtl.ir._
|
||||||
import firrtl.annotations.{NoTargetAnnotation}
|
import firrtl.options.Dependency
|
||||||
import firrtl.options.{Dependency}
|
import firrtl.passes.memlib.ReplSeqMem
|
||||||
import firrtl.stage.TransformManager.{TransformDependency}
|
import firrtl.stage.Forms
|
||||||
import firrtl.stage.{Forms}
|
import firrtl.stage.TransformManager.TransformDependency
|
||||||
import firrtl.passes.memlib.{ReplSeqMem}
|
|
||||||
|
|
||||||
case class LinkExtModulesAnnotation(mustLink: Seq[ExtModule]) extends NoTargetAnnotation
|
case class LinkExtModulesAnnotation(mustLink: Seq[ExtModule]) extends NoTargetAnnotation
|
||||||
|
|
||||||
@@ -3,12 +3,12 @@
|
|||||||
package barstools.tapeout.transforms
|
package barstools.tapeout.transforms
|
||||||
|
|
||||||
import firrtl._
|
import firrtl._
|
||||||
|
import firrtl.annotations.{ModuleTarget, ReferenceTarget, SingleTargetAnnotation}
|
||||||
import firrtl.ir._
|
import firrtl.ir._
|
||||||
import firrtl.annotations.{ModuleTarget, SingleTargetAnnotation, ReferenceTarget}
|
import firrtl.options.Dependency
|
||||||
import firrtl.stage.TransformManager.{TransformDependency}
|
import firrtl.passes.memlib.ReplSeqMem
|
||||||
import firrtl.stage.{Forms}
|
import firrtl.stage.Forms
|
||||||
import firrtl.options.{Dependency}
|
import firrtl.stage.TransformManager.TransformDependency
|
||||||
import firrtl.passes.memlib.{ReplSeqMem}
|
|
||||||
|
|
||||||
case class ConvertToExtModAnnotation(target: ModuleTarget)
|
case class ConvertToExtModAnnotation(target: ModuleTarget)
|
||||||
extends SingleTargetAnnotation[ModuleTarget] {
|
extends SingleTargetAnnotation[ModuleTarget] {
|
||||||
@@ -5,7 +5,7 @@ import firrtl.annotations._
|
|||||||
import firrtl.ir._
|
import firrtl.ir._
|
||||||
import firrtl.passes.memlib.ReplSeqMemAnnotation
|
import firrtl.passes.memlib.ReplSeqMemAnnotation
|
||||||
import firrtl.stage.FirrtlCircuitAnnotation
|
import firrtl.stage.FirrtlCircuitAnnotation
|
||||||
import firrtl.transforms.{BlackBoxResourceFileNameAnno, DedupModules}
|
import firrtl.transforms.BlackBoxResourceFileNameAnno
|
||||||
import logger.LazyLogging
|
import logger.LazyLogging
|
||||||
|
|
||||||
trait HasTapeoutOptions { self: ExecutionOptionsManager with HasFirrtlOptions =>
|
trait HasTapeoutOptions { self: ExecutionOptionsManager with HasFirrtlOptions =>
|
||||||
@@ -3,11 +3,10 @@
|
|||||||
package barstools.tapeout.transforms
|
package barstools.tapeout.transforms
|
||||||
|
|
||||||
import firrtl._
|
import firrtl._
|
||||||
import firrtl.ir._
|
|
||||||
import firrtl.annotations._
|
import firrtl.annotations._
|
||||||
import firrtl.options.{Dependency}
|
import firrtl.options.Dependency
|
||||||
import firrtl.stage.TransformManager.{TransformDependency}
|
import firrtl.stage.Forms
|
||||||
import firrtl.stage.{Forms}
|
import firrtl.stage.TransformManager.TransformDependency
|
||||||
|
|
||||||
case class ReParentCircuitAnnotation(target: ModuleTarget)
|
case class ReParentCircuitAnnotation(target: ModuleTarget)
|
||||||
extends SingleTargetAnnotation[ModuleTarget] {
|
extends SingleTargetAnnotation[ModuleTarget] {
|
||||||
@@ -3,12 +3,12 @@
|
|||||||
package barstools.tapeout.transforms
|
package barstools.tapeout.transforms
|
||||||
|
|
||||||
import firrtl._
|
import firrtl._
|
||||||
|
import firrtl.annotations.ModuleTarget
|
||||||
import firrtl.ir._
|
import firrtl.ir._
|
||||||
import firrtl.annotations.{ModuleTarget}
|
import firrtl.options.Dependency
|
||||||
import firrtl.stage.TransformManager.{TransformDependency}
|
import firrtl.passes.memlib.ReplSeqMem
|
||||||
import firrtl.options.{Dependency}
|
import firrtl.stage.Forms
|
||||||
import firrtl.stage.{Forms}
|
import firrtl.stage.TransformManager.TransformDependency
|
||||||
import firrtl.passes.memlib.{ReplSeqMem}
|
|
||||||
|
|
||||||
// Removes all the unused modules in a circuit by recursing through every
|
// Removes all the unused modules in a circuit by recursing through every
|
||||||
// instance (starting at the main module)
|
// instance (starting at the main module)
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
package barstools.tapeout.transforms
|
package barstools.tapeout.transforms
|
||||||
|
|
||||||
import chisel3._
|
import chisel3._
|
||||||
import chisel3.stage.{ChiselStage, ChiselGeneratorAnnotation}
|
import chisel3.stage.{ChiselGeneratorAnnotation, ChiselStage}
|
||||||
import firrtl.{EmittedFirrtlCircuitAnnotation, EmittedFirrtlModuleAnnotation}
|
import firrtl.{EmittedFirrtlCircuitAnnotation, EmittedFirrtlModuleAnnotation}
|
||||||
import org.scalatest.{FreeSpec, Matchers}
|
import org.scalatest.{FreeSpec, Matchers}
|
||||||
|
|
||||||
@@ -1,12 +1,10 @@
|
|||||||
// See LICENSE for license details.
|
// See LICENSE for license details.
|
||||||
|
|
||||||
package barstools.tapeout.transforms.retime.test
|
package barstools.tapeout.transforms.retime
|
||||||
|
|
||||||
import chisel3._
|
import chisel3._
|
||||||
import chisel3.stage.{ChiselStage, ChiselGeneratorAnnotation}
|
import chisel3.stage.{ChiselGeneratorAnnotation, ChiselStage}
|
||||||
import firrtl.{EmittedFirrtlCircuitAnnotation, EmittedFirrtlModuleAnnotation}
|
import firrtl.{EmittedFirrtlCircuitAnnotation, EmittedFirrtlModuleAnnotation, FileUtils}
|
||||||
import barstools.tapeout.transforms.retime.RetimeLib
|
|
||||||
import firrtl.FileUtils
|
|
||||||
import logger.Logger
|
import logger.Logger
|
||||||
import org.scalatest.{FlatSpec, Matchers}
|
import org.scalatest.{FlatSpec, Matchers}
|
||||||
|
|
||||||
Reference in New Issue
Block a user