Undo regression in iocell flexibility
This commit is contained in:
@@ -66,19 +66,19 @@ class DigitalInIOCellBundle extends Bundle {
|
|||||||
trait IOCell extends BaseModule
|
trait IOCell extends BaseModule
|
||||||
|
|
||||||
trait AnalogIOCell extends IOCell {
|
trait AnalogIOCell extends IOCell {
|
||||||
val io = IO(new AnalogIOCellBundle)
|
val io: AnalogIOCellBundle
|
||||||
}
|
}
|
||||||
|
|
||||||
trait DigitalGPIOCell extends IOCell {
|
trait DigitalGPIOCell extends IOCell {
|
||||||
val io = IO(new DigitalGPIOCellBundle)
|
val io: DigitalGPIOCellBundle
|
||||||
}
|
}
|
||||||
|
|
||||||
trait DigitalInIOCell extends IOCell {
|
trait DigitalInIOCell extends IOCell {
|
||||||
val io = IO(new DigitalInIOCellBundle)
|
val io: DigitalInIOCellBundle
|
||||||
}
|
}
|
||||||
|
|
||||||
trait DigitalOutIOCell extends IOCell {
|
trait DigitalOutIOCell extends IOCell {
|
||||||
val io = IO(new DigitalOutIOCellBundle)
|
val io: DigitalOutIOCellBundle
|
||||||
}
|
}
|
||||||
|
|
||||||
// The following Generic IO cell black boxes have verilog models that mimic a very simple
|
// The following Generic IO cell black boxes have verilog models that mimic a very simple
|
||||||
@@ -89,10 +89,19 @@ abstract class GenericIOCell extends BlackBox with HasBlackBoxResource {
|
|||||||
addResource("/barstools/iocell/vsrc/IOCell.v")
|
addResource("/barstools/iocell/vsrc/IOCell.v")
|
||||||
}
|
}
|
||||||
|
|
||||||
class GenericAnalogIOCell extends GenericIOCell with AnalogIOCell
|
class GenericAnalogIOCell extends GenericIOCell with AnalogIOCell {
|
||||||
class GenericDigitalGPIOCell extends GenericIOCell with DigitalGPIOCell
|
val io = IO(new AnalogIOCellBundle)
|
||||||
class GenericDigitalInIOCell extends GenericIOCell with DigitalInIOCell
|
}
|
||||||
class GenericDigitalOutIOCell extends GenericIOCell with DigitalOutIOCell
|
class GenericDigitalGPIOCell extends GenericIOCell with DigitalGPIOCell {
|
||||||
|
val io = IO(new DigitalGPIOCellBundle)
|
||||||
|
}
|
||||||
|
class GenericDigitalInIOCell extends GenericIOCell with DigitalInIOCell {
|
||||||
|
val io = IO(new DigitalInIOCellBundle)
|
||||||
|
}
|
||||||
|
class GenericDigitalOutIOCell extends GenericIOCell with DigitalOutIOCell {
|
||||||
|
val io = IO(new DigitalOutIOCellBundle)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
trait IOCellTypeParams {
|
trait IOCellTypeParams {
|
||||||
def analog(): AnalogIOCell
|
def analog(): AnalogIOCell
|
||||||
|
|||||||
Reference in New Issue
Block a user