Move get_always_ff_event() to a more sensible location

This commit is contained in:
Alex Mykyta
2023-05-12 21:51:42 -07:00
parent 094648d1bb
commit 5b3cdd9d7a
8 changed files with 27 additions and 32 deletions

View File

@@ -1,15 +1,11 @@
import re
from typing import TYPE_CHECKING, Match, Union
from typing import Match, Union
from systemrdl.rdltypes.references import PropertyReference
from systemrdl.node import Node, SignalNode, AddrmapNode
from systemrdl.node import Node, AddrmapNode
from .identifier_filter import kw_filter as kwf
if TYPE_CHECKING:
from typing import Optional
from .dereferencer import Dereferencer
def get_indexed_path(top_node: Node, target_node: Node) -> str:
"""
TODO: Add words about indexing and why i'm doing this. Copy from logbook
@@ -33,16 +29,6 @@ def get_indexed_path(top_node: Node, target_node: Node) -> str:
return path
def get_always_ff_event(dereferencer: 'Dereferencer', resetsignal: 'Optional[SignalNode]') -> str:
if resetsignal is None:
return "@(posedge clk)"
if resetsignal.get_property('async') and resetsignal.get_property('activehigh'):
return f"@(posedge clk or posedge {dereferencer.get_value(resetsignal)})"
elif resetsignal.get_property('async') and not resetsignal.get_property('activehigh'):
return f"@(posedge clk or negedge {dereferencer.get_value(resetsignal)})"
return "@(posedge clk)"
def clog2(n: int) -> int:
return (n-1).bit_length()