From cab3fbe4f68c6dececab4615f962d0a7338fd8d9 Mon Sep 17 00:00:00 2001 From: jackkoenig Date: Wed, 13 Apr 2016 16:36:59 -0700 Subject: Add utility functions for coverting and computing Gender and Flip --- src/main/scala/firrtl/Utils.scala | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src') 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 { -- cgit v1.2.3