David Shah [Thu, 18 Jul 2019 16:34:55 +0000 (17:34 +0100)]
Merge pull request #1207 from ZirconiumX/intel_new_pass_names
synth_intel: rename for consistency with #1184
Dan Ravensloft [Thu, 18 Jul 2019 15:46:21 +0000 (16:46 +0100)]
synth_intel: rename for consistency with #1184
Also fix a typo in the help message.
Clifford Wolf [Thu, 18 Jul 2019 13:34:28 +0000 (15:34 +0200)]
Merge pull request #1184 from whitequark/synth-better-labels
synth_{ice40,ecp5}: more sensible pass label naming
Clifford Wolf [Thu, 18 Jul 2019 13:31:27 +0000 (15:31 +0200)]
Merge pull request #1203 from whitequark/write_verilog-zero-width-values
write_verilog: dump zero width constants correctly
Clifford Wolf [Wed, 17 Jul 2019 09:49:04 +0000 (11:49 +0200)]
Remove old $pmux_safe code from write_verilog
Signed-off-by: Clifford Wolf <clifford@clifford.at>
David Shah [Wed, 17 Jul 2019 06:55:26 +0000 (07:55 +0100)]
Merge pull request #1204 from smunaut/fix_1187
ice40: Adapt the relut process passes to the new $lut/SB_LUT4 port map
Sylvain Munaut [Tue, 16 Jul 2019 21:57:15 +0000 (23:57 +0200)]
ice40: Adapt the relut process passes to the new $lut <=> SB_LUT4 port map
The new mapping introduced in
437fec0d88b4a2ad172edf0d1a861a38845f3b1d
needed matching adaptation when converting and optimizing LUTs during
the relut process
Fixes #1187
(Diagnosis of the issue by @daveshah1 on IRC)
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
whitequark [Tue, 16 Jul 2019 20:57:05 +0000 (20:57 +0000)]
write_verilog: dump zero width constants correctly.
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).
Eddie Hung [Tue, 16 Jul 2019 20:52:43 +0000 (13:52 -0700)]
Merge pull request #1202 from YosysHQ/cmp2lut_lut6
cmp2lut transformation to support >32 bit LUT masks
whitequark [Tue, 16 Jul 2019 20:44:55 +0000 (20:44 +0000)]
synth_ecp5: rename dram to lutram everywhere.
whitequark [Thu, 11 Jul 2019 10:56:59 +0000 (10:56 +0000)]
synth_{ice40,ecp5}: more sensible pass label naming.
Eddie Hung [Tue, 16 Jul 2019 19:45:29 +0000 (12:45 -0700)]
gen_lut to return correctly sized LUT mask
Eddie Hung [Tue, 16 Jul 2019 19:44:26 +0000 (12:44 -0700)]
Forgot to commit
Eddie Hung [Tue, 16 Jul 2019 19:11:59 +0000 (12:11 -0700)]
Add tests for cmp2lut on LUT6
Eddie Hung [Tue, 16 Jul 2019 15:53:47 +0000 (08:53 -0700)]
Merge pull request #1188 from YosysHQ/eddie/abc9_push_inverters
abc9: push inverters driving box inputs (comb outputs) through $lut soft logic
Eddie Hung [Tue, 16 Jul 2019 15:52:14 +0000 (08:52 -0700)]
Merge pull request #1186 from YosysHQ/eddie/abc9_ice40_fix
abc9/ice40: encapsulate SB_CARRY+SB_LUT4 into one box
Clifford Wolf [Tue, 16 Jul 2019 13:27:25 +0000 (15:27 +0200)]
Merge pull request #1200 from mmicko/fix_typo_liberty_cc
Fix typo, double "of"
Clifford Wolf [Tue, 16 Jul 2019 13:27:09 +0000 (15:27 +0200)]
Merge pull request #1199 from mmicko/extract_fa_fix
Fix check logic in extract_fa
Miodrag Milanovic [Tue, 16 Jul 2019 09:03:30 +0000 (11:03 +0200)]
Fix typo, double "of"
Miodrag Milanovic [Tue, 16 Jul 2019 08:35:18 +0000 (10:35 +0200)]
Fix check logic in extract_fa
Eddie Hung [Mon, 15 Jul 2019 20:31:08 +0000 (13:31 -0700)]
Merge pull request #1196 from YosysHQ/eddie/fix1178
Fix different synth results between with and without debug output "-g"
Eddie Hung [Mon, 15 Jul 2019 19:03:51 +0000 (12:03 -0700)]
$__ICE40_CARRY_LUT4 -> $__ICE40_FULL_ADDER as per @whitequark
Clifford Wolf [Mon, 15 Jul 2019 18:06:35 +0000 (20:06 +0200)]
Merge pull request #1189 from YosysHQ/eddie/fix1151
Error out if enable > dbits in memory_bram file
Clifford Wolf [Mon, 15 Jul 2019 18:05:56 +0000 (20:05 +0200)]
Merge pull request #1190 from YosysHQ/eddie/fix_1099
extract_fa to return nothing more gracefully
Clifford Wolf [Mon, 15 Jul 2019 18:04:00 +0000 (20:04 +0200)]
Merge pull request #1191 from whitequark/opt_lut-log_debug
Make opt_lut less chatty
Clifford Wolf [Mon, 15 Jul 2019 18:01:38 +0000 (20:01 +0200)]
Merge pull request #1195 from Roman-Parise/master
Updated FreeBSD dependencies in README.md
Clifford Wolf [Mon, 15 Jul 2019 17:42:11 +0000 (19:42 +0200)]
Merge pull request #1197 from nakengelhardt/handle-setrlimit-fail
smt: handle failure of setrlimit syscall
Eddie Hung [Mon, 15 Jul 2019 15:35:48 +0000 (08:35 -0700)]
Revert "Add log_checkpoint function and use it in opt_muxtree"
This reverts commit
0e6c83027f24cdf7082606a5631468ad28f41574.
N. Engelhardt [Mon, 15 Jul 2019 15:33:18 +0000 (23:33 +0800)]
smt: handle failure of setrlimit syscall
Eddie Hung [Mon, 15 Jul 2019 15:31:26 +0000 (08:31 -0700)]
Revert "Fix first divergence in #1178"
This reverts commit
1122a2e0671ed00b7c03658f5012e34df12f26de.
Eddie Hung [Mon, 15 Jul 2019 15:23:01 +0000 (08:23 -0700)]
Merge branch 'master' into eddie/fix1178
Clifford Wolf [Mon, 15 Jul 2019 15:10:42 +0000 (17:10 +0200)]
Redesign log_id_cache so that it doesn't keep IdString instances referenced, fixes #1178
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Mon, 15 Jul 2019 10:12:21 +0000 (12:12 +0200)]
Add log_checkpoint function and use it in opt_muxtree
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Eddie Hung [Sun, 14 Jul 2019 20:36:34 +0000 (13:36 -0700)]
Merge pull request #1194 from cr1901/miss-semi
Fix missing semicolon in Windows-specific code in aigerparse.cc.
William D. Jones [Sun, 14 Jul 2019 15:57:08 +0000 (11:57 -0400)]
Fix missing semicolon in Windows-specific code in aigerparse.cc.
Signed-off-by: William D. Jones <thor0505@comcast.net>
Roman-Parise [Sun, 14 Jul 2019 16:25:07 +0000 (09:25 -0700)]
Updated FreeBSD dependencies in README.md
whitequark [Sat, 13 Jul 2019 16:49:56 +0000 (16:49 +0000)]
opt_lut: make less chatty.
Eddie Hung [Sat, 13 Jul 2019 11:13:57 +0000 (04:13 -0700)]
If ConstEval fails do not log_abort() but return gracefully
Eddie Hung [Sat, 13 Jul 2019 10:39:23 +0000 (03:39 -0700)]
Error out if enable > dbits
Eddie Hung [Sat, 13 Jul 2019 08:11:00 +0000 (01:11 -0700)]
ice40_opt to $__ICE40_CARRY_LUT4 into $lut not SB_LUT
Eddie Hung [Sat, 13 Jul 2019 07:52:21 +0000 (00:52 -0700)]
Add comment
Eddie Hung [Sat, 13 Jul 2019 04:00:13 +0000 (21:00 -0700)]
Update test with more accurate LUT mask
Eddie Hung [Sat, 13 Jul 2019 02:33:02 +0000 (19:33 -0700)]
duplicate -> clone
Eddie Hung [Sat, 13 Jul 2019 02:21:03 +0000 (19:21 -0700)]
More cleanup
Eddie Hung [Sat, 13 Jul 2019 02:17:32 +0000 (19:17 -0700)]
Cleanup
Eddie Hung [Fri, 12 Jul 2019 23:06:14 +0000 (16:06 -0700)]
Cleanup
Eddie Hung [Fri, 12 Jul 2019 23:01:11 +0000 (16:01 -0700)]
Cleanup
Eddie Hung [Fri, 12 Jul 2019 22:43:39 +0000 (15:43 -0700)]
More cleanup
Eddie Hung [Fri, 12 Jul 2019 22:41:06 +0000 (15:41 -0700)]
Cleanup
Eddie Hung [Fri, 12 Jul 2019 22:31:02 +0000 (15:31 -0700)]
Cleanup
Eddie Hung [Fri, 12 Jul 2019 22:29:04 +0000 (15:29 -0700)]
Cleanup
Eddie Hung [Fri, 12 Jul 2019 15:22:26 +0000 (08:22 -0700)]
Do not double count cells in abc
Clifford Wolf [Fri, 12 Jul 2019 08:48:00 +0000 (10:48 +0200)]
Merge pull request #1183 from whitequark/ice40-always-relut
synth_ice40: switch -relut to be always on
Eddie Hung [Fri, 12 Jul 2019 08:32:10 +0000 (01:32 -0700)]
Use Const::from_string() not its constructor...
Eddie Hung [Fri, 12 Jul 2019 08:17:53 +0000 (01:17 -0700)]
Off by one
Eddie Hung [Fri, 12 Jul 2019 08:15:22 +0000 (01:15 -0700)]
Fix spacing
Eddie Hung [Fri, 12 Jul 2019 08:08:48 +0000 (01:08 -0700)]
Remove double push
Eddie Hung [Fri, 12 Jul 2019 07:53:01 +0000 (00:53 -0700)]
Map to and from this box if -abc9
Eddie Hung [Fri, 12 Jul 2019 07:52:31 +0000 (00:52 -0700)]
ice40_opt to handle this box and opt back to SB_LUT4
Eddie Hung [Fri, 12 Jul 2019 07:52:19 +0000 (00:52 -0700)]
Add new box to cells_sim.v
Eddie Hung [Fri, 12 Jul 2019 07:51:37 +0000 (00:51 -0700)]
_ABC macro will map and unmap to this new box
Eddie Hung [Fri, 12 Jul 2019 07:50:42 +0000 (00:50 -0700)]
Combine SB_CARRY+SB_LUT into one $__ICE40_CARRY_LUT4 box
whitequark [Thu, 11 Jul 2019 10:46:30 +0000 (10:46 +0000)]
synth_ice40: switch -relut to be always on.
whitequark [Thu, 11 Jul 2019 10:46:45 +0000 (10:46 +0000)]
synth_ice40: fix help text typo. NFC.
Eddie Hung [Thu, 11 Jul 2019 19:55:35 +0000 (12:55 -0700)]
Merge pull request #1182 from koriakin/xc6s-bram
synth_xilinx: Initial Spartan 6 block RAM inference support.
Eddie Hung [Thu, 11 Jul 2019 19:55:14 +0000 (12:55 -0700)]
Merge pull request #1185 from koriakin/xc-ff-init-vals
xilinx: Fix the default values for FDPE/FDSE INIT attributes to match ISE/Vivado.
Marcin Kościelnicki [Thu, 11 Jul 2019 19:13:12 +0000 (21:13 +0200)]
xilinx: Fix the default values for FDPE/FDSE INIT attributes to match ISE/Vivado.
Eddie Hung [Thu, 11 Jul 2019 15:49:06 +0000 (08:49 -0700)]
Enable &mfs for abc9, even if it only currently works for ice40
Marcin Kościelnicki [Tue, 2 Jul 2019 12:28:35 +0000 (14:28 +0200)]
synth_xilinx: Initial Spartan 6 block RAM inference support.
Clifford Wolf [Thu, 11 Jul 2019 05:25:52 +0000 (07:25 +0200)]
Merge pull request #1172 from whitequark/write_verilog-Sa-as-qmark
write_verilog: write RTLIL::Sa aka - as Verilog ?
Clifford Wolf [Thu, 11 Jul 2019 05:23:28 +0000 (07:23 +0200)]
Merge pull request #1179 from whitequark/attrmap-proc
attrmap: also consider process, switch and case attributes
Eddie Hung [Wed, 10 Jul 2019 21:38:13 +0000 (14:38 -0700)]
Merge pull request #1180 from YosysHQ/eddie/no_abc9_retime
Error out if -abc9 and -retime specified
Eddie Hung [Wed, 10 Jul 2019 21:38:00 +0000 (14:38 -0700)]
Merge pull request #1148 from YosysHQ/xc7mux
synth_xilinx to infer wide multiplexers using new '-widemux <min>' option
Eddie Hung [Wed, 10 Jul 2019 19:47:48 +0000 (12:47 -0700)]
Error out if -abc9 and -retime specified
Eddie Hung [Wed, 10 Jul 2019 19:32:33 +0000 (12:32 -0700)]
Add some spacing
Eddie Hung [Wed, 10 Jul 2019 19:20:04 +0000 (12:20 -0700)]
Add some ASCII art explaining mux decomposition
whitequark [Wed, 10 Jul 2019 12:28:32 +0000 (12:28 +0000)]
attrmap: also consider process, switch and case attributes.
Clifford Wolf [Wed, 10 Jul 2019 06:48:20 +0000 (08:48 +0200)]
Merge pull request #1177 from YosysHQ/clifford/async
Fix clk2fflogic adff reset semantic to negative hold time on reset
Eddie Hung [Wed, 10 Jul 2019 04:26:38 +0000 (21:26 -0700)]
Call muxpack and pmux2shiftx before cmp2lut
Eddie Hung [Tue, 9 Jul 2019 22:49:16 +0000 (15:49 -0700)]
Fix first divergence in #1178
Eddie Hung [Tue, 9 Jul 2019 21:29:58 +0000 (14:29 -0700)]
Restore opt_clean back to original place
Eddie Hung [Tue, 9 Jul 2019 21:28:54 +0000 (14:28 -0700)]
Restore missing techmap -map +/cmp2lut.v with LUT_WIDTH=6
David Shah [Tue, 9 Jul 2019 21:26:10 +0000 (22:26 +0100)]
synth_ecp5: Fix typo in copyright header
Signed-off-by: David Shah <dave@ds0.me>
Clifford Wolf [Tue, 9 Jul 2019 20:59:51 +0000 (22:59 +0200)]
Merge pull request #1174 from YosysHQ/eddie/fix1173
Increment _TECHMAP_BITS_CONNMAP_ by one since counting from zero
Clifford Wolf [Tue, 9 Jul 2019 20:51:25 +0000 (22:51 +0200)]
Merge pull request #1175 from whitequark/write_verilog-fix-case-attr-position
write_verilog: fix placement of case attributes
Clifford Wolf [Tue, 9 Jul 2019 20:44:39 +0000 (22:44 +0200)]
Fix tests/various/async FFL test
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 9 Jul 2019 20:21:25 +0000 (22:21 +0200)]
Improve tests/various/async, disable failing ffl test
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Eddie Hung [Tue, 9 Jul 2019 19:35:41 +0000 (12:35 -0700)]
Extend using A[1] to preserve don't care
Eddie Hung [Tue, 9 Jul 2019 19:19:40 +0000 (12:19 -0700)]
Merge pull request #1171 from YosysHQ/revert-1166-eddie/synth_keepdc
Revert "Add "synth -keepdc" option"
Eddie Hung [Tue, 9 Jul 2019 19:16:33 +0000 (12:16 -0700)]
Merge remote-tracking branch 'origin/eddie/fix1173' into xc7mux
whitequark [Tue, 9 Jul 2019 19:14:03 +0000 (19:14 +0000)]
write_verilog: fix placement of case attributes. NFC.
Eddie Hung [Tue, 9 Jul 2019 19:14:00 +0000 (12:14 -0700)]
Increment _TECHMAP_BITS_CONNMAP_ by one since counting from zero
Clifford Wolf [Tue, 9 Jul 2019 18:58:59 +0000 (20:58 +0200)]
Add tests/various/async.{sh,v}
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 9 Jul 2019 18:58:28 +0000 (20:58 +0200)]
Improve tests/various/run-test.sh
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Clifford Wolf [Tue, 9 Jul 2019 18:58:01 +0000 (20:58 +0200)]
Add tests/simple_abc9/.gitignore
Signed-off-by: Clifford Wolf <clifford@clifford.at>
whitequark [Tue, 9 Jul 2019 18:30:24 +0000 (18:30 +0000)]
write_verilog: write RTLIL::Sa aka - as Verilog ?.
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.
Eddie Hung [Tue, 9 Jul 2019 17:59:37 +0000 (10:59 -0700)]
Extend during mux decomposition with 1'bx
Eddie Hung [Tue, 9 Jul 2019 17:38:07 +0000 (10:38 -0700)]
Fix typo and comments
Eddie Hung [Tue, 9 Jul 2019 17:22:57 +0000 (10:22 -0700)]
Merge pull request #1170 from YosysHQ/eddie/fix_double_underscore
Rename __builtin_bswap32 -> bswap32
Eddie Hung [Tue, 9 Jul 2019 17:22:49 +0000 (10:22 -0700)]
Merge remote-tracking branch 'origin/master' into xc7mux