Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | machxo2: Initial support for carry chains (CCU2D) | Miodrag Milanovic | 2023-04-06 | 4 | -5/+127 |
| | |||||
* | Update Xilinx cell definitions, fixes #3699 | Miodrag Milanovic | 2023-03-23 | 3 | -6/+16 |
| | |||||
* | Start unification effort for machxo2 and ecp5 | Miodrag Milanovic | 2023-03-20 | 4 | -31/+23 |
| | |||||
* | Add additional iopad_external_pin attributes | Miodrag Milanovic | 2023-03-20 | 1 | -4/+22 |
| | |||||
* | Add iopad_external_pin to some basic io primitives | Miodrag Milanovic | 2023-03-20 | 2 | -12/+13 |
| | |||||
* | insert IO buffers for ECP5, off by default | Miodrag Milanovic | 2023-03-20 | 1 | -1/+14 |
| | |||||
* | ice40: Fix path delay definitions | Stefan Riesenberger | 2023-03-10 | 1 | -14/+14 |
| | | | | | | Parallel connections do not allow matching different bit widths. A full connection has to be used instead. Allows iverilog to parse the simulation library with hardware path delays enabled. | ||||
* | Merge pull request #3688 from pu-cc/gatemate-reginit | N. Engelhardt | 2023-03-01 | 3 | -8/+16 |
|\ | |||||
| * | gatemate: Enable register initialization | Patrick Urban | 2023-02-15 | 3 | -8/+16 |
| | | |||||
* | | Merge pull request #3663 from uis246/master | Miodrag Milanović | 2023-02-28 | 1 | -0/+17 |
|\ \ | | | | | | | gowin: Add new types of oscillator | ||||
| * | | gowin: Add new types of oscillator | uis | 2023-02-06 | 1 | -0/+17 |
| | | | |||||
* | | | Merge pull request #3652 from martell/elvds | Miodrag Milanović | 2023-02-28 | 1 | -0/+8 |
|\ \ \ | | | | | | | | | gowin: Add support for emulated differential output | ||||
| * | | | gowin: Add support for emulated differential output | martell | 2023-01-29 | 1 | -0/+8 |
| |/ / | |||||
* | | | fabulous: Add support for mapping carry chains | gatecat | 2023-02-27 | 4 | -2/+93 |
| | | | | | | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | | | Check DREG attribute | Oliver Keszöcze | 2023-02-17 | 1 | -1/+1 |
| | | | | | | | | | The DSP48E1 implementation checked the wrong attribute (i.e. CREG) to initialize the D input register. This PR fixes 3680 | ||||
* | | | fabulous: Add CLK to BRAM interface primitives | gatecat | 2023-02-16 | 1 | -3/+3 |
| |/ |/| | | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | | gatemate: Update CC_PLL parameters | Patrick Urban | 2023-02-14 | 1 | -0/+3 |
| | | |||||
* | | gatemate: Add CC_USR_RSTN primitive | Patrick Urban | 2023-02-14 | 1 | -0/+6 |
| | | |||||
* | | gatemate: Ensure compatibility of LVDS ports with VHDL | Patrick Urban | 2023-02-14 | 1 | -12/+12 |
|/ | |||||
* | Merge pull request #3630 from yrabbit/gw1n4c-pll | Miodrag Milanović | 2023-01-18 | 1 | -0/+47 |
|\ | | | | | gowin: add a new type of PLL - PLLVR | ||||
| * | gowin: add a new type of PLL - PLLVR | YRabbit | 2023-01-11 | 1 | -0/+47 |
| | | | | | | | | | | | | | | This primitive is used in the GW1NS-4, GW1NS-4C, GW1NSR-4, GW1NSR-4C and GW1NSER-4C chips. Signed-off-by: YRabbit <rabbit@yrabbit.cyou> | ||||
* | | Merge pull request #3537 from jix/xprop | Jannis Harder | 2023-01-11 | 2 | -10/+60 |
|\ \ | |/ |/| | New xprop pass | ||||
| * | Add bitwise `$bweqx` and `$bwmux` cells | Jannis Harder | 2022-11-30 | 2 | -1/+38 |
| | | | | | | | | | | | | The new bitwise case equality (`$bweqx`) and bitwise mux (`$bwmux`) cells enable compact encoding and decoding of 3-valued logic signals using multiple 2-valued signals. | ||||
| * | simlib: Use optional SIMLIB_GLOBAL_CLOCK to define a global clock signal | Jannis Harder | 2022-11-30 | 1 | -2/+8 |
| | | |||||
| * | simlib: Silence iverilog warning for `$lut` | Jannis Harder | 2022-11-30 | 1 | -1/+1 |
| | | | | | | | | | | | | iverilog complains about implicitly truncating LUT when connecting it to the `$bmux` A input. This explicitly truncates it to avoid that warning without changing the behaviour otherwise. | ||||
| * | simlib: Fix wide $bmux and avoid iverilog warnings | Jannis Harder | 2022-11-30 | 1 | -2/+2 |
| | | |||||
| * | satgen, simlib: Consistent x-propagation for `$pmux` cells | Jannis Harder | 2022-11-30 | 1 | -4/+11 |
| | | | | | | | | | | This updates satgen and simlib to use a `$pmux` model where the output is fully X when the S input is not all zero or one-hot with no x bits. | ||||
* | | nexus: Fix BRAM write enable in PDP mode | gatecat | 2023-01-04 | 1 | -2/+2 |
|/ | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | fabulous: Allow adding extra custom prims and map rules | gatecat | 2022-11-17 | 1 | -0/+32 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | fabulous: improvements to the pass | gatecat | 2022-11-17 | 6 | -139/+199 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | fabulous: Unify and update primitives | gatecat | 2022-11-17 | 3 | -852/+356 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Introduce RegFile mappings | TaoBi22 | 2022-11-17 | 4 | -2/+95 |
| | |||||
* | Replace synth call with components, reintroduce flags and correct vpr flag ↵ | TaoBi22 | 2022-11-17 | 1 | -4/+76 |
| | | | | implementation | ||||
* | Reorder operations to load in primitive library before hierarchy pass | TaoBi22 | 2022-11-17 | 1 | -5/+6 |
| | |||||
* | Add plib flag to specify custom primitive library path | TaoBi22 | 2022-11-17 | 1 | -2/+14 |
| | |||||
* | Remove flattening from FABulous pass | TaoBi22 | 2022-11-17 | 1 | -11/+2 |
| | |||||
* | Remove ALL currently unused flags (some to be reintroduced later and passed ↵ | TaoBi22 | 2022-11-17 | 1 | -82/+3 |
| | | | | through to synth) | ||||
* | Add synth_fabulous ScriptPass | TaoBi22 | 2022-11-17 | 8 | -0/+1282 |
| | |||||
* | simlib: Simplify recently changed $mux model | Jannis Harder | 2022-10-28 | 1 | -4/+2 |
| | | | | | | The use of a procedural continuous assignment introduced in #3526 was unintended and is completely unnecessary for the actual change of that PR. | ||||
* | Merge pull request #3526 from jix/mux-simlib-eval | Jannis Harder | 2022-10-24 | 1 | -4/+1 |
|\ | | | | | Consistent $mux undef handling | ||||
| * | Consistent $mux undef handling | Jannis Harder | 2022-10-24 | 1 | -4/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Change simlib's $mux cell to use the ternary operator as $_MUX_ already does * Stop opt_expr -keepdc from changing S=x to S=0 * Change const eval of $mux and $pmux to match the updated simlib (fixes sim) * The sat behavior of $mux already matches the updated simlib The verilog frontend uses $mux for the ternary operators and this changes all interpreations of the $mux cell (that I found) to match the verilog simulation behavior for the ternary operator. For 'if' and 'case' expressions the frontend may also use $mux but uses $eqx if the verilog simulation behavior is requested with the '-ifx' option. For $pmux there is a remaining mismatch between the sat behavior and the simlib behavior. Resolving this requires more discussion, as the $pmux cell does not directly correspond to a specific verilog construct. | ||||
* | | Add smtmap.v describing the smt2 backend's behavior for undef bits | Jannis Harder | 2022-10-20 | 2 | -0/+29 |
|/ | | | | | | | | | Some builtin cells have an undefined (x) output even when all inputs are defined. This is not natively supported by the formal backends which will produce a fully defined value instead. This can lead to issues when combining different backends in a formal flow. To work around these, this adds a file containing verilog implementation of cells matching the fully defined behavior implemented by the smt2 backend. | ||||
* | Test fixes for latest iverilog | Miodrag Milanovic | 2022-09-21 | 2 | -3/+2 |
| | |||||
* | sf2: add NOTES about using yosys for smartfusion2 and igloo2 | Tristan Gingold | 2022-08-31 | 1 | -0/+84 |
| | |||||
* | sf2: add a test for $alu gate | Tristan Gingold | 2022-08-31 | 1 | -0/+22 |
| | |||||
* | sf2: suport $alu gate and ARI1 implementation | Tristan Gingold | 2022-08-31 | 2 | -2/+65 |
| | |||||
* | synth_sf2: purge on last clean | Tristan Gingold | 2022-08-31 | 1 | -2/+2 |
| | | | | LiberoSoc don't like unused nets. | ||||
* | sf2/cells_sim.v: add XTLOSC, SYSRESET cells | Tristan Gingold | 2022-08-31 | 1 | -1/+110 |
| | |||||
* | sf2/cells_sim.v: add IOSTD parameter to I/O cells | Tristan Gingold | 2022-08-31 | 1 | -0/+11 |
| | | | | | This parameter is set by LiberoSoc IPs, so it is needed to avoid errors when using those IPs. | ||||
* | synth_sf2: add -discard-ffinit option to discard ff initial value | Tristan Gingold | 2022-08-31 | 1 | -1/+11 |
| | | | | | | sf2 ff have no initial values, but some IP cores use initial values. In order to use those cores on sf2, it is required to discard the initial value (to be carefully used). |