diff options
| author | jackkoenig | 2016-04-13 16:36:59 -0700 |
|---|---|---|
| committer | jackkoenig | 2016-04-22 13:11:58 -0700 |
| commit | cab3fbe4f68c6dececab4615f962d0a7338fd8d9 (patch) | |
| tree | c133e8e52891e4e3b78d018c4928f858593b7b5e | |
| parent | acde1b0abcbb5b22201656bc441272990fe591ba (diff) | |
Add utility functions for coverting and computing Gender and Flip
| -rw-r--r-- | src/main/scala/firrtl/Utils.scala | 15 |
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 { |
