/ coreblocks / func_blocks / fu / division / common.py
common.py
 1  from amaranth import *
 2  from coreblocks.params import GenParams
 3  from coreblocks.interface.layouts import DivUnitLayouts
 4  from transactron.core import Method
 5  
 6  
 7  class DividerBase(Elaboratable):
 8      def __init__(self, gen_params: GenParams):
 9          self.gen_params = gen_params
10  
11          layout = gen_params.get(DivUnitLayouts)
12  
13          self.issue = Method(i=layout.issue)
14          self.accept = Method(o=layout.accept)
15          self.clear = Method()