aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | coolrunner2: Fix invalid multiple fanouts of XOR/OR gatesR. Ou2020-03-021-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases where multiple output pins share identical combinatorial logic, yosys would only generate one $sop cell and therefore one MACROCELL_XOR cell to try to feed the multiple sinks. This is not valid, so make the fixup pass duplicate cells when necessary. For example, fixes the following code: module top(input a, input b, input clk_, output reg o, output o2); wire clk; BUFG bufg0 ( .I(clk_), .O(clk), ); always @(posedge clk) o = a ^ b; assign o2 = a ^ b; endmodule
* | | | coolrunner2: Fix packed register+input buffer insertionR. Ou2020-03-021-2/+84
| | | | | | | | | | | | | | | | | | | | The register will be packed with the input buffer if and only if the input buffer doesn't have any other loads.
* | | | coolrunner2: Insert many more required feedthrough cellsR. Ou2020-03-013-102/+215
|/ / /
* | | Merge pull request #1709 from rqou/coolrunner2_counterClaire Wolf2020-02-273-0/+165
|\ \ \ | | | | | | | | Improve CoolRunner-II optimization by using extract_counter pass
| * | | coolrunner2: Use extract_counter to optimize countersR. Ou2020-02-173-0/+165
| | |/ | |/| | | | | | | | | | This tends to make much more efficient pterm usage compared to just throwing the problem at ABC
* | | Merge pull request #1708 from rqou/coolrunner2-buf-fixClaire Wolf2020-02-274-54/+163
|\ \ \ | | | | | | | | coolrunner2: Separate and improve buffer cell insertion pass
| * | | coolrunner2: Separate and improve buffer cell insertion passR. Ou2020-02-164-54/+163
| |/ / | | | | | | | | | | | | | | | | | | The new pass will contain all of the logic for inserting "passthrough" product term and XOR cells as appropriate for the architecture. For example, this commit fixes connecting an input pin directly to another output pin with no logic in between.
* / / xilinx: mark IOBUFDSE3 IOB pin as externalPiotr Binkowski2020-02-272-1/+2
|/ /
* | Remove executable flag from filesMiodrag Milanovic2020-02-155-0/+0
| |
* | abc9: deprecate abc9_ff.init wire for (* abc9_init *) attrEddie Hung2020-02-131-11/+12
| |
* | abc9: cleanupEddie Hung2020-02-101-40/+40
|/
* Remove unnecessary commaEddie Hung2020-02-071-3/+2
|
* techmap: fix shiftx2mux decompositionEddie Hung2020-02-071-8/+6
|
* xilinx: Add support for LUT RAM on LUT4-based devices.Marcin Kościelnicki2020-02-074-27/+22
| | | | | | | There are multiple other kinds of RAMs supported on these devices, but RAM16X1D is the only dual-port one. Fixes #1549
* xilinx: Initial support for LUT4 devices.Marcin Kościelnicki2020-02-073-53/+152
| | | | | | | Adds support for mapping logic, including LUTs, wide LUTs, and carry chains. Fixes #1547
* Merge pull request #1685 from dh73/gowinEddie Hung2020-02-061-1/+1
|\ | | | | Removing cells_sim from GoWin bram techmap
| * Removing cells_sim.v from bram techmap passDiego H2020-02-061-1/+1
| |
* | xilinx: Add block RAM mapping for Virtex 2* and Spartan 3*.Marcin Kościelnicki2020-02-0711-1/+370
| |
* | xilinx: Add support for Spartan 3A DSP block RAMs.Marcin Kościelnicki2020-02-073-1/+39
| | | | | | | | Part of #1550
* | Merge pull request #1684 from YosysHQ/eddie/xilinx_arith_mapEddie Hung2020-02-061-109/+43
|\ \ | |/ |/| Fix/cleanup +/xilinx/arith_map.v
| * Fix $lcu -> MUXCY mapping, credit @mwkmwkmwkEddie Hung2020-02-061-4/+5
| |
| * Fix/cleanup +/xilinx/arith_map.vEddie Hung2020-02-061-111/+44
| |
* | synth_*: call 'opt -fast' after 'techmap'Eddie Hung2020-02-058-5/+9
| |
* | shiftx2mux: fix select out of boundsEddie Hung2020-02-051-1/+2
|/
* Merge remote-tracking branch 'origin/master' into eddie/shiftx2muxEddie Hung2020-02-0524-359/+1041
|\
| * Merge pull request #1661 from YosysHQ/eddie/abc9_requiredEddie Hung2020-02-057-144/+375
| |\ | | | | | | abc9: add support for required times
| | * Merge branch 'eddie/abc9_refactor' into eddie/abc9_requiredEddie Hung2020-01-275-129/+99
| | |\
| | * \ Merge remote-tracking branch 'origin/eddie/abc9_refactor' into ↵Eddie Hung2020-01-151-1/+1
| | |\ \ | | | | | | | | | | | | | | | eddie/abc9_required
| | * | | abc9_ops: -write_box is empty, output a dummy box to prevent ABC errorEddie Hung2020-01-152-2/+0
| | | | |
| | * | | abc9_ops: generate flop box ids, add abc9_required to FD* cellsEddie Hung2020-01-141-12/+45
| | | | |
| | * | | Merge remote-tracking branch 'origin/eddie/abc9_refactor' into ↵Eddie Hung2020-01-143-23/+30
| | |\ \ \ | | | | | | | | | | | | | | | | | | eddie/abc9_required
| | * \ \ \ Merge remote-tracking branch 'origin/eddie/abc9_refactor' into ↵Eddie Hung2020-01-122-3/+2
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | eddie/abc9_required
| | * | | | | Add abc9_required to DSP48E1.{A,B,C,D,PCIN}Eddie Hung2020-01-101-38/+117
| | | | | | |
| | * | | | | abc9_ops -prep_times: generate flop boxes from abc9_required attrEddie Hung2020-01-101-61/+0
| | | | | | |
| | * | | | | Add abc9_ops -check, -prep_times, -write_box for required timesEddie Hung2020-01-101-0/+5
| | | | | | |
| | * | | | | Merge remote-tracking branch 'origin/eddie/abc9_refactor' into ↵Eddie Hung2020-01-086-1676/+520
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | eddie/abc9_required
| | * \ \ \ \ \ Merge remote-tracking branch 'origin/eddie/abc9_refactor' into ↵Eddie Hung2020-01-0639-656/+1189
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | xaig_arrival_required
| | | * \ \ \ \ \ Merge remote-tracking branch 'origin/xaig_dff' into eddie/abc9_refactorEddie Hung2020-01-0212-756/+722
| | | |\ \ \ \ \ \
| | | * \ \ \ \ \ \ Merge remote-tracking branch 'origin/master' into eddie/abc9_refactorEddie Hung2020-01-0227-91/+118
| | | |\ \ \ \ \ \ \
| | | * \ \ \ \ \ \ \ Merge remote-tracking branch 'origin/xaig_dff' into eddie/abc9_refactorEddie Hung2019-12-306-121/+673
| | | |\ \ \ \ \ \ \ \
| | * | | | | | | | | | ConsistencyEddie Hung2019-12-271-1/+1
| | | | | | | | | | | |
| | * | | | | | | | | | Update some abc9_arrival times, add abc9_required timesEddie Hung2019-12-273-24/+220
| | | | | | | | | | | |
| * | | | | | | | | | | Add opt_lut_ins pass. (#1673)Marcelina Kościelnicka2020-02-033-0/+3
| | | | | | | | | | | |
| * | | | | | | | | | | xilinx: use RAM32M/RAM64M for memories with two read portsMarcin Kościelnicki2020-02-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes inefficient LUT RAM usage for memories with one write and two read ports (commonly used as register files).
| * | | | | | | | | | | Merge pull request #1659 from YosysHQ/clifford/experimentalClaire Wolf2020-01-291-1/+1
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Add log_experimental() and experimental() API and "yosys -x"
| | * | | | | | | | | | | Add log_experimental() and experimental() API and "yosys -x"Claire Wolf2020-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Claire Wolf <clifford@clifford.at>
| * | | | | | | | | | | | synth_xilinx: cleanup helpEddie Hung2020-01-281-6/+4
| | | | | | | | | | | | |
| * | | | | | | | | | | | synth_xilinx: fix help when no active_design; fixes #1664Eddie Hung2020-01-281-2/+3
| | | | | | | | | | | | |
| * | | | | | | | | | | | xilinx: Add simulation model for DSP48 (Virtex 4).Marcin Kościelnicki2020-01-296-45/+534
| | | | | | | | | | | | |
| * | | | | | | | | | | | Merge pull request #1660 from YosysHQ/eddie/abc9_unpermute_lutsEddie Hung2020-01-284-148/+100
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unpermute LUT ordering for ice40/ecp5/xilinx