Use clog2 helper function to improve clarity. #116
This commit is contained in:
@@ -7,7 +7,7 @@ from systemrdl.node import RegNode, RegfileNode, MemNode, AddrmapNode
|
|||||||
|
|
||||||
from ..struct_generator import RDLStructGenerator
|
from ..struct_generator import RDLStructGenerator
|
||||||
from ..forloop_generator import RDLForLoopGenerator
|
from ..forloop_generator import RDLForLoopGenerator
|
||||||
from ..utils import get_indexed_path
|
from ..utils import get_indexed_path, clog2
|
||||||
from ..identifier_filter import kw_filter as kwf
|
from ..identifier_filter import kw_filter as kwf
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
@@ -362,7 +362,7 @@ class FieldLogicGenerator(RDLForLoopGenerator):
|
|||||||
def assign_external_block_outputs(self, node: 'AddressableNode') -> None:
|
def assign_external_block_outputs(self, node: 'AddressableNode') -> None:
|
||||||
prefix = "hwif_out." + get_indexed_path(self.exp.ds.top_node, node)
|
prefix = "hwif_out." + get_indexed_path(self.exp.ds.top_node, node)
|
||||||
strb = self.exp.dereferencer.get_external_block_access_strobe(node)
|
strb = self.exp.dereferencer.get_external_block_access_strobe(node)
|
||||||
addr_width = (node.size - 1).bit_length()
|
addr_width = clog2(node.size)
|
||||||
|
|
||||||
retime = False
|
retime = False
|
||||||
if isinstance(node, RegfileNode):
|
if isinstance(node, RegfileNode):
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ from systemrdl.walker import WalkerAction
|
|||||||
from ..struct_generator import RDLFlatStructGenerator
|
from ..struct_generator import RDLFlatStructGenerator
|
||||||
from ..identifier_filter import kw_filter as kwf
|
from ..identifier_filter import kw_filter as kwf
|
||||||
from ..sv_int import SVInt
|
from ..sv_int import SVInt
|
||||||
|
from ..utils import clog2
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from systemrdl.node import Node, SignalNode, AddressableNode, RegfileNode
|
from systemrdl.node import Node, SignalNode, AddressableNode, RegfileNode
|
||||||
@@ -194,7 +195,7 @@ class OutputStructGenerator_Hier(HWIFStructGenerator):
|
|||||||
|
|
||||||
def _add_external_block_members(self, node: 'AddressableNode') -> None:
|
def _add_external_block_members(self, node: 'AddressableNode') -> None:
|
||||||
self.add_member("req")
|
self.add_member("req")
|
||||||
self.add_member("addr", (node.size - 1).bit_length())
|
self.add_member("addr", clog2(node.size))
|
||||||
self.add_member("req_is_wr")
|
self.add_member("req_is_wr")
|
||||||
self.add_member("wr_data", self.hwif.ds.cpuif_data_width)
|
self.add_member("wr_data", self.hwif.ds.cpuif_data_width)
|
||||||
self.add_member("wr_biten", self.hwif.ds.cpuif_data_width)
|
self.add_member("wr_biten", self.hwif.ds.cpuif_data_width)
|
||||||
|
|||||||
Reference in New Issue
Block a user