| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Explicitly declare -top in synth_intel_alm.
|
| |
|
| |
|
|
|
|
|
| |
Also properly skip read ports with init value or reset when not making
use of make_outreg. Proper support for matching those will land later.
|
|
|
|
| |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|
|
|
| |
Signed-off-by: gatecat <gatecat@ds0.me>
|
|
|
|
| |
Signed-off-by: gatecat <gatecat@ds0.me>
|
| |
|
|
|
|
|
|
| |
Quartus assumes unsigned multiplication by default, breaking signed
multiplies, so add an input signedness parameter to the MISTRAL_MUL*
cells to propagate to Quartus' <family>_mac cells.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our techmap rules for $shift and $shiftx cells contained a special path
that aimed to decompose the shift LSB-first instead of MSB-first in
select cases that come up in pmux lowering. This path was needlessly
overcomplicated and contained bugs.
Instead of doing that, just switch over the main path to iterate
LSB-first (except for the specially-handled MSB for signed shifts
and overflow handling). This also makes the code consistent with
shl/shr/sshl/sshr cells, which are already decomposed LSB-first.
Fixes #2346.
|
| |
|
|
|
|
| |
This reverts commit a3a90f6377f251d3b6c5898eb1543f8832493bb8.
|
| |
|
| |
|
|
|
|
| |
This reverts commit 09ecb9b2cf3ab76841d30712bf70dafc6d47ef67.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Co-authored-by: Eddie Hung <eddie@fpgeh.com>
|
|
|
|
|
| |
Suspect it is to do with map/set ordering in techmap; should
be fixed by #1862?
|
| |
|
|
|
|
| |
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
|
|
|
|
|
|
|
|
|
|
| |
By instantiating the LUTRAM cell directly, we avoid a trip through
altsyncram, which speeds up Quartus synthesis time. This also gives
a little more flexibility, as Yosys can build RAMs out of individual
32x1 LUTRAM cells.
While working on this, I discovered that the mem_init0 parameter of
<family>_mlab_cell gets ignored by Quartus.
|
| |
|
|
By operating at a layer of abstraction over the rather clumsy Intel primitives,
we can avoid special hacks like `dffinit -highlow` in favour of simple techmapping.
This also makes the primitives much easier to manipulate, and more descriptive
(no more cyclonev_lcell_comb to mean anything from a LUT2 to a LUT6).
|