aboutsummaryrefslogtreecommitdiffstats
path: root/passes/techmap
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | Add log_debug() frameworkClifford Wolf2019-04-221-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | | | | | | | | attrmap: extend -remove to allow removing attributes with any value.whitequark2019-04-221-1/+3
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, `-remove foo` would only remove an attribute `foo = ""`, which doesn't work on an attribute like `src` that may have any value. Extend `-remove` to handle both cases. `-remove foo=""` has the old behavior, and `-remove foo` will remove the attribute with whatever value it may have, which is still compatible with the old behavior.
* | | | | | | | / Disable blackbox detection in techmap filesClifford Wolf2019-04-221-1/+1
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | | | | | | Merge pull request #943 from YosysHQ/clifford/whiteboxClifford Wolf2019-04-203-8/+29
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | [WIP] Add "whitebox" attribute, add "read_verilog -wb"
| * | | | | | | Add "techmap -wb", use in formal flowsClifford Wolf2019-04-201-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
| * | | | | | | Check blackbox attribute in techmap/simplemapClifford Wolf2019-04-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
| * | | | | | | Ignore 'whitebox' attr in flatten with "-wb" optionEddie Hung2019-04-181-5/+19
| | | | | | | |
| * | | | | | | Add "whitebox" attribute, add "read_verilog -wb"Clifford Wolf2019-04-182-3/+3
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | | | | | | Spelling fixesEddie Hung2019-04-191-2/+2
| | | | | | |
* | | | | | | Fix abc's remap_name to not ignore [^0-9] when extracting sidEddie Hung2019-04-181-12/+16
| | | | | | |
* | | | | | | ABC to call retime all the timeEddie Hung2019-04-181-15/+11
| | | | | | |
* | | | | | | Revert "abc -dff now implies "-D 0" otherwise retiming doesn't happen"Eddie Hung2019-04-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 19271bd996a79cb4be1db658fcf18227ee0a1dff.
* | | | | | | Revert ""&nf -D 0" fails => use "-D 1" instead"Eddie Hung2019-04-101-1/+1
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | This reverts commit 3c253818cab2013dc4db55732d3e21cfa0dc3f19.
* | | | | | Fix S0 -> S1Eddie Hung2019-04-051-1/+1
| |_|_|_|/ |/| | | |
* | | | | "&nf -D 0" fails => use "-D 1" insteadEddie Hung2019-04-051-1/+1
| | | | |
* | | | | abc -dff now implies "-D 0" otherwise retiming doesn't happenEddie Hung2019-04-051-0/+2
|/ / / /
* | | | Liberty file parser now accepts superfluous ;Niels Moseley2019-03-271-1/+1
| | | |
* | | | Liberty file parser now accepts superfluous ;Niels Moseley2019-03-271-7/+54
| |_|/ |/| |
* | | spaces -> tabsNiels Moseley2019-03-251-78/+78
| | |
* | | EOL is now accepted as ';' replacement on lines that look like: ↵Niels Moseley2019-03-251-4/+3
| | | | | | | | | | | | feature_xyz(option)
* | | Updated the liberty parser to accept [A:B] ranges (AST has not been ↵Niels Moseley2019-03-242-7/+90
| |/ |/| | | | | updated). Liberty parser now also accepts key : value pair lines that do not end in ';'.
* | Clean up some whitepsace outliersLarry Doolittle2019-02-262-4/+4
|/
* abc: Improved recovered netnames, also preserve src on nets with dressDavid Shah2019-02-061-4/+13
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* abc: Preserve naming through ABC using 'dress' commandDavid Shah2019-02-061-29/+51
| | | | Signed-off-by: David Shah <dave@ds0.me>
* flowmap: clean up terminology.whitequark2019-01-081-17/+18
| | | | | | | | | | * "map": group gates into LUTs; * "pack": replace gates with LUTs. This is important because we have FlowMap and DF-Map, and currently our messages are ambiguous. Also clean up some other log messages while we're at it.
* flowmap: implement depth relaxation.whitequark2019-01-081-22/+680
|
* flowmap: construct a max-volume max-flow min-cut, not just any one.whitequark2019-01-061-7/+10
|
* flowmap: add -minlut option, to allow postprocessing with opt_lut.whitequark2019-01-041-7/+21
|
* flowmap: cleanup for clarity. NFCI.whitequark2019-01-041-107/+141
|
* flowmap: improve debug graph output. NFC.whitequark2019-01-041-47/+76
|
* flowmap: add link to longer version of paper. NFC.whitequark2019-01-041-2/+3
|
* flowmap: new techmap pass.whitequark2019-01-032-0/+874
|
* Add "dffinit -noreinit" parameterIcenowy Zheng2018-12-181-1/+14
| | | | | | | | | | | | | | | Sometimes the FF cell might be initialized during the map process, e.g. some FPGA platforms (Anlogic Eagle and Lattice ECP5 for example) has only a "SR" pin for a FF for async reset, that resets the FF to the initial value, which means the async reset value should be set as the initial value. In this case the DFFINIT pass shouldn't reinitialize it to a different value, which will lead to error. Add a "-noreinit" parameter for the safeguard. If a FF is not technically initialized before DFFINIT pass, the default value should be set to x. Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
* Add "dffinit -strinit high low"Icenowy Zheng2018-12-181-2/+16
| | | | | | | | | | On some platforms the string to initialize DFF might not be "high" and "low", e.g. with Anlogic TD it's "SET" and "RESET". Add a "-strinit" parameter for dffinit to allow specify the strings used for high and low. Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
* Revert "Proof-of-concept: preserve naming through ABC using dress"Clifford Wolf2018-12-161-51/+29
|
* Merge pull request #735 from daveshah1/trifixesClifford Wolf2018-12-161-3/+4
|\ | | | | deminout fixes
| * deminout: Consider $tribuf cellsDavid Shah2018-12-121-2/+2
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
| * deminout: Don't demote constant-driven inouts to inputsDavid Shah2018-12-121-1/+2
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | Merge pull request #714 from daveshah1/abc_preserve_namingClifford Wolf2018-12-161-29/+51
|\ \ | | | | | | Proof-of-concept: preserve naming through ABC using dress
| * | abc: Preserve naming through ABC using 'dress' commandDavid Shah2018-12-061-29/+51
| |/ | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* / lut2mux: handle 1-bit INIT constant in $lut cells.whitequark2018-12-051-1/+1
|/ | | | | This pass already handles INIT constants shorter than 2^width, but that was not done for the recursion base case.
* Fix typoClifford Wolf2018-12-041-1/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* dff2dffe: Add option for unmap to only remove DFFE with low CE signal useSylvain Munaut2018-11-271-1/+36
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* DFFLIBMAP: changed 'missing pin' error into a warning with additional ↵Niels Moseley2018-11-061-1/+10
| | | | reason/info.
* Allow square brackets in liberty identifiersClifford Wolf2018-11-051-2/+2
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Liberty file newline handling is more relaxed. More descriptive error messageNiels Moseley2018-11-031-4/+7
|
* Report an error when a liberty file contains pin references that reference ↵Niels Moseley2018-11-031-0/+3
| | | | non-existing pins
* Merge pull request #591 from hzeller/virtual-overrideClifford Wolf2018-08-1528-62/+62
|\ | | | | Consistent use of 'override' for virtual methods in derived classes.
| * Consistent use of 'override' for virtual methods in derived classes.Henner Zeller2018-07-2028-62/+62
| | | | | | | | | | | | | | | | | | o Not all derived methods were marked 'override', but it is a great feature of C++11 that we should make use of. o While at it: touched header files got a -*- c++ -*- for emacs to provide support for that language. o use YS_OVERRIDE for all override keywords (though we should probably use the plain keyword going forward now that C++11 is established)
* | Add missing <deque> include (MSVC build fix)Clifford Wolf2018-07-221-0/+1
|/ | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>