aboutsummaryrefslogtreecommitdiffstats
path: root/backends
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | Visual Studio build fixMiodrag Milanovic2019-07-311-1/+1
| | |/
| * / Fix formatting for msys2 mingw build using GetSizeMiodrag Milanovic2019-08-011-6/+6
| |/
| * Merge pull request #1203 from whitequark/write_verilog-zero-width-valuesClifford Wolf2019-07-181-1/+2
| |\ | | | | | | write_verilog: dump zero width constants correctly
| | * write_verilog: dump zero width constants correctly.whitequark2019-07-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, zero width constants were dumped as "" (empty string). Unfortunately, 1364-2005 5.2.3.3 indicates that an empty string is equivalent to "\0", and is 8 bits wide, so that's wrong. After this commit, a replication operation with a count of zero is used instead, which is explicitly permitted per 1364-2005 5.1.14, and is defined to have size zero. (Its operand has to have a non-zero size for it to be legal, though.) Fixes #948 (again).
| * | Remove old $pmux_safe code from write_verilogClifford Wolf2019-07-171-5/+4
| |/ | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
| * smt: handle failure of setrlimit syscallN. Engelhardt2019-07-151-1/+5
| |
| * Merge pull request #1172 from whitequark/write_verilog-Sa-as-qmarkClifford Wolf2019-07-111-2/+8
| |\ | | | | | | write_verilog: write RTLIL::Sa aka - as Verilog ?
| | * write_verilog: write RTLIL::Sa aka - as Verilog ?.whitequark2019-07-091-2/+8
| | | | | | | | | | | | | | | | | | | | | Currently, the only ways (determined by grepping for regex \bSa\b) to end up with RTLIL::Sa in a netlist is by reading a Verilog constant with ? in it as a part of case, or by running certain FSM passes. Both of these cases should be round-tripped back to ? in Verilog.
* | | abc_flop to also get topologically sortedEddie Hung2019-07-101-11/+10
| | |
* | | Fix clk_pol for FD*_1Eddie Hung2019-07-101-1/+0
| | |
* | | Fix spacingEddie Hung2019-07-101-1/+1
| | |
* | | Change how to specify flops to ABC againEddie Hung2019-07-101-10/+20
| | |
* | | Use split_tokens()Eddie Hung2019-07-101-17/+11
| | |
* | | Merge remote-tracking branch 'origin/master' into xaig_dffEddie Hung2019-07-103-15/+34
|\| |
| * | Merge pull request #1175 from whitequark/write_verilog-fix-case-attr-positionClifford Wolf2019-07-091-3/+2
| |\ \ | | | | | | | | write_verilog: fix placement of case attributes
| | * | write_verilog: fix placement of case attributes. NFC.whitequark2019-07-091-3/+2
| | |/
| * | Merge pull request #1170 from YosysHQ/eddie/fix_double_underscoreEddie Hung2019-07-091-4/+6
| |\ \ | | |/ | |/| Rename __builtin_bswap32 -> bswap32
| | * Rename __builtin_bswap32 -> bswap32Eddie Hung2019-07-091-4/+6
| | |
| * | verilog_backend: dump attributes on SwitchRule.whitequark2019-07-081-0/+1
| | | | | | | | | | | | This appears to be an omission.
| * | verilog_backend: dump attributes on CaseRule, as comments.whitequark2019-07-081-6/+10
| | | | | | | | | | | | Attributes are not permitted in that position by Verilog grammar.
| * | Allow attributes on individual switch cases in RTLIL.whitequark2019-07-081-0/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parser changes are slightly awkward. Consider the following IL: process $0 <point 1> switch \foo <point 2> case 1'1 assign \bar \baz <point 3> ... case end end Before this commit, attributes are valid in <point 1>, and <point 3> iff it is immediately followed by a `switch`. (They are essentially attached to the switch.) But, after this commit, and because switch cases do not have an ending delimiter, <point 3> becomes ambiguous: the attribute could attach to either the following `case`, or to the following `switch`. This isn't expressible in LALR(1) and results in a reduce/reduce conflict. To address this, attributes inside processes are now valid anywhere inside the process: in <point 1> and <point 3> a part of case body, and in <point 2> as a separate rule. As a consequence, attributes can now precede `assign`s, which is made illegal in the same way it is illegal to attach attributes to `connect`. Attributes are tracked separately from the parser state, so this does not affect collection of attributes at all, other than allowing them on `case`s. The grammar change serves purely to allow attributes in more syntactic places.
| * write_xaiger to treat unknown cell connections as keep-sEddie Hung2019-07-021-6/+14
| |
* | Safe side: all flops have different mergeability classEddie Hung2019-07-021-1/+1
| |
* | Refactor and cope with new abc_flop formatEddie Hung2019-07-011-16/+38
| |
* | Merge remote-tracking branch 'origin/master' into xaig_dffEddie Hung2019-07-017-102/+204
|\|
| * Add generic __builtin_bswap32 functionEddie Hung2019-06-281-0/+15
| |
| * Also fix write_aiger for UBEddie Hung2019-06-281-26/+26
| |
| * Fix more potential for undefined behaviour due to container invalidationEddie Hung2019-06-281-6/+10
| |
| * Refactor for one "abc_carry" attribute on moduleEddie Hung2019-06-271-42/+40
| |
| * Merge origin/masterEddie Hung2019-06-272-4/+31
| |
| * Improve debugging message for comb loopsEddie Hung2019-06-261-4/+6
| |
| * Merge remote-tracking branch 'origin/master' into xaigEddie Hung2019-06-241-0/+4
| |\
| | * Fix json formattingMiodrag Milanovic2019-06-211-1/+1
| | |
| | * Add upto and offset to JSON portsMiodrag Milanovic2019-06-211-0/+4
| | |
| * | Carry in/out box ordering now move to end, not swap with endEddie Hung2019-06-221-26/+34
| | |
| * | Merge remote-tracking branch 'origin/master' into xaigEddie Hung2019-06-211-0/+4
| |\|
| | * Added JSON upto and offsetClifford Wolf2019-06-211-0/+4
| | | | | | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
| | * Fix gcc invalidation behaviour for write_aigerEddie Hung2019-06-201-1/+2
| | |
| * | Replace assert with error messageEddie Hung2019-06-211-1/+2
| | |
| * | Add log_push()/log_pop() inside write_xaigerEddie Hung2019-06-211-0/+4
| | |
| * | One more workaround for gcc-4.8Eddie Hung2019-06-211-3/+4
| | |
| * | No point logging constant bitEddie Hung2019-06-211-1/+1
| | |
| * | Move commentEddie Hung2019-06-211-2/+3
| | |
| * | Fix spacingEddie Hung2019-06-201-1/+1
| | |
| * | Refactor bit2aig for less lookupsEddie Hung2019-06-201-24/+27
| | |
| * | Fix gcc invalidation behaviour for write_aigerEddie Hung2019-06-201-1/+2
| | |
| * | Fix gcc error, due to dict invalidation during recursionEddie Hung2019-06-201-2/+3
| | |
| * | write_xaiger to flatten 1'bx/1'bz to 1'b0 againEddie Hung2019-06-201-2/+4
| | |
| * | Fix different abc9 testEddie Hung2019-06-201-2/+3
| | |
| * | Fix broken abc9.v test due to inout being 1'bxEddie Hung2019-06-201-2/+11
| | |