Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | coolrunner2: Attempt to give wires/cells more meaningful names | R. Ou | 2020-03-02 | 2 | -23/+66 |
| | |||||
* | coolrunner2: Fix invalid multiple fanouts of XOR/OR gates | R. Ou | 2020-03-02 | 1 | -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 insertion | R. Ou | 2020-03-02 | 1 | -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 cells | R. Ou | 2020-03-01 | 3 | -102/+215 |
| | |||||
* | Merge pull request #1709 from rqou/coolrunner2_counter | Claire Wolf | 2020-02-27 | 3 | -0/+165 |
|\ | | | | | Improve CoolRunner-II optimization by using extract_counter pass | ||||
| * | coolrunner2: Use extract_counter to optimize counters | R. Ou | 2020-02-17 | 3 | -0/+165 |
| | | | | | | | | | | This tends to make much more efficient pterm usage compared to just throwing the problem at ABC | ||||
* | | coolrunner2: Separate and improve buffer cell insertion pass | R. Ou | 2020-02-16 | 4 | -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. | ||||
* | synth_*: call 'opt -fast' after 'techmap' | Eddie Hung | 2020-02-05 | 1 | -2/+2 |
| | |||||
* | Update doc that "-retime" calls abc with "-dff -D 1" | Eddie Hung | 2019-12-30 | 1 | -1/+1 |
| | |||||
* | Revert "Revert "synth_* with -retime option now calls abc with -D 1 as well"" | Eddie Hung | 2019-12-30 | 1 | -1/+1 |
| | | | | This reverts commit 6008bb7002f874e5c748eaa2050e7b6c17b32745. | ||||
* | coolrunner2: remove spurious log_pop() call, fixes #1463 | Martin Pietryka | 2019-11-23 | 1 | -2/+0 |
| | | | | | | | 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> | ||||
* | Fix spacing | Eddie Hung | 2019-08-06 | 1 | -3/+3 |
| | |||||
* | Make liberal use of IdString.in() | Eddie Hung | 2019-08-06 | 1 | -14/+8 |
| | |||||
* | Unify usage of noflatten among architectures | Miodrag Milanovic | 2019-01-04 | 1 | -1/+1 |
| | |||||
* | Fix typographical and grammatical errors and inconsistencies. | whitequark | 2019-01-02 | 1 | -1/+1 |
| | | | | | | | | | | | | The initial list of hits was generated with the codespell command below, and each hit was evaluated and fixed manually while taking context into consideration. DIRS="kernel/ frontends/ backends/ passes/ techlibs/" DIRS="${DIRS} libs/ezsat/ libs/subcircuit" codespell $DIRS -S *.o -L upto,iff,thru,synopsys,uint More hits were found by looking through comments and strings manually. | ||||
* | Consistent use of 'override' for virtual methods in derived classes. | Henner Zeller | 2018-07-20 | 2 | -6/+6 |
| | | | | | | | | | o Not all derived methods were marked 'override', but it is a great feature of C++11 that we should make use of. o While at it: touched header files got a -*- c++ -*- for emacs to provide support for that language. o use YS_OVERRIDE for all override keywords (though we should probably use the plain keyword going forward now that C++11 is established) | ||||
* | coolrunner2: Add an ANDTERM/XOR between chained FFs | Robert Ou | 2018-03-31 | 1 | -0/+58 |
| | | | | | | | In some cases (e.g. the low bits of counters) the design might end up with a flip-flop whose input is directly driven by another flip-flop. This isn't possible in the Coolrunner-II architecture, so add a single AND term and XOR in this case. | ||||
* | coolrunner2: Split multi-bit nets | Robert Ou | 2018-03-31 | 1 | -0/+1 |
| | | | | | The PAR tool doesn't expect any "dangling" nets with no drivers nor sinks. By splitting the nets, clean removes them. | ||||
* | coolrunner2: Add extraction for TFFs | Robert Ou | 2018-03-31 | 3 | -0/+54 |
| | |||||
* | coolrunner2: Move LOC attributes onto the IO cells | Robert Ou | 2018-01-17 | 1 | -0/+2 |
| | |||||
* | coolrunner2: Finish fixing special-use p-terms | Robert Ou | 2017-09-01 | 1 | -8/+20 |
| | |||||
* | coolrunner2: Generate a feed-through AND term when necessary | Robert Ou | 2017-09-01 | 1 | -13/+31 |
| | |||||
* | coolrunner2: Initial fixes for special p-terms | Robert Ou | 2017-09-01 | 2 | -1/+81 |
| | | | | | Certain signals can only be controlled by a product term and not a sum-of-products. Do the initial work for fixing this. | ||||
* | coolrunner2: Fix mapping of flip-flops | Robert Ou | 2017-09-01 | 1 | -1/+0 |
| | |||||
* | coolrunner2: Combine some for loops together | Robert Ou | 2017-09-01 | 1 | -16/+14 |
| | |||||
* | coolrunner2: Add INVERT parameter to some BUFGs | Robert Ou | 2017-08-14 | 1 | -2/+6 |
| | |||||
* | coolrunner2: Add FFs with clock enable to cells_sim.v | Robert Ou | 2017-08-14 | 1 | -0/+60 |
| | |||||
* | Fix some c++ clang compiler errors | Clifford Wolf | 2017-07-03 | 1 | -3/+3 |
| | |||||
* | Apply minor coding style changes to coolrunner2 target | Clifford Wolf | 2017-07-03 | 2 | -1/+1 |
| | |||||
* | coolrunner2: Add a few more primitives | Robert Ou | 2017-06-25 | 1 | -0/+110 |
| | | | | These cannot be inferred yet, but add them to cells_sim.v for now | ||||
* | coolrunner2: Initial mapping of latches | Robert Ou | 2017-06-25 | 4 | -0/+63 |
| | |||||
* | coolrunner2: Initial mapping of DFFs | Robert Ou | 2017-06-25 | 4 | -0/+76 |
| | | | | | All DFFs map to either FDCP (matches Xilinx) or a custom FDCP_N (negative-edge triggered) | ||||
* | coolrunner2: Remove redundant INVERT_PTC | Robert Ou | 2017-06-25 | 2 | -4/+1 |
| | |||||
* | coolrunner2: Remove debug prints | Robert Ou | 2017-06-25 | 1 | -2/+0 |
| | |||||
* | coolrunner2: Correctly handle $_NOT_ after $sop | Robert Ou | 2017-06-25 | 1 | -5/+41 |
| | |||||
* | coolrunner2: Also construct the XOR cell in the macrocell | Robert Ou | 2017-06-25 | 2 | -7/+34 |
| | |||||
* | coolrunner2: Initial techmapping for $sop | Robert Ou | 2017-06-25 | 4 | -153/+268 |
| | |||||
* | coolrunner2: Initial commit | Robert Ou | 2017-06-24 | 3 | -0/+223 |