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

@@ -211,7 +211,7 @@ class Dereferencer:
"""
return self.address_decode.get_external_block_access_strobe(obj)
def get_resetsignal(self, obj: Optional[SignalNode]) -> str:
def get_resetsignal(self, obj: Optional[SignalNode] = None) -> str:
"""
Returns a normalized active-high reset signal
"""
@@ -224,3 +224,12 @@ class Dereferencer:
# default reset signal
return "rst"
def get_always_ff_event(self, resetsignal: Optional[SignalNode] = None) -> str:
if resetsignal is None:
return "@(posedge clk)"
if resetsignal.get_property('async') and resetsignal.get_property('activehigh'):
return f"@(posedge clk or posedge {self.get_value(resetsignal)})"
elif resetsignal.get_property('async') and not resetsignal.get_property('activehigh'):
return f"@(posedge clk or negedge {self.get_value(resetsignal)})"
return "@(posedge clk)"