mirror of
https://github.com/YosysHQ/yosys
synced 2025-05-10 09:15:49 +00:00
Merge af8e85b7d2
into 6378ba10eb
This commit is contained in:
commit
788a50b679
2 changed files with 22 additions and 3 deletions
|
@ -19,6 +19,8 @@ endmodule
|
|||
|
||||
(* blackbox *)
|
||||
module DP16KD (...);
|
||||
parameter CLKAMUX = "CLKA";
|
||||
parameter CLKBMUX = "CLKB";
|
||||
parameter DATA_WIDTH_A = 18;
|
||||
parameter DATA_WIDTH_B = 18;
|
||||
parameter REGMODE_A = "NOREG";
|
||||
|
@ -215,6 +217,8 @@ endmodule
|
|||
|
||||
(* blackbox *)
|
||||
module PDPW16KD (...);
|
||||
parameter CLKRMUX = "CLKR";
|
||||
parameter CLKWMUX = "CLKW";
|
||||
parameter DATA_WIDTH_W = 36;
|
||||
parameter DATA_WIDTH_R = 36;
|
||||
parameter GSR = "ENABLED";
|
||||
|
|
|
@ -11,10 +11,11 @@ import re
|
|||
|
||||
|
||||
class Cell:
|
||||
def __init__(self, name, keep=False, port_attrs={}):
|
||||
def __init__(self, name, keep=False, port_attrs={}, extra_params={}):
|
||||
self.name = name
|
||||
self.keep = keep
|
||||
self.port_attrs = port_attrs
|
||||
self.extra_params = extra_params
|
||||
self.found = False
|
||||
|
||||
class State(Enum):
|
||||
|
@ -120,8 +121,18 @@ devices = [
|
|||
#Cell("XOR3"),
|
||||
#Cell("XOR4"),
|
||||
#Cell("XOR5"),
|
||||
Cell("DP16KD"),
|
||||
Cell("PDPW16KD"),
|
||||
Cell("DP16KD", extra_params={
|
||||
# Optional clock inverters, present in prjtrellis data but
|
||||
# not in Diamond bb models.
|
||||
"CLKAMUX": "CLKA",
|
||||
"CLKBMUX": "CLKB",
|
||||
}),
|
||||
Cell("PDPW16KD", extra_params={
|
||||
# Optional clock inverters, present in prjtrellis data but
|
||||
# not in Diamond bb models.
|
||||
"CLKWMUX": "CLKW",
|
||||
"CLKRMUX": "CLKR",
|
||||
}),
|
||||
#Cell("DPR16X4C"),
|
||||
#Cell("SPR16X4C"),
|
||||
#Cell("LVDSOB"),
|
||||
|
@ -795,6 +806,10 @@ def xtract_cells_decl(device, cells, dirs, outf):
|
|||
rng = None
|
||||
module_ports.append((kind, rng, port))
|
||||
elif l.startswith('parameter ') and state == State.IN_MODULE:
|
||||
if cell.extra_params:
|
||||
for name, default in sorted(cell.extra_params.items()):
|
||||
outf.write(' parameter {} = "{}";\n'.format(name, default))
|
||||
cell.extra_params = None
|
||||
l = l.strip()
|
||||
if l.endswith((';', ',')):
|
||||
l = l[:-1]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue