aboutsummaryrefslogtreecommitdiffstats
path: root/backends
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* | 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
|
* 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
| |
* | Merge remote-tracking branch 'origin/master' into xaigEddie Hung2019-06-205-0/+6
|\|
| * Support filename rewrite in backendsBen Widawsky2019-06-184-0/+4
| | | | | | | | Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
| * Add timescale and generated-by header to yosys-smtbmc MkVcdClifford Wolf2019-06-161-0/+2
| | | | | | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* | Handle COs driven by 1'bxEddie Hung2019-06-201-3/+9
| |
* | write_xaiger to skip POs driven by 1'bxEddie Hung2019-06-201-3/+7
| |
* | CleanupEddie Hung2019-06-161-228/+25
| |
* | Leave breadcrumb behindEddie Hung2019-06-141-0/+2
| |
* | Remove redundant conditionEddie Hung2019-06-141-1/+1
| |
* | Revert "Cleanup/optimise toposort in write_xaiger"Eddie Hung2019-06-141-44/+40
| | | | | | | | | | | | This reverts commit 1948e7c846ea318d003148974945d917701a4452. Restores old toposort with optimisations
* | Update commentEddie Hung2019-06-141-1/+2
| |
* | Check that whiteboxes are synthesisableEddie Hung2019-06-141-4/+8
| |