Claire Wolf
5f53ea2b5b
Merge pull request #1659 from YosysHQ/clifford/experimental
...
Add log_experimental() and experimental() API and "yosys -x"
2020-01-29 15:25:03 +01:00
Eddie Hung
c5971cb16c
synth_xilinx: cleanup help
2020-01-28 17:48:43 -08:00
Eddie Hung
0fd64aab25
synth_xilinx: fix help when no active_design; fixes #1664
2020-01-28 17:41:57 -08:00
Marcin Kościelnicki
7e0e42f907
xilinx: Add simulation model for DSP48 (Virtex 4).
2020-01-29 01:40:00 +01:00
Eddie Hung
7939727d14
Merge pull request #1660 from YosysHQ/eddie/abc9_unpermute_luts
...
Unpermute LUT ordering for ice40/ecp5/xilinx
2020-01-28 11:55:51 -08:00
Eddie Hung
245b8c4ab6
Fix unresolved conflict from #1573
2020-01-28 10:17:47 -08:00
N. Engelhardt
086c133ea5
Merge pull request #1573 from YosysHQ/eddie/xilinx_tristate
...
synth_xilinx: error out if tristate without '-iopad'
2020-01-28 17:24:54 +01:00
Eddie Hung
e18aeda7ed
Fix $lut input ordering -- SigSpec(std::initializer_list<>) is backwards
...
Just like Verilog...
2020-01-27 14:02:13 -08:00
Eddie Hung
cfb0366a18
Import tests from #1628
2020-01-27 13:56:16 -08:00
Eddie Hung
ce6a690d27
xilinx/ice40/ecp5: undo permuting LUT masks in lut_map
...
Now done in read_aiger
2020-01-27 13:30:27 -08:00
Eddie Hung
48f3f5213e
Merge pull request #1619 from YosysHQ/eddie/abc9_refactor
...
Refactor `abc9` pass
2020-01-27 13:29:15 -08:00
Eddie Hung
f2576c096c
Merge branch 'eddie/abc9_refactor' into eddie/abc9_required
2020-01-27 12:29:28 -08:00
Eddie Hung
af8281d2f5
Merge pull request #1656 from YosysHQ/eddie/ice40_abc9_warnings
...
ice40: reduce ABC9 internal fanout warnings with a param for CI->I3
2020-01-27 09:54:04 -08:00
Claire Wolf
cef607c8b7
Add log_experimental() and experimental() API and "yosys -x"
...
Signed-off-by: Claire Wolf <clifford@clifford.at>
2020-01-27 18:27:47 +01:00
Eddie Hung
81e6b040a4
ice40: add SB_SPRAM256KA arrival time
2020-01-24 12:17:09 -08:00
Eddie Hung
b178761551
ice40: reduce ABC9 internal fanout warnings with a param for CI->I3
2020-01-24 11:59:48 -08:00
Eddie Hung
7858cf20a9
Fix $__ABC9_ASYNC1 to output 1'b1 not 1'b0
2020-01-23 19:02:27 -08:00
Eddie Hung
da134701cd
Fix $__ABC9_ASYNC1 to output 1'b1 not 1'b0
2020-01-22 14:22:03 -08:00
Eddie Hung
72e4540ca9
Explicitly create separate $mux cells
2020-01-21 16:49:34 -08:00
Eddie Hung
3d9737c1bd
Merge remote-tracking branch 'origin/master' into eddie/abc9_refactor
2020-01-21 16:27:40 -08:00
Eddie Hung
152dfd3dd4
Fix tests -- when Y_WIDTH is non-pow-2
2020-01-21 15:19:41 -08:00
Eddie Hung
8d1b736c4f
Move from +/shiftx2mux.v into +/techmap.v; cleanup
2020-01-21 15:19:41 -08:00
Eddie Hung
7977574995
New techmap +/shiftx2mux.v which decomposes LSB first; better for ABC
2020-01-21 15:19:41 -08:00
Eddie Hung
b7be6cfd65
Merge pull request #1643 from YosysHQ/eddie/cleanup_arith_map
...
Cleanup +/xilinx/arith_map.v
2020-01-18 09:11:52 -08:00
David Shah
a4cfd1237f
Merge pull request #1602 from niklasnisbeth/ice40-init-vals-warning
...
ice40: Demote conflicting FF init values to a warning
2020-01-18 09:47:17 +00:00
Eddie Hung
78ffd5d193
synth_ice40: call wreduce before mul2dsp
2020-01-17 15:41:55 -08:00
Eddie Hung
5c589244df
Deprecate `_CLB_CARRY from +/xilinx/arith_map.v since #1623
2020-01-17 12:02:46 -08:00
Eddie Hung
1e6d56dca1
+/xilinx/arith_map.v fix $lcu rule
2020-01-17 11:28:37 -08:00
Eddie Hung
b0605128b6
Merge remote-tracking branch 'origin/eddie/abc9_refactor' into eddie/abc9_required
2020-01-15 16:42:27 -08:00
Eddie Hung
03ce2c72bb
Merge remote-tracking branch 'origin/master' into eddie/abc9_refactor
2020-01-15 16:42:16 -08:00
Eddie Hung
5a63c19747
abc9_ops: -write_box is empty, output a dummy box to prevent ABC error
2020-01-15 13:14:48 -08:00
Miodrag Milanović
abba1541bc
Merge pull request #1636 from YosysHQ/eddie/fix_synth_xilinx_W
...
synth_xilinx: fix default W value for non-xc7
2020-01-15 08:47:16 +01:00
Eddie Hung
0e4285ca0d
abc9_ops: generate flop box ids, add abc9_required to FD* cells
2020-01-14 15:05:49 -08:00
Eddie Hung
915e7dde73
Merge remote-tracking branch 'origin/eddie/abc9_refactor' into eddie/abc9_required
2020-01-14 12:57:56 -08:00
Eddie Hung
d21262ee04
Adding (* techmap_autopurge *) to FD* in abc9_map.v
2020-01-14 12:22:21 -08:00
Eddie Hung
36d1a2c60f
synth_xilinx: fix default W value for non-xc7
2020-01-14 11:34:40 -08:00
Miodrag Milanović
9fbeb57bbd
Merge pull request #1623 from YosysHQ/mmicko/edif_attr
...
Export wire properties in EDIF
2020-01-14 19:19:32 +01:00
Eddie Hung
ca2f3db53f
Merge pull request #1620 from YosysHQ/eddie/abc9_scratchpad
...
abc9: add some scripts/options into "scratchpad"
2020-01-13 09:04:20 -08:00
Eddie Hung
f9aae90e7a
Merge remote-tracking branch 'origin/eddie/abc9_refactor' into eddie/abc9_required
2020-01-12 15:19:41 -08:00
Eddie Hung
c0b55deb0b
synth_ice40: -abc2 to always use `abc` even if `-abc9`
2020-01-12 11:26:05 -08:00
Eddie Hung
35e49fde4d
Another conflict
2020-01-11 18:57:25 -08:00
Eddie Hung
c063436eea
Merge remote-tracking branch 'origin/master' into eddie/abc9_scratchpad
2020-01-11 17:02:20 -08:00
Eddie Hung
28f814ee59
Add abc9_required to DSP48E1.{A,B,C,D,PCIN}
2020-01-10 17:12:31 -08:00
Eddie Hung
7d94e18100
synth_xilinx: synth_xilinx.abc9.xc7.W to replace XC7_WIRE_DELAY macro
2020-01-10 15:07:46 -08:00
Eddie Hung
475d983676
abc9_ops -prep_times: generate flop boxes from abc9_required attr
2020-01-10 14:49:52 -08:00
Eddie Hung
b2259a9201
Add abc9_ops -check, -prep_times, -write_box for required times
2020-01-10 11:45:41 -08:00
Miodrag Milanovic
992b507537
Use CARRY4 for abc1 as well, preventing issues with Vivado
2020-01-10 12:34:21 +01:00
Eddie Hung
57f6826e29
Merge remote-tracking branch 'origin/eddie/abc9_refactor' into eddie/abc9_required
2020-01-08 18:30:20 -08:00
Eddie Hung
823a08e0d8
Fix abc9_xc7.box comments
2020-01-07 17:00:38 -08:00
Eddie Hung
6e3e814025
Fix abc9_xc7.box comments
2020-01-07 15:59:18 -08:00
Eddie Hung
94ab3791ce
Merge remote-tracking branch 'origin/master' into eddie/abc9_mfs
2020-01-07 15:44:18 -08:00
Eddie Hung
5c89dead5f
Merge branch 'master' of github.com:YosysHQ/yosys
2020-01-06 16:51:32 -08:00
Eddie Hung
01866a7909
Fix DSP48E1 sim
2020-01-06 16:45:29 -08:00
Eddie Hung
53aa51dc92
Re-enable &mfs for synth_{ecp5,xilinx}
2020-01-06 16:21:04 -08:00
Eddie Hung
98ee8c14df
Merge remote-tracking branch 'origin/master' into xaig_dff
2020-01-06 15:02:44 -08:00
Eddie Hung
66698cb6fd
Merge pull request #1617 from YosysHQ/eddie/abc9_dsp_refactor
...
Refactor abc9's DSP48E1 handling
2020-01-06 15:00:16 -08:00
Eddie Hung
28bf712372
Wrap arrival functions inside `YOSYS too
2020-01-06 11:55:56 -08:00
Eddie Hung
27c150bfcc
Fix return value of arrival time functions, fix word
2020-01-06 11:39:08 -08:00
Eddie Hung
020606f81c
Merge remote-tracking branch 'origin/eddie/abc9_refactor' into xaig_arrival_required
2020-01-06 09:44:00 -08:00
Eddie Hung
19541640ee
Merge remote-tracking branch 'origin/master' into xaig_dff
2020-01-06 09:31:28 -08:00
Miodrag Milanovic
c5d28f5d6b
Valid to have attribute starting with SB_CARRY.
2020-01-04 19:00:44 +01:00
Eddie Hung
bac1e65a9c
Fix spacing
2020-01-02 17:21:54 -08:00
Eddie Hung
c28bea0382
Merge remote-tracking branch 'origin/xaig_dff' into eddie/abc9_refactor
2020-01-02 15:57:35 -08:00
Eddie Hung
5f97086302
Merge remote-tracking branch 'origin/master' into eddie/abc9_refactor
2020-01-02 15:14:12 -08:00
Eddie Hung
50b68777d3
Drive $[ABCD] explicitly
2020-01-02 13:28:37 -08:00
whitequark
f8d5920a7e
Merge pull request #1604 from whitequark/unify-ram-naming
...
Harmonize BRAM/LUTRAM descriptions across all of Yosys
2020-01-02 21:06:17 +00:00
Eddie Hung
a051801b72
synth_xilinx -dff to work with abc too
2020-01-02 12:53:26 -08:00
Eddie Hung
3012e9eebc
Merge remote-tracking branch 'origin/master' into eddie/abc9_dsp_refactor
2020-01-02 12:48:07 -08:00
Eddie Hung
b454735bea
Merge remote-tracking branch 'origin/master' into xaig_dff
2020-01-02 12:44:06 -08:00
Eddie Hung
ec1756c094
Update comments
2020-01-02 12:39:52 -08:00
Eddie Hung
8e507bd807
abc9 -keepff -> -dff; refactor dff operations
2020-01-02 12:36:54 -08:00
Eddie Hung
d6242be802
Merge pull request #1601 from YosysHQ/eddie/synth_retime
...
"abc -dff" to no longer retime by default
2020-01-02 08:46:24 -08:00
Eddie Hung
d0d3ab8f67
ifndef __ICARUS__ -> ifdef YOSYS
2020-01-01 17:33:47 -08:00
Eddie Hung
3d98a96273
ifdef __ICARUS__ -> ifndef YOSYS
2020-01-01 17:33:10 -08:00
Eddie Hung
db04161eca
Rework abc9's DSP48E1 model
2020-01-01 17:30:26 -08:00
Eddie Hung
3deec51ddc
Fix anlogic async flop mapping
2020-01-01 08:43:16 -08:00
Eddie Hung
0e95756e96
Clamp -46ps for FDPE* too
2020-01-01 08:39:00 -08:00
Eddie Hung
c40b1aae42
Restore abc9 -keepff
2020-01-01 08:34:43 -08:00
whitequark
550310e264
Harmonize BRAM/LUTRAM descriptions across all of Yosys.
...
This commit:
* renames all remaining instances of "DRAM" (which is ambiguous)
to "LUTRAM" (which is not), finishing the work started in
the commit 698ab9be;
* renames memory rule files to brams.txt/lutrams.txt;
* adds/renames script labels map_bram/map_lutram;
* extracts where necessary script labels map_ffram and map_gates;
* adds where necessary options -nobram/-nolutram.
The end result is that BRAM/LUTRAM/FFRAM aspects of every target
are now consistent with each other.
Per architecture:
* anlogic: rename drams.txt→lutrams.txt, add -nolutram, add
:map_lutram, :map_ffram, :map_gates
* ecp5: rename bram.txt→brams.txt, lutram.txt→lutrams.txt
* efinix: rename bram.txt→brams.txt, add -nobram, add :map_ffram,
:map_gates
* gowin: rename bram.txt→brams.txt, dram.txt→lutrams.txt,
rename -nodram→-nolutram (-nodram still recognized), rename
:bram→:map_bram, :dram→:map_lutram, add :map_ffram, :map_gates
2020-01-01 12:30:00 +00:00
Eddie Hung
44d9fb0e7c
Re-arrange FD order
2019-12-31 18:47:38 -08:00
Eddie Hung
f7793a2956
Missing character
2019-12-31 18:42:11 -08:00
Eddie Hung
35c659be74
Cleanup xilinx boxes
2019-12-31 18:29:44 -08:00
Eddie Hung
2358320f51
Cleanup ice40 boxes
2019-12-31 18:29:37 -08:00
Eddie Hung
b2046a2114
Cleanup ecp5 boxes
2019-12-31 18:29:29 -08:00
Eddie Hung
6b825c719b
Update abc9_xc7.box comments
2019-12-31 15:25:46 -08:00
Eddie Hung
4cdba00e25
FDCE ports to be alphabetical
2019-12-31 15:24:02 -08:00
Eddie Hung
b4663a987b
Fix attributes on $__ABC9_ASYNC[01] whitebox
2019-12-31 11:14:11 -08:00
Eddie Hung
789211d9b3
Fix incorrect $__ABC9_ASYNC[01] box
2019-12-31 11:13:50 -08:00
Niklas Nisbeth
379dcda139
ice40: Demote conflicting FF init values to a warning
2019-12-31 02:38:10 +01:00
Eddie Hung
7649ec72c9
Merge remote-tracking branch 'origin/xaig_dff' into eddie/abc9_refactor
2019-12-30 16:20:58 -08:00
Eddie Hung
543bd2de6c
Update timings for Xilinx S7 cells
2019-12-30 14:36:07 -08:00
Eddie Hung
eb4e767053
Do not offset FD* box timings due to -46ps Tsu
2019-12-30 14:35:10 -08:00
Eddie Hung
405e974fe5
Merge remote-tracking branch 'origin/master' into xaig_dff
2019-12-30 14:31:42 -08:00
Eddie Hung
a038294a87
Tidy up abc9_map.v
2019-12-30 14:19:29 -08:00
Eddie Hung
d7ada66497
Add "synth_xilinx -dff" option, cleanup abc9
2019-12-30 14:13:16 -08:00
Eddie Hung
79448f9be0
Update doc that "-retime" calls abc with "-dff -D 1"
2019-12-30 13:28:29 -08:00
Eddie Hung
c9e3b26412
Disable synth_gowin -abc9 as it offers no advantages yet
2019-12-30 13:28:29 -08:00
Eddie Hung
aa6d06c1b5
Revert "Revert "synth_* with -retime option now calls abc with -D 1 as well""
...
This reverts commit 6008bb7002
.
2019-12-30 13:28:29 -08:00
Miodrag Milanović
c0a17c2457
Merge pull request #1589 from YosysHQ/iopad_default
...
Make iopad option default for all xilinx flows
2019-12-30 20:34:31 +01:00
Miodrag Milanovic
8c3de1d4bd
Merge remote-tracking branch 'origin/master' into iopad_default
2019-12-28 16:23:31 +01:00
Eddie Hung
71906fab51
Nitpick cleanup for ecp5
2019-12-27 16:57:08 -08:00
Eddie Hung
b7afafde22
Consistency
2019-12-27 14:52:26 -08:00
Eddie Hung
4eaa45091c
Update some abc9_arrival times, add abc9_required times
2019-12-27 14:47:50 -08:00
Marcin Kościelnicki
13a3041030
Merge pull request #1593 from YosysHQ/mwk/dsp48a1-pmgen
...
xilinx_dsp: Initial DSP48A/DSP48A1 support.
2019-12-25 16:18:44 +01:00
Marcin Kościelnicki
dadaf7ed78
xilinx: Test our DSP48A/DSP48A1 simulation models.
2019-12-23 20:36:43 +01:00
Marcin Kościelnicki
666c6128a9
xilinx_dsp: Initial DSP48A/DSP48A1 support.
2019-12-22 20:51:14 +01:00
Miodrag Milanovic
436fea9e69
Addressed review comments
2019-12-21 20:23:23 +01:00
Miodrag Milanovic
1937091f62
iopad no op for compatibility with old scripts
2019-12-21 13:21:45 +01:00
Miodrag Milanovic
2fcf683af4
Make iopad option default for all xilinx flows
2019-12-21 11:56:41 +01:00
Eddie Hung
d3fc94405f
Merge remote-tracking branch 'origin/master' into xaig_dff
2019-12-20 14:07:23 -08:00
Eddie Hung
5986a4df40
Add abc9_arrival times for RAM{32,64}M
2019-12-20 14:06:59 -08:00
Eddie Hung
1ea1e8e54f
Merge remote-tracking branch 'origin/master' into xaig_dff
2019-12-20 13:56:13 -08:00
Eddie Hung
7928eb113c
Add RAM{32,64}M to abc9_map.v
2019-12-20 13:41:23 -08:00
Eddie Hung
10e82e103f
Revert "Optimise write_xaiger"
2019-12-20 12:05:45 -08:00
Eddie Hung
45f0f1486b
Add RAM{32,64}M to abc9_map.v
2019-12-19 11:24:39 -08:00
Eddie Hung
979bf36fb0
Split into $__ABC9_ASYNC[01], do not add cell->type to clkdomain_t
2019-12-19 11:23:41 -08:00
Eddie Hung
94f15f023c
Merge remote-tracking branch 'origin/master' into xaig_dff
2019-12-19 10:29:40 -08:00
Eddie Hung
df626ee7ab
Merge pull request #1558 from YosysHQ/eddie/xaiger_cleanup
...
Optimise write_xaiger
2019-12-19 12:24:03 -05:00
Marcin Kościelnicki
8b2c9f4518
xilinx: Add simulation models for remaining CLB primitives.
2019-12-19 18:04:04 +01:00
Marcin Kościelnicki
561ae1c5c4
xilinx_dffopt: Keep order of LUT inputs.
...
See rationale at https://github.com/YosysHQ/yosys/pull/1557#discussion_r359196549
2019-12-19 18:01:43 +01:00
David Shah
520f1646cf
Merge pull request #1563 from YosysHQ/dave/async-prld
...
ecp5: Add support for mapping PRLD FFs
2019-12-18 19:42:17 +00:00
Marcin Kościelnicki
a235250403
xilinx: Add xilinx_dffopt pass ( #1557 )
2019-12-18 13:43:43 +01:00
Marcin Kościelnicki
aff6ad1ce0
xilinx: Improve flip-flop handling.
...
This adds support for infering more kinds of flip-flops:
- FFs with async set/reset and clock enable
- FFs with sync set/reset
- FFs with sync set/reset and clock enable
Some passes have been moved (and some added) in order for dff2dffs to
work correctly.
This gives us complete coverage of Virtex 6+ and Spartan 6 flip-flop
capabilities (though not latch capabilities). Older FPGAs also support
having both a set and a reset input, which will be handled at a later
data.
2019-12-18 13:43:43 +01:00
Eddie Hung
a73f96594f
Merge pull request #1574 from YosysHQ/eddie/xilinx_lutram
...
xilinx: add LUTRAM rules for RAM32M, RAM64M
2019-12-16 21:48:21 -08:00
Eddie Hung
5a00d5578c
Add unconditional match blocks for force RAM
2019-12-16 13:31:15 -08:00
Eddie Hung
d910bec8e0
Update xc7/xcu bram rules
2019-12-16 13:00:58 -08:00
Eddie Hung
5d00996426
Merge branch 'eddie/xilinx_lutram' of github.com:YosysHQ/yosys into eddie/xilinx_lutram
2019-12-16 12:06:47 -08:00
Eddie Hung
7545ab3814
Populate DID/DOD even if unused
2019-12-16 11:57:04 -08:00
Eddie Hung
c4d37813cb
Rename *RAM{32,64}M rules to RAM{32X2,64X1}Q
2019-12-16 10:41:13 -08:00
Diego H
f3f59910eb
Removing fixed attribute value to !ramstyle rules
2019-12-15 23:51:58 -06:00
Diego H
b35559fc33
Merging attribute rules into a single match block; Adding tests
2019-12-15 23:33:09 -06:00
Diego H
266993408a
Refactoring memory attribute matching based on IEEE 1364.1 and Tool specific
2019-12-13 15:43:24 -06:00
Eddie Hung
52875b0d61
Merge pull request #1533 from dh73/bram_xilinx
...
Adjust Xilinx xc7/xcu BRAM min bits threshold for RAMB18E1
2019-12-13 12:01:03 -08:00
Eddie Hung
c3262d6075
Disable RAM16X1D match rule; carry-over from LUT4 arches
2019-12-13 08:59:17 -08:00
Eddie Hung
d6514fc2e1
RAM64M8 to also have [5:0] for address
2019-12-13 08:54:19 -08:00
Eddie Hung
dd7d2d8db6
Duplicate tribuf call, credit to @mwkmwkmwk
2019-12-13 08:51:05 -08:00
Eddie Hung
8925bf4b96
Add RAM32X6SDP and RAM64X3SDP modes
2019-12-12 18:52:28 -08:00
Eddie Hung
50e0c83560
Fix RAM64M model to have 6 bit address bus
2019-12-12 18:52:03 -08:00
Eddie Hung
7a9d1be97d
Add memory rules for RAM16X1D, RAM32M, RAM64M
2019-12-12 17:44:59 -08:00
Diego H
751a18d7e9
Fixing citation in xc7_xcu_brams.txt file. Fixing RAMB36E1 test.
2019-12-12 17:32:58 -06:00
Eddie Hung
bea15b537b
Merge remote-tracking branch 'origin/master' into xaig_dff
2019-12-12 14:57:17 -08:00
Eddie Hung
9ab1feeaf1
abc9_map.v: fix Xilinx LUTRAM
2019-12-12 14:56:52 -08:00
Eddie Hung
3eed8835b5
abc9_map.v: fix Xilinx LUTRAM
2019-12-12 14:56:15 -08:00
Eddie Hung
3bd623bb05
synth_xilinx: error out if tristate without '-iopad'
2019-12-12 14:33:33 -08:00
Diego H
937ec1ee78
Updating RAMB36E1 thresholds. Adding test for both RAMB18E1/RAMB36E1
2019-12-12 13:50:36 -06:00
Diego H
ab6ac8327f
Merge https://github.com/YosysHQ/yosys into bram_xilinx
2019-12-12 13:40:05 -06:00
Eddie Hung
f022645cd2
Fix bitwidth mismatch; suppresses iverilog warning
2019-12-11 13:02:07 -08:00
David Shah
613334d9dc
Merge pull request #1564 from ZirconiumX/intel_housekeeping
...
Intel housekeeping
2019-12-11 08:46:10 +00:00
Dan Ravensloft
85a14895ca
synth_intel: a10gx -> arria10gx
2019-12-10 13:48:10 +00:00
Dan Ravensloft
eab3272cde
synth_intel: cyclone10 -> cyclone10lp
2019-12-10 13:47:58 +00:00