yosys.git
4 years agoMerge remote-tracking branch 'origin/master' into xaig_dff
Eddie Hung [Mon, 25 Nov 2019 20:42:09 +0000 (12:42 -0800)]
Merge remote-tracking branch 'origin/master' into xaig_dff

4 years agoSpecial abc9_clock wire to contain only clock signal
Eddie Hung [Mon, 25 Nov 2019 20:36:13 +0000 (12:36 -0800)]
Special abc9_clock wire to contain only clock signal

4 years agoabc9 to contain time call
Eddie Hung [Mon, 25 Nov 2019 20:35:57 +0000 (12:35 -0800)]
abc9 to contain time call

4 years agoabc9 to no longer to clock partitioning, operate on whole modules only
Eddie Hung [Mon, 25 Nov 2019 20:35:38 +0000 (12:35 -0800)]
abc9 to no longer to clock partitioning, operate on whole modules only

4 years agoclkpart to analyse async flops too
Eddie Hung [Mon, 25 Nov 2019 20:04:11 +0000 (12:04 -0800)]
clkpart to analyse async flops too

4 years agoclkbufmap: Add support for inverters in clock path.
Marcin Kościelnicki [Sun, 24 Nov 2019 15:05:45 +0000 (16:05 +0100)]
clkbufmap: Add support for inverters in clock path.

4 years agoxilinx: Use INV instead of LUT1 when applicable
Marcin Kościelnicki [Sun, 24 Nov 2019 13:17:46 +0000 (14:17 +0100)]
xilinx: Use INV instead of LUT1 when applicable

4 years agoMerge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 18:29:03 +0000 (10:29 -0800)]
Merge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff

4 years agoMore oopsies
Eddie Hung [Sat, 23 Nov 2019 18:28:46 +0000 (10:28 -0800)]
More oopsies

4 years agoConditioning abc9 on POs not accurate due to cells
Eddie Hung [Sat, 23 Nov 2019 18:26:55 +0000 (10:26 -0800)]
Conditioning abc9 on POs not accurate due to cells

4 years agoFor abc9, run clkpart before ff_map and after abc9
Eddie Hung [Sat, 23 Nov 2019 18:18:22 +0000 (10:18 -0800)]
For abc9, run clkpart before ff_map and after abc9

4 years agoMerge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 18:18:06 +0000 (10:18 -0800)]
Merge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff

4 years agoPrint ".en=" only if there is an enable signal
Eddie Hung [Sat, 23 Nov 2019 18:17:31 +0000 (10:17 -0800)]
Print ".en=" only if there is an enable signal

4 years agoEscape IdStrings
Eddie Hung [Sat, 23 Nov 2019 18:16:56 +0000 (10:16 -0800)]
Escape IdStrings

4 years agoMore sane naming of submod
Eddie Hung [Sat, 23 Nov 2019 18:01:09 +0000 (10:01 -0800)]
More sane naming of submod

4 years agoAdd -set_attr option, -unpart to take attr name
Eddie Hung [Sat, 23 Nov 2019 17:52:17 +0000 (09:52 -0800)]
Add -set_attr option, -unpart to take attr name

4 years agoMerge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 16:39:19 +0000 (08:39 -0800)]
Merge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff

4 years agoMerge branch 'xaig_dff' of github.com:YosysHQ/yosys into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 16:38:48 +0000 (08:38 -0800)]
Merge branch 'xaig_dff' of github.com:YosysHQ/yosys into xaig_dff

4 years agoMerge pull request #1505 from YosysHQ/eddie/xaig_dff_adff
Eddie Hung [Sat, 23 Nov 2019 16:22:03 +0000 (08:22 -0800)]
Merge pull request #1505 from YosysHQ/eddie/xaig_dff_adff

xaig_dff to support async flops $_DFF_[NP][NP][01]_

4 years agoDo not use log_signal() for empty SigSpec to prevent "{ }"
Eddie Hung [Sat, 23 Nov 2019 07:29:10 +0000 (23:29 -0800)]
Do not use log_signal() for empty SigSpec to prevent "{ }"

4 years agoCall submod once, more meaningful submod names, ignore largest domain
Eddie Hung [Sat, 23 Nov 2019 07:16:15 +0000 (23:16 -0800)]
Call submod once, more meaningful submod names, ignore largest domain

4 years agoMerge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 07:01:18 +0000 (23:01 -0800)]
Merge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff

4 years agoMerge pull request #1520 from pietrmar/fix-1463
Eddie Hung [Sat, 23 Nov 2019 06:45:40 +0000 (22:45 -0800)]
Merge pull request #1520 from pietrmar/fix-1463

coolrunner2: remove spurious log_pop() call, fixes #1463

4 years agoMerge remote-tracking branch 'origin/eddie/submod_po' into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 06:28:35 +0000 (22:28 -0800)]
Merge remote-tracking branch 'origin/eddie/submod_po' into xaig_dff

4 years agoRemove redundant flatten
Eddie Hung [Sat, 23 Nov 2019 06:22:56 +0000 (22:22 -0800)]
Remove redundant flatten

4 years agocoolrunner2: remove spurious log_pop() call, fixes #1463
Martin Pietryka [Sat, 23 Nov 2019 05:18:23 +0000 (06:18 +0100)]
coolrunner2: remove spurious log_pop() call, fixes #1463

This was causing a segmentation fault because there is no accompanying
log_push() call so header_count.size() became -1.

Signed-off-by: Martin Pietryka <martin@pietryka.at>
4 years agosubmod to bitty rather bussy, for bussy wires used as input and output
Eddie Hung [Sat, 23 Nov 2019 04:53:58 +0000 (20:53 -0800)]
submod to bitty rather bussy, for bussy wires used as input and output

4 years agoStray dump
Eddie Hung [Sat, 23 Nov 2019 04:53:48 +0000 (20:53 -0800)]
Stray dump

4 years agoMove clkpart into passes/hierarchy
Eddie Hung [Sat, 23 Nov 2019 01:25:53 +0000 (17:25 -0800)]
Move clkpart into passes/hierarchy

4 years agoMerge remote-tracking branch 'origin/eddie/submod_po' into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 01:24:45 +0000 (17:24 -0800)]
Merge remote-tracking branch 'origin/eddie/submod_po' into xaig_dff

4 years agoConstant driven signals are also an input to submodules
Eddie Hung [Sat, 23 Nov 2019 01:23:51 +0000 (17:23 -0800)]
Constant driven signals are also an input to submodules

4 years agoAdd another test with constant driver
Eddie Hung [Sat, 23 Nov 2019 01:23:34 +0000 (17:23 -0800)]
Add another test with constant driver

4 years agoMerge remote-tracking branch 'origin/eddie/submod_po' into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 01:04:33 +0000 (17:04 -0800)]
Merge remote-tracking branch 'origin/eddie/submod_po' into xaig_dff

4 years agoOops
Eddie Hung [Sat, 23 Nov 2019 01:03:30 +0000 (17:03 -0800)]
Oops

4 years agoMerge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 01:00:35 +0000 (17:00 -0800)]
Merge remote-tracking branch 'origin/eddie/clkpart' into xaig_dff

4 years agoOnly action if there is more than one clock domain
Eddie Hung [Sat, 23 Nov 2019 01:00:11 +0000 (17:00 -0800)]
Only action if there is more than one clock domain

4 years agoReplace TODO
Eddie Hung [Sat, 23 Nov 2019 00:58:08 +0000 (16:58 -0800)]
Replace TODO

4 years agoAdd testcase for signal used as part input part output
Eddie Hung [Sat, 23 Nov 2019 00:52:55 +0000 (16:52 -0800)]
Add testcase for signal used as part input part output

4 years agowrite_xaiger back to working with whole modules only
Eddie Hung [Sat, 23 Nov 2019 00:52:17 +0000 (16:52 -0800)]
write_xaiger back to working with whole modules only

4 years agoMerge remote-tracking branch 'origin/eddie/submod_po' into xaig_dff
Eddie Hung [Sat, 23 Nov 2019 00:50:56 +0000 (16:50 -0800)]
Merge remote-tracking branch 'origin/eddie/submod_po' into xaig_dff

4 years agoCleanup spacing
Eddie Hung [Sat, 23 Nov 2019 00:50:09 +0000 (16:50 -0800)]
Cleanup spacing

4 years agosigmap(wire) should inherit port_output status of POs
Eddie Hung [Sat, 23 Nov 2019 00:46:26 +0000 (16:46 -0800)]
sigmap(wire) should inherit port_output status of POs

4 years agoAdd testcase
Eddie Hung [Sat, 23 Nov 2019 00:41:05 +0000 (16:41 -0800)]
Add testcase

4 years agoMerge branch 'eddie/clkpart' into xaig_dff
Eddie Hung [Fri, 22 Nov 2019 23:41:48 +0000 (15:41 -0800)]
Merge branch 'eddie/clkpart' into xaig_dff

4 years agoBrackets
Eddie Hung [Fri, 22 Nov 2019 23:41:34 +0000 (15:41 -0800)]
Brackets

4 years agoEntry in Makefile.inc
Eddie Hung [Fri, 22 Nov 2019 23:41:23 +0000 (15:41 -0800)]
Entry in Makefile.inc

4 years agoMerge branch 'eddie/clkpart' into xaig_dff
Eddie Hung [Fri, 22 Nov 2019 23:38:48 +0000 (15:38 -0800)]
Merge branch 'eddie/clkpart' into xaig_dff

4 years agoAdd to CHANGELOG
Eddie Hung [Fri, 22 Nov 2019 23:35:08 +0000 (15:35 -0800)]
Add to CHANGELOG

4 years agoNew 'clkpart' to {,un}partition design according to clock/enable
Eddie Hung [Fri, 22 Nov 2019 23:33:51 +0000 (15:33 -0800)]
New 'clkpart' to {,un}partition design according to clock/enable

4 years agoRevert "write_xaiger to not use module POs but only write outputs if driven"
Eddie Hung [Fri, 22 Nov 2019 21:24:28 +0000 (13:24 -0800)]
Revert "write_xaiger to not use module POs but only write outputs if driven"

This reverts commit 0ab1e496dc601f8e9d5efbcc5b2be7cf6b2d9673.

4 years agoMissing endmodule
Eddie Hung [Fri, 22 Nov 2019 20:37:57 +0000 (12:37 -0800)]
Missing endmodule

4 years agoMerge pull request #1517 from YosysHQ/clifford/optmem
Clifford Wolf [Fri, 22 Nov 2019 17:11:58 +0000 (18:11 +0100)]
Merge pull request #1517 from YosysHQ/clifford/optmem

Add "opt_mem" pass

4 years agoMerge pull request #1515 from YosysHQ/clifford/svastuff
Clifford Wolf [Fri, 22 Nov 2019 17:10:34 +0000 (18:10 +0100)]
Merge pull request #1515 from YosysHQ/clifford/svastuff

Add Verific/SVA support for "always" and "nexttime" properties

4 years agoAdd "opt_mem" pass
Clifford Wolf [Fri, 22 Nov 2019 15:58:49 +0000 (16:58 +0100)]
Add "opt_mem" pass

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoAdd Verific support for SVA nexttime properties
Clifford Wolf [Fri, 22 Nov 2019 15:11:56 +0000 (16:11 +0100)]
Add Verific support for SVA nexttime properties

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoImprove handling of verific primitives in "verific -import -V" mode
Clifford Wolf [Fri, 22 Nov 2019 15:00:07 +0000 (16:00 +0100)]
Improve handling of verific primitives in "verific -import -V" mode

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoAdd Verific SVA support for "always" properties
Clifford Wolf [Fri, 22 Nov 2019 14:52:21 +0000 (15:52 +0100)]
Add Verific SVA support for "always" properties

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoMerge pull request #1511 from YosysHQ/dave/always
Clifford Wolf [Fri, 22 Nov 2019 14:32:29 +0000 (15:32 +0100)]
Merge pull request #1511 from YosysHQ/dave/always

sv: Error checking for always_comb, always_latch and always_ff

4 years agogowin: Remove show command from tests.
Marcin Kościelnicki [Fri, 22 Nov 2019 11:15:33 +0000 (12:15 +0100)]
gowin: Remove show command from tests.

4 years agogowin: Add missing .gitignore entries
Marcin Kościelnicki [Fri, 22 Nov 2019 11:10:57 +0000 (12:10 +0100)]
gowin: Add missing .gitignore entries

4 years agoUpdate CHANGELOG and README
David Shah [Fri, 22 Nov 2019 12:46:19 +0000 (12:46 +0000)]
Update CHANGELOG and README

Signed-off-by: David Shah <dave@ds0.me>
4 years agoAnother sloppy mistake!
Eddie Hung [Fri, 22 Nov 2019 00:33:20 +0000 (16:33 -0800)]
Another sloppy mistake!

4 years agoMerge remote-tracking branch 'origin/xaig_dff' into eddie/xaig_dff_adff
Eddie Hung [Fri, 22 Nov 2019 00:32:52 +0000 (16:32 -0800)]
Merge remote-tracking branch 'origin/xaig_dff' into eddie/xaig_dff_adff

4 years agoasync2sync -> clk2fflogic
Eddie Hung [Fri, 22 Nov 2019 00:27:34 +0000 (16:27 -0800)]
async2sync -> clk2fflogic

4 years agowrite_xaiger to not use module POs but only write outputs if driven
Eddie Hung [Fri, 22 Nov 2019 00:19:28 +0000 (16:19 -0800)]
write_xaiger to not use module POs but only write outputs if driven

4 years agoWhen expanding upwards, do not capture $__ABC9_{FF,ASYNC}_
Eddie Hung [Fri, 22 Nov 2019 00:17:03 +0000 (16:17 -0800)]
When expanding upwards, do not capture $__ABC9_{FF,ASYNC}_

Since they should be captured downwards from the owning flop

4 years agoMerge branch 'eddie/xaig_dff_adff' into xaig_dff
Eddie Hung [Fri, 22 Nov 2019 00:15:25 +0000 (16:15 -0800)]
Merge branch 'eddie/xaig_dff_adff' into xaig_dff

4 years agoAdd test
Eddie Hung [Fri, 22 Nov 2019 00:13:28 +0000 (16:13 -0800)]
Add test

4 years agosv: Add tests for SV always types
David Shah [Thu, 21 Nov 2019 21:06:28 +0000 (21:06 +0000)]
sv: Add tests for SV always types

Signed-off-by: David Shah <dave@ds0.me>
4 years agoproc_dlatch: Add error handling for incorrect always_(ff|latch|comb) usage
David Shah [Thu, 21 Nov 2019 20:46:41 +0000 (20:46 +0000)]
proc_dlatch: Add error handling for incorrect always_(ff|latch|comb) usage

Signed-off-by: David Shah <dave@ds0.me>
4 years agosv: Correct parsing of always_comb, always_ff and always_latch
David Shah [Thu, 21 Nov 2019 20:27:19 +0000 (20:27 +0000)]
sv: Correct parsing of always_comb, always_ff and always_latch

Signed-off-by: David Shah <dave@ds0.me>
4 years agoConsistent log message, ignore 's' extension
Eddie Hung [Wed, 20 Nov 2019 23:40:46 +0000 (15:40 -0800)]
Consistent log message, ignore 's' extension

4 years agoendomain -> ctrldomain
Eddie Hung [Wed, 20 Nov 2019 22:32:01 +0000 (14:32 -0800)]
endomain -> ctrldomain

4 years agoAdd blackbox model for $__ABC9_FF_ so that clock partitioning works
Eddie Hung [Wed, 20 Nov 2019 22:30:56 +0000 (14:30 -0800)]
Add blackbox model for $__ABC9_FF_ so that clock partitioning works

4 years agoAdd multi clock test
Eddie Hung [Wed, 20 Nov 2019 21:28:55 +0000 (13:28 -0800)]
Add multi clock test

4 years agoFix INIT values
Eddie Hung [Wed, 20 Nov 2019 19:26:59 +0000 (11:26 -0800)]
Fix INIT values

4 years agoMerge pull request #1507 from YosysHQ/clifford/verificfixes
Clifford Wolf [Wed, 20 Nov 2019 12:49:27 +0000 (13:49 +0100)]
Merge pull request #1507 from YosysHQ/clifford/verificfixes

Some fixes in our Verific integration

4 years agoCorrectly treat empty modules as blackboxes in Verific
Clifford Wolf [Wed, 20 Nov 2019 11:56:31 +0000 (12:56 +0100)]
Correctly treat empty modules as blackboxes in Verific

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoDo not rename VHDL entities to "entity(impl)" when they are top modules
Clifford Wolf [Wed, 20 Nov 2019 11:54:10 +0000 (12:54 +0100)]
Do not rename VHDL entities to "entity(impl)" when they are top modules

Signed-off-by: Clifford Wolf <clifford@clifford.at>
4 years agoAdd a equiv test too
Eddie Hung [Wed, 20 Nov 2019 01:05:14 +0000 (17:05 -0800)]
Add a equiv test too

4 years agoAdd two tests
Eddie Hung [Wed, 20 Nov 2019 00:57:58 +0000 (16:57 -0800)]
Add two tests

4 years agoabc9 to support async flops $_DFF_[NP][NP][01]_
Eddie Hung [Wed, 20 Nov 2019 00:57:26 +0000 (16:57 -0800)]
abc9 to support async flops $_DFF_[NP][NP][01]_

4 years agoDo not drop async control signals in abc_map.v
Eddie Hung [Wed, 20 Nov 2019 00:57:07 +0000 (16:57 -0800)]
Do not drop async control signals in abc_map.v

4 years agoMerge remote-tracking branch 'origin/master' into xaig_dff
Eddie Hung [Tue, 19 Nov 2019 23:40:39 +0000 (15:40 -0800)]
Merge remote-tracking branch 'origin/master' into xaig_dff

4 years agoMerge pull request #1449 from pepijndevos/gowin
Clifford Wolf [Tue, 19 Nov 2019 16:29:27 +0000 (17:29 +0100)]
Merge pull request #1449 from pepijndevos/gowin

Improvements for gowin support

4 years agoRemove dff init altogether
Pepijn de Vos [Tue, 19 Nov 2019 14:53:44 +0000 (15:53 +0100)]
Remove dff init altogether

The hardware does not actually support it.
In reality it is always initialised to its reset value.

4 years agoFix #1462, #1480.
Marcin Kościelnicki [Mon, 18 Nov 2019 07:19:53 +0000 (08:19 +0100)]
Fix #1462, #1480.

4 years agoxilinx: Add simulation models for MULT18X18* and DSP48A*.
Marcin Kościelnicki [Mon, 18 Nov 2019 02:47:56 +0000 (03:47 +0100)]
xilinx: Add simulation models for MULT18X18* and DSP48A*.

This adds simulation models for the following primitives:

- MULT18X18 and MULT18X18S (Virtex 2*, Spartan 3)
- MULT18X18SIO (Spartan 3E, Spartan 3A)
- DSP48A (Spartan 3A DSP) — implemented in terms of DSP48A1
- DSP48A1 (Spartan 6)

4 years agoadd help for nowidelut and abc9 options
Pepijn de Vos [Mon, 18 Nov 2019 13:25:46 +0000 (14:25 +0100)]
add help for nowidelut and abc9 options

4 years agoMerge pull request #1497 from YosysHQ/mwk/extract-fa-fix
Clifford Wolf [Mon, 18 Nov 2019 09:53:14 +0000 (10:53 +0100)]
Merge pull request #1497 from YosysHQ/mwk/extract-fa-fix

Fix #1496.

4 years agoMerge pull request #1494 from whitequark/write_verilog-extmem
whitequark [Mon, 18 Nov 2019 09:37:14 +0000 (09:37 +0000)]
Merge pull request #1494 from whitequark/write_verilog-extmem

write_verilog: add -extmem option, to write split memory init files

4 years agoFix #1496.
Marcin Kościelnicki [Mon, 18 Nov 2019 03:16:48 +0000 (04:16 +0100)]
Fix #1496.

4 years agowrite_verilog: add -extmem option, to write split memory init files.
whitequark [Fri, 15 Nov 2019 03:11:46 +0000 (03:11 +0000)]
write_verilog: add -extmem option, to write split memory init files.

Some toolchains (in particular Quartus) are pathologically slow if
a large amount of assignments in `initial` blocks are used.

4 years agoMerge pull request #1492 from YosysHQ/dave/wreduce-fix-arst
Clifford Wolf [Sun, 17 Nov 2019 09:42:30 +0000 (10:42 +0100)]
Merge pull request #1492 from YosysHQ/dave/wreduce-fix-arst

wreduce: Don't trim zeros or sext when not matching ARST_VALUE

4 years agoMerge branch 'master' of https://github.com/YosysHQ/yosys into gowin
Pepijn de Vos [Sat, 16 Nov 2019 11:43:17 +0000 (12:43 +0100)]
Merge branch 'master' of https://github.com/YosysHQ/yosys into gowin

4 years agoecp5: Use new autoname pass for better cell/net names
David Shah [Fri, 15 Nov 2019 21:03:11 +0000 (21:03 +0000)]
ecp5: Use new autoname pass for better cell/net names

Signed-off-by: David Shah <dave@ds0.me>
4 years agowreduce: Don't trim zeros or sext when not matching ARST_VALUE
David Shah [Thu, 14 Nov 2019 18:43:15 +0000 (18:43 +0000)]
wreduce: Don't trim zeros or sext when not matching ARST_VALUE

Signed-off-by: David Shah <dave@ds0.me>
4 years agoMerge pull request #1490 from YosysHQ/clifford/autoname
Clifford Wolf [Thu, 14 Nov 2019 17:03:44 +0000 (18:03 +0100)]
Merge pull request #1490 from YosysHQ/clifford/autoname

Add "autoname" pass and use it in "synth_ice40"

4 years agoMerge pull request #1444 from btut/feature/python_wrappers/globals_and_streams
Clifford Wolf [Thu, 14 Nov 2019 11:10:12 +0000 (12:10 +0100)]
Merge pull request #1444 from btut/feature/python_wrappers/globals_and_streams

Python Wrappers: Expose global variables and allow logging to python streams

4 years agoMerge pull request #1465 from YosysHQ/dave/ice40_timing_sim
Clifford Wolf [Thu, 14 Nov 2019 11:07:25 +0000 (12:07 +0100)]
Merge pull request #1465 from YosysHQ/dave/ice40_timing_sim

ice40: Support for post-place-and-route timing simulations