mirror of https://github.com/zachjs/sv2v.git
scope bit-indexed modport binding
This commit is contained in:
parent
7a7482c964
commit
05cafc3d2a
|
|
@ -44,7 +44,7 @@ jobs:
|
|||
- macOS-13
|
||||
needs: build
|
||||
env:
|
||||
IVERILOG_REF: f31d0dcbc5ddcd97e1e2e6f7bc7eb0f5a547fe16
|
||||
IVERILOG_REF: ef7f0a8f38782dfc0872b1e352ccf32343c10bb8
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Dependencies (macOS)
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
* Fixed unconverted multidimensional struct fields within dimension queries
|
||||
* Fixed non-typenames (e.g., from packages or subsequent declarations)
|
||||
improperly shadowing the names of `struct` pattern fields
|
||||
* Fixed shadowing of interface array indices passed to port connections
|
||||
* Fixed failure to resolve typenames suffixed with dimensions in contexts
|
||||
permitting both types and expressions, e.g., `$bits(T[W-1:0])`
|
||||
* Fixed errant constant folding of shadowed non-trivial localparams
|
||||
|
|
|
|||
|
|
@ -222,7 +222,10 @@ convertDescription tops parts (Part att ext Module lif name ports items) =
|
|||
then Nothing
|
||||
else Just (portName, modportBinding)
|
||||
where
|
||||
modportBinding = (substitutions, replaceBit modportE)
|
||||
modportBinding =
|
||||
( substitutions
|
||||
, scopeExprWithScopes modports $ replaceBit modportE
|
||||
)
|
||||
substitutions =
|
||||
genSubstitutions modports base instanceE modportE
|
||||
maybeInfo =
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@ module Convert.Scoper
|
|||
, replaceInExpr
|
||||
, scopeExpr
|
||||
, scopeType
|
||||
, scopeExprWithScopes
|
||||
, scopeTypeWithScopes
|
||||
, insertElem
|
||||
, removeElem
|
||||
, injectItem
|
||||
|
|
@ -209,6 +211,12 @@ scopeType = traverseNestedTypesM $ traverseTypeExprsM scopeExpr
|
|||
{-# INLINABLE scopeExpr #-}
|
||||
{-# INLINABLE scopeType #-}
|
||||
|
||||
scopeExprWithScopes :: Scopes a -> Expr -> Expr
|
||||
scopeExprWithScopes scopes = flip evalState scopes . scopeExpr
|
||||
|
||||
scopeTypeWithScopes :: Scopes a -> Type -> Type
|
||||
scopeTypeWithScopes scopes = flip evalState scopes . scopeType
|
||||
|
||||
class ScopePath k where
|
||||
toTiers :: Scopes a -> k -> [Tier]
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue