yosys.git
5 years agoMerge remote-tracking branch 'origin/master' into ice40dsp
Eddie Hung [Thu, 18 Jul 2019 22:45:25 +0000 (15:45 -0700)]
Merge remote-tracking branch 'origin/master' into ice40dsp

5 years agoice40_dsp to accept $__MUL16X16 too
Eddie Hung [Thu, 18 Jul 2019 22:38:28 +0000 (15:38 -0700)]
ice40_dsp to accept $__MUL16X16 too

5 years agosynth_ice40 to decompose into 16x16
Eddie Hung [Thu, 18 Jul 2019 22:38:09 +0000 (15:38 -0700)]
synth_ice40 to decompose into 16x16

5 years agomul2dsp to create cells that can be interchanged with $mul
Eddie Hung [Thu, 18 Jul 2019 22:37:35 +0000 (15:37 -0700)]
mul2dsp to create cells that can be interchanged with $mul

5 years agoCheck if RHS is empty first
Eddie Hung [Thu, 18 Jul 2019 22:22:00 +0000 (15:22 -0700)]
Check if RHS is empty first

5 years agoMake consistent
Eddie Hung [Thu, 18 Jul 2019 22:21:23 +0000 (15:21 -0700)]
Make consistent

5 years agoDo not autoremove ffP aor muxP
Eddie Hung [Thu, 18 Jul 2019 22:02:41 +0000 (15:02 -0700)]
Do not autoremove ffP aor muxP

5 years agoImprove pattern matcher to match subsets of $dffe? cells
Eddie Hung [Thu, 18 Jul 2019 21:08:18 +0000 (14:08 -0700)]
Improve pattern matcher to match subsets of $dffe? cells

5 years agoImprove A/B reg packing
Eddie Hung [Thu, 18 Jul 2019 20:30:35 +0000 (13:30 -0700)]
Improve A/B reg packing

5 years agoDo not autoremove A/B registers since they might have other consumers
Eddie Hung [Thu, 18 Jul 2019 20:22:22 +0000 (13:22 -0700)]
Do not autoremove A/B registers since they might have other consumers

5 years agoFix xilinx_dsp index cast
Eddie Hung [Thu, 18 Jul 2019 20:18:04 +0000 (13:18 -0700)]
Fix xilinx_dsp index cast

5 years agoFix signed multiplier decomposition
Eddie Hung [Thu, 18 Jul 2019 20:11:26 +0000 (13:11 -0700)]
Fix signed multiplier decomposition

5 years agoUse single DSP_SIGNEDONLY macro
Eddie Hung [Thu, 18 Jul 2019 20:09:55 +0000 (13:09 -0700)]
Use single DSP_SIGNEDONLY macro

5 years agoWorking for unsigned
Eddie Hung [Thu, 18 Jul 2019 17:53:18 +0000 (10:53 -0700)]
Working for unsigned

5 years agoCleanup
Eddie Hung [Thu, 18 Jul 2019 16:20:48 +0000 (09:20 -0700)]
Cleanup

5 years agoWrong wildcard symbol
Eddie Hung [Thu, 18 Jul 2019 15:14:58 +0000 (08:14 -0700)]
Wrong wildcard symbol

5 years agoMerge branch 'xc7dsp' of github.com:YosysHQ/yosys into xc7dsp
Eddie Hung [Thu, 18 Jul 2019 15:11:33 +0000 (08:11 -0700)]
Merge branch 'xc7dsp' of github.com:YosysHQ/yosys into xc7dsp

5 years agoMerge pull request #1184 from whitequark/synth-better-labels
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

5 years agoMerge pull request #1203 from whitequark/write_verilog-zero-width-values
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

5 years agomul2dsp: Lower partial products always have unsigned inputs
David Shah [Thu, 18 Jul 2019 10:33:37 +0000 (11:33 +0100)]
mul2dsp: Lower partial products always have unsigned inputs

Signed-off-by: David Shah <dave@ds0.me>
5 years agoMake all operands signed
Eddie Hung [Wed, 17 Jul 2019 21:25:40 +0000 (14:25 -0700)]
Make all operands signed

5 years agoUpdate comment
Eddie Hung [Wed, 17 Jul 2019 20:26:17 +0000 (13:26 -0700)]
Update comment

5 years agoPattern matcher to check pool of bits, not exactly
Eddie Hung [Wed, 17 Jul 2019 19:45:25 +0000 (12:45 -0700)]
Pattern matcher to check pool of bits, not exactly

5 years agoFix mul2dsp signedness
Eddie Hung [Wed, 17 Jul 2019 19:44:52 +0000 (12:44 -0700)]
Fix mul2dsp signedness

5 years agoA_SIGNED == B_SIGNED so flip both
Eddie Hung [Wed, 17 Jul 2019 18:34:18 +0000 (11:34 -0700)]
A_SIGNED == B_SIGNED so flip both

5 years agoSigSpec::remove_const() to return SigSpec&
Eddie Hung [Wed, 17 Jul 2019 17:44:11 +0000 (10:44 -0700)]
SigSpec::remove_const() to return SigSpec&

5 years agoRemove old $pmux_safe code from write_verilog
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>
5 years agoMerge pull request #1204 from smunaut/fix_1187
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

5 years agoAdd DSP_{A,B}_SIGNEDONLY macro
Eddie Hung [Tue, 16 Jul 2019 22:55:13 +0000 (15:55 -0700)]
Add DSP_{A,B}_SIGNEDONLY macro

5 years agoSignedness
Eddie Hung [Tue, 16 Jul 2019 22:54:27 +0000 (15:54 -0700)]
Signedness

5 years agoSigned extension
Eddie Hung [Tue, 16 Jul 2019 22:54:07 +0000 (15:54 -0700)]
Signed extension

5 years agoice40: 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>
5 years agoRevert drop down to 24x16 multipliers for all
Eddie Hung [Tue, 16 Jul 2019 21:30:25 +0000 (14:30 -0700)]
Revert drop down to 24x16 multipliers for all

5 years agoMerge branch 'xc7dsp' of github.com:YosysHQ/yosys into xc7dsp
Eddie Hung [Tue, 16 Jul 2019 21:18:36 +0000 (14:18 -0700)]
Merge branch 'xc7dsp' of github.com:YosysHQ/yosys into xc7dsp

5 years agoAdd support {A,B,P}REG packing
Eddie Hung [Tue, 16 Jul 2019 21:06:32 +0000 (14:06 -0700)]
Add support {A,B,P}REG packing

5 years agoSigSpec::extract to allow negative length
Eddie Hung [Tue, 16 Jul 2019 21:06:07 +0000 (14:06 -0700)]
SigSpec::extract to allow negative length

5 years agoAdd support for {A,B,P}REG in DSP48E1
Eddie Hung [Tue, 16 Jul 2019 21:05:50 +0000 (14:05 -0700)]
Add support for {A,B,P}REG in DSP48E1

5 years agowrite_verilog: dump zero width constants correctly.
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).

5 years agoMerge pull request #1202 from YosysHQ/cmp2lut_lut6
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

5 years agosynth_ecp5: rename dram to lutram everywhere.
whitequark [Tue, 16 Jul 2019 20:44:55 +0000 (20:44 +0000)]
synth_ecp5: rename dram to lutram everywhere.

5 years agosynth_{ice40,ecp5}: more sensible pass label naming.
whitequark [Thu, 11 Jul 2019 10:56:59 +0000 (10:56 +0000)]
synth_{ice40,ecp5}: more sensible pass label naming.

5 years agogen_lut to return correctly sized LUT mask
Eddie Hung [Tue, 16 Jul 2019 19:45:29 +0000 (12:45 -0700)]
gen_lut to return correctly sized LUT mask

5 years agoForgot to commit
Eddie Hung [Tue, 16 Jul 2019 19:44:26 +0000 (12:44 -0700)]
Forgot to commit

5 years agoAdd tests for cmp2lut on LUT6
Eddie Hung [Tue, 16 Jul 2019 19:11:59 +0000 (12:11 -0700)]
Add tests for cmp2lut on LUT6

5 years agoxilinx: Add correct signed behaviour to DSP48E1 model
David Shah [Tue, 16 Jul 2019 16:53:08 +0000 (17:53 +0100)]
xilinx: Add correct signed behaviour to DSP48E1 model

Signed-off-by: David Shah <dave@ds0.me>
5 years agoMerge pull request #1188 from YosysHQ/eddie/abc9_push_inverters
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

5 years agoMerge pull request #1186 from YosysHQ/eddie/abc9_ice40_fix
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

5 years agoxilinx: Treat DSP48E1 as 24x17 unsigned for now (actual behaviour is 25x18 signed)
David Shah [Tue, 16 Jul 2019 15:46:41 +0000 (16:46 +0100)]
xilinx: Treat DSP48E1 as 24x17 unsigned for now (actual behaviour is 25x18 signed)

Signed-off-by: David Shah <dave@ds0.me>
5 years agomul2dsp: Fix edge case where Y_WIDTH is less than B_WIDTH+`DSP_A_MAXWIDTH
David Shah [Tue, 16 Jul 2019 15:44:40 +0000 (16:44 +0100)]
mul2dsp: Fix edge case where Y_WIDTH is less than B_WIDTH+`DSP_A_MAXWIDTH

Signed-off-by: David Shah <dave@ds0.me>
5 years agomul2dsp: Fix indentation
David Shah [Tue, 16 Jul 2019 15:19:32 +0000 (16:19 +0100)]
mul2dsp: Fix indentation

Signed-off-by: David Shah <dave@ds0.me>
5 years agoMerge pull request #1200 from mmicko/fix_typo_liberty_cc
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"

5 years agoMerge pull request #1199 from mmicko/extract_fa_fix
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

5 years agoFix typo, double "of"
Miodrag Milanovic [Tue, 16 Jul 2019 09:03:30 +0000 (11:03 +0200)]
Fix typo, double "of"

5 years agoFix check logic in extract_fa
Miodrag Milanovic [Tue, 16 Jul 2019 08:35:18 +0000 (10:35 +0200)]
Fix check logic in extract_fa

5 years agoDo not swap if equals
Eddie Hung [Mon, 15 Jul 2019 23:52:37 +0000 (16:52 -0700)]
Do not swap if equals

5 years agoSigSpec::extend_u0() to return *this
Eddie Hung [Mon, 15 Jul 2019 23:23:12 +0000 (16:23 -0700)]
SigSpec::extend_u0() to return *this

5 years agoOops forgot these files
Eddie Hung [Mon, 15 Jul 2019 22:03:15 +0000 (15:03 -0700)]
Oops forgot these files

5 years agoAdd xilinx_dsp for register packing
Eddie Hung [Mon, 15 Jul 2019 21:46:31 +0000 (14:46 -0700)]
Add xilinx_dsp for register packing

5 years agoOUT port to Y in generic DSP
Eddie Hung [Mon, 15 Jul 2019 21:45:47 +0000 (14:45 -0700)]
OUT port to Y in generic DSP

5 years agoMove DSP mapping back out to dsp_map.v
Eddie Hung [Mon, 15 Jul 2019 21:18:44 +0000 (14:18 -0700)]
Move DSP mapping back out to dsp_map.v

5 years agoMerge pull request #1196 from YosysHQ/eddie/fix1178
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"

5 years ago$__ICE40_CARRY_LUT4 -> $__ICE40_FULL_ADDER as per @whitequark
Eddie Hung [Mon, 15 Jul 2019 19:03:51 +0000 (12:03 -0700)]
$__ICE40_CARRY_LUT4 -> $__ICE40_FULL_ADDER as per @whitequark

5 years agoOnly swap if B_WIDTH > A_WIDTH
Eddie Hung [Mon, 15 Jul 2019 18:24:11 +0000 (11:24 -0700)]
Only swap if B_WIDTH > A_WIDTH

5 years agoTidy up
Eddie Hung [Mon, 15 Jul 2019 18:19:54 +0000 (11:19 -0700)]
Tidy up

5 years agoMove DSP48E1 model out of cells_xtra, initial multiply one in cells_sim
Eddie Hung [Mon, 15 Jul 2019 18:13:22 +0000 (11:13 -0700)]
Move DSP48E1 model out of cells_xtra, initial multiply one in cells_sim

5 years agoMerge pull request #1189 from YosysHQ/eddie/fix1151
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

5 years agoMerge pull request #1190 from YosysHQ/eddie/fix_1099
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

5 years agoMerge pull request #1191 from whitequark/opt_lut-log_debug
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

5 years agoMerge pull request #1195 from Roman-Parise/master
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

5 years agoMerge pull request #1197 from nakengelhardt/handle-setrlimit-fail
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

5 years agoMerge remote-tracking branch 'origin/master' into xc7dsp
Eddie Hung [Mon, 15 Jul 2019 16:49:41 +0000 (09:49 -0700)]
Merge remote-tracking branch 'origin/master' into xc7dsp

5 years agoRevert "Add log_checkpoint function and use it in opt_muxtree"
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.

5 years agosmt: handle failure of setrlimit syscall
N. Engelhardt [Mon, 15 Jul 2019 15:33:18 +0000 (23:33 +0800)]
smt: handle failure of setrlimit syscall

5 years agoRevert "Fix first divergence in #1178"
Eddie Hung [Mon, 15 Jul 2019 15:31:26 +0000 (08:31 -0700)]
Revert "Fix first divergence in #1178"

This reverts commit 1122a2e0671ed00b7c03658f5012e34df12f26de.

5 years agoMerge branch 'master' into eddie/fix1178
Eddie Hung [Mon, 15 Jul 2019 15:23:01 +0000 (08:23 -0700)]
Merge branch 'master' into eddie/fix1178

5 years agoRedesign log_id_cache so that it doesn't keep IdString instances referenced, fixes...
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>
5 years agoAdd log_checkpoint function and use it in opt_muxtree
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>
5 years agoMerge pull request #1194 from cr1901/miss-semi
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.

5 years agoFix 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>
5 years agoUpdated FreeBSD dependencies in README.md
Roman-Parise [Sun, 14 Jul 2019 16:25:07 +0000 (09:25 -0700)]
Updated FreeBSD dependencies in README.md

5 years agoopt_lut: make less chatty.
whitequark [Sat, 13 Jul 2019 16:49:56 +0000 (16:49 +0000)]
opt_lut: make less chatty.

5 years agoIf ConstEval fails do not log_abort() but return gracefully
Eddie Hung [Sat, 13 Jul 2019 11:13:57 +0000 (04:13 -0700)]
If ConstEval fails do not log_abort() but return gracefully

5 years agoError out if enable > dbits
Eddie Hung [Sat, 13 Jul 2019 10:39:23 +0000 (03:39 -0700)]
Error out if enable > dbits

5 years agoice40_opt to $__ICE40_CARRY_LUT4 into $lut not SB_LUT
Eddie Hung [Sat, 13 Jul 2019 08:11:00 +0000 (01:11 -0700)]
ice40_opt to $__ICE40_CARRY_LUT4 into $lut not SB_LUT

5 years agoAdd comment
Eddie Hung [Sat, 13 Jul 2019 07:52:21 +0000 (00:52 -0700)]
Add comment

5 years agoUpdate test with more accurate LUT mask
Eddie Hung [Sat, 13 Jul 2019 04:00:13 +0000 (21:00 -0700)]
Update test with more accurate LUT mask

5 years agoduplicate -> clone
Eddie Hung [Sat, 13 Jul 2019 02:33:02 +0000 (19:33 -0700)]
duplicate -> clone

5 years agoMore cleanup
Eddie Hung [Sat, 13 Jul 2019 02:21:03 +0000 (19:21 -0700)]
More cleanup

5 years agoCleanup
Eddie Hung [Sat, 13 Jul 2019 02:17:32 +0000 (19:17 -0700)]
Cleanup

5 years agoCleanup
Eddie Hung [Fri, 12 Jul 2019 23:06:14 +0000 (16:06 -0700)]
Cleanup

5 years agoCleanup
Eddie Hung [Fri, 12 Jul 2019 23:01:11 +0000 (16:01 -0700)]
Cleanup

5 years agoMore cleanup
Eddie Hung [Fri, 12 Jul 2019 22:43:39 +0000 (15:43 -0700)]
More cleanup

5 years agoCleanup
Eddie Hung [Fri, 12 Jul 2019 22:41:06 +0000 (15:41 -0700)]
Cleanup

5 years agoCleanup
Eddie Hung [Fri, 12 Jul 2019 22:31:02 +0000 (15:31 -0700)]
Cleanup

5 years agoCleanup
Eddie Hung [Fri, 12 Jul 2019 22:29:04 +0000 (15:29 -0700)]
Cleanup

5 years agoDo not double count cells in abc
Eddie Hung [Fri, 12 Jul 2019 15:22:26 +0000 (08:22 -0700)]
Do not double count cells in abc

5 years agoMerge pull request #1183 from whitequark/ice40-always-relut
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

5 years agoUse Const::from_string() not its constructor...
Eddie Hung [Fri, 12 Jul 2019 08:32:10 +0000 (01:32 -0700)]
Use Const::from_string() not its constructor...

5 years agoOff by one
Eddie Hung [Fri, 12 Jul 2019 08:17:53 +0000 (01:17 -0700)]
Off by one

5 years agoFix spacing
Eddie Hung [Fri, 12 Jul 2019 08:15:22 +0000 (01:15 -0700)]
Fix spacing