Dan Ravensloft [Mon, 22 Jul 2019 11:15:22 +0000 (12:15 +0100)]
intel: Map M9K BRAM only on families that have it
This regresses Cyclone V and Cyclone 10 substantially, but these
numbers were artificial, targeting a BRAM that they did not contain.
Amusingly, synth_intel still does better when synthesizing PicoSoC
than Quartus when neither are inferring block RAM.
Clifford Wolf [Sat, 20 Jul 2019 13:06:28 +0000 (15:06 +0200)]
Add "stat -tech cmos"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
David Shah [Thu, 18 Jul 2019 18:04:28 +0000 (19:04 +0100)]
Merge pull request #1208 from ZirconiumX/intel_cleanups
Assorted synth_intel cleanups from @bwidawsk
Dan Ravensloft [Thu, 18 Jul 2019 17:41:34 +0000 (18:41 +0100)]
synth_intel: Use stringf
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 16:28:21 +0000 (17:28 +0100)]
synth_intel: s/not family/no family/
Dan Ravensloft [Thu, 18 Jul 2019 16:08:52 +0000 (17:08 +0100)]
synth_intel: revert change to run_max10
Ben Widawsky [Mon, 8 Jul 2019 19:41:22 +0000 (12:41 -0700)]
intel_synth: Fix help message
cyclonev has been a "supported" family since the initial commit. The old
commit message suggested to use a10gx which is incorrect.
Aside from the obvious lack of functional change due to this just being
a help message, users who were previously using "a10gx" for "cyclonev" will
also have no functional change by using "cyclonev" instead.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Mon, 8 Jul 2019 19:37:24 +0000 (12:37 -0700)]
intel_synth: Small code cleanup to remove if ladder
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Mon, 8 Jul 2019 19:24:24 +0000 (12:24 -0700)]
intel_synth: Make family explicit and match
The help and code default to MAX10 for the family, however the couple of
if ladders defaulted to cycloneive. Fix this inconsistency and the next
patch will clean it up.
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Ben Widawsky [Mon, 8 Jul 2019 19:03:00 +0000 (12:03 -0700)]
intel_synth: Minor code cleanups
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
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