hdl.ir: detect elaboratables that are created but not used.
Requres every elaboratable to inherit from Elaboratable, but still accepts ones that do not, with a warning. Fixes #3.
This commit is contained in:
parent
85ae99c1b4
commit
44711b7d08
22 changed files with 79 additions and 45 deletions
|
|
@ -2,7 +2,7 @@ from nmigen import *
|
|||
from nmigen.cli import main
|
||||
|
||||
|
||||
class ALU:
|
||||
class ALU(Elaboratable):
|
||||
def __init__(self, width):
|
||||
self.sel = Signal(2)
|
||||
self.a = Signal(width)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from nmigen import *
|
|||
from nmigen.cli import main
|
||||
|
||||
|
||||
class Adder:
|
||||
class Adder(Elaboratable):
|
||||
def __init__(self, width):
|
||||
self.a = Signal(width)
|
||||
self.b = Signal(width)
|
||||
|
|
@ -14,7 +14,7 @@ class Adder:
|
|||
return m
|
||||
|
||||
|
||||
class Subtractor:
|
||||
class Subtractor(Elaboratable):
|
||||
def __init__(self, width):
|
||||
self.a = Signal(width)
|
||||
self.b = Signal(width)
|
||||
|
|
@ -26,7 +26,7 @@ class Subtractor:
|
|||
return m
|
||||
|
||||
|
||||
class ALU:
|
||||
class ALU(Elaboratable):
|
||||
def __init__(self, width):
|
||||
self.op = Signal()
|
||||
self.a = Signal(width)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from nmigen import *
|
|||
from nmigen.cli import main
|
||||
|
||||
|
||||
class ClockDivisor:
|
||||
class ClockDivisor(Elaboratable):
|
||||
def __init__(self, factor):
|
||||
self.v = Signal(factor)
|
||||
self.o = Signal()
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from nmigen import *
|
|||
from nmigen.cli import main, pysim
|
||||
|
||||
|
||||
class Counter:
|
||||
class Counter(Elaboratable):
|
||||
def __init__(self, width):
|
||||
self.v = Signal(width, reset=2**width-1)
|
||||
self.o = Signal()
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from nmigen import *
|
|||
from nmigen.back import rtlil, verilog, pysim
|
||||
|
||||
|
||||
class Counter:
|
||||
class Counter(Elaboratable):
|
||||
def __init__(self, width):
|
||||
self.v = Signal(width, reset=2**width-1)
|
||||
self.o = Signal()
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from nmigen import *
|
|||
from nmigen.cli import main
|
||||
|
||||
|
||||
class UARTReceiver:
|
||||
class UARTReceiver(Elaboratable):
|
||||
def __init__(self, divisor):
|
||||
self.divisor = divisor
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from nmigen import *
|
|||
from nmigen.cli import main
|
||||
|
||||
|
||||
class GPIO:
|
||||
class GPIO(Elaboratable):
|
||||
def __init__(self, pins, bus):
|
||||
self.pins = pins
|
||||
self.bus = bus
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from nmigen import *
|
|||
from nmigen.cli import main
|
||||
|
||||
|
||||
class System:
|
||||
class System(Elaboratable):
|
||||
def __init__(self):
|
||||
self.adr = Signal(16)
|
||||
self.dat_r = Signal(8)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from nmigen import *
|
|||
from nmigen.cli import main
|
||||
|
||||
|
||||
class RegisterFile:
|
||||
class RegisterFile(Elaboratable):
|
||||
def __init__(self):
|
||||
self.adr = Signal(4)
|
||||
self.dat_r = Signal(8)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ from nmigen import *
|
|||
from nmigen.cli import main
|
||||
|
||||
|
||||
class ParMux:
|
||||
class ParMux(Elaboratable):
|
||||
def __init__(self, width):
|
||||
self.s = Signal(3)
|
||||
self.a = Signal(width)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue