aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorjackkoenig2016-04-13 16:36:59 -0700
committerjackkoenig2016-04-22 13:11:58 -0700
commitcab3fbe4f68c6dececab4615f962d0a7338fd8d9 (patch)
treec133e8e52891e4e3b78d018c4928f858593b7b5e /src/main
parentacde1b0abcbb5b22201656bc441272990fe591ba (diff)
Add utility functions for coverting and computing Gender and Flip
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/firrtl/Utils.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/Utils.scala b/src/main/scala/firrtl/Utils.scala
index 62b76944..951b5c75 100644
--- a/src/main/scala/firrtl/Utils.scala
+++ b/src/main/scala/firrtl/Utils.scala
@@ -378,6 +378,15 @@ object Utils {
case OUTPUT => FEMALE
}
}
+ def toGender(f: Flip): Gender = f match {
+ case DEFAULT => FEMALE
+ case REVERSE => MALE
+ }
+ def toFlip(g: Gender): Flip = g match {
+ case MALE => REVERSE
+ case FEMALE => DEFAULT
+ }
+
def field_flip (v:Type,s:String) : Flip = {
v match {
case v:BundleType => {
@@ -409,6 +418,12 @@ object Utils {
case REVERSE => swap(d)
}
}
+ def times (g: Gender, d: Direction): Direction = times(d, g)
+ def times (d: Direction, g: Gender): Direction = g match {
+ case FEMALE => d
+ case MALE => swap(d) // MALE == INPUT == REVERSE
+ }
+
def times (g:Gender,flip:Flip) : Gender = times(flip, g)
def times (flip:Flip,g:Gender) : Gender = {
flip match {