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 *)
|
(* blackbox *)
|
||||||
module DP16KD (...);
|
module DP16KD (...);
|
||||||
|
parameter CLKAMUX = "CLKA";
|
||||||
|
parameter CLKBMUX = "CLKB";
|
||||||
parameter DATA_WIDTH_A = 18;
|
parameter DATA_WIDTH_A = 18;
|
||||||
parameter DATA_WIDTH_B = 18;
|
parameter DATA_WIDTH_B = 18;
|
||||||
parameter REGMODE_A = "NOREG";
|
parameter REGMODE_A = "NOREG";
|
||||||
|
@ -215,6 +217,8 @@ endmodule
|
||||||
|
|
||||||
(* blackbox *)
|
(* blackbox *)
|
||||||
module PDPW16KD (...);
|
module PDPW16KD (...);
|
||||||
|
parameter CLKRMUX = "CLKR";
|
||||||
|
parameter CLKWMUX = "CLKW";
|
||||||
parameter DATA_WIDTH_W = 36;
|
parameter DATA_WIDTH_W = 36;
|
||||||
parameter DATA_WIDTH_R = 36;
|
parameter DATA_WIDTH_R = 36;
|
||||||
parameter GSR = "ENABLED";
|
parameter GSR = "ENABLED";
|
||||||
|
|
|
@ -11,10 +11,11 @@ import re
|
||||||
|
|
||||||
|
|
||||||
class Cell:
|
class Cell:
|
||||||
def __init__(self, name, keep=False, port_attrs={}):
|
def __init__(self, name, keep=False, port_attrs={}, extra_params={}):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.keep = keep
|
self.keep = keep
|
||||||
self.port_attrs = port_attrs
|
self.port_attrs = port_attrs
|
||||||
|
self.extra_params = extra_params
|
||||||
self.found = False
|
self.found = False
|
||||||
|
|
||||||
class State(Enum):
|
class State(Enum):
|
||||||
|
@ -120,8 +121,18 @@ devices = [
|
||||||
#Cell("XOR3"),
|
#Cell("XOR3"),
|
||||||
#Cell("XOR4"),
|
#Cell("XOR4"),
|
||||||
#Cell("XOR5"),
|
#Cell("XOR5"),
|
||||||
Cell("DP16KD"),
|
Cell("DP16KD", extra_params={
|
||||||
Cell("PDPW16KD"),
|
# 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("DPR16X4C"),
|
||||||
#Cell("SPR16X4C"),
|
#Cell("SPR16X4C"),
|
||||||
#Cell("LVDSOB"),
|
#Cell("LVDSOB"),
|
||||||
|
@ -795,6 +806,10 @@ def xtract_cells_decl(device, cells, dirs, outf):
|
||||||
rng = None
|
rng = None
|
||||||
module_ports.append((kind, rng, port))
|
module_ports.append((kind, rng, port))
|
||||||
elif l.startswith('parameter ') and state == State.IN_MODULE:
|
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()
|
l = l.strip()
|
||||||
if l.endswith((';', ',')):
|
if l.endswith((';', ',')):
|
||||||
l = l[:-1]
|
l = l[:-1]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue