27 lines
709 B
Python
27 lines
709 B
Python
![]() |
from nmigen import *
|
||
|
from nmigen.back import rtlil, verilog
|
||
|
|
||
|
|
||
|
class System:
|
||
|
def __init__(self):
|
||
|
self.adr = Signal(16)
|
||
|
self.dat_r = Signal(8)
|
||
|
self.dat_w = Signal(8)
|
||
|
self.we = Signal()
|
||
|
|
||
|
def get_fragment(self, platform):
|
||
|
m = Module()
|
||
|
m.submodules += Instance("CPU",
|
||
|
p_RESET_ADDR=0xfff0,
|
||
|
i_d_adr =self.adr,
|
||
|
i_d_dat_r=self.dat_r,
|
||
|
o_d_dat_w=self.dat_w,
|
||
|
)
|
||
|
return m.lower(platform)
|
||
|
|
||
|
|
||
|
sys = System()
|
||
|
frag = sys.get_fragment(platform=None)
|
||
|
# print(rtlil.convert(frag, ports=[sys.adr, sys.dat_r, sys.dat_w, sys.we]))
|
||
|
print(verilog.convert(frag, ports=[sys.adr, sys.dat_r, sys.dat_w, sys.we]))
|