Commit Graph

62 Commits

Author SHA1 Message Date
YRabbit
c4b3268e90 gowin: Himbaechel. Add the LUTRAM
- RAM16SDP1, RAM16SDP2 and RAM16SDP4 support;
    - Reading in these primitives is asynchronous, but we have taken
      measures so that DFF Bels remain unoccupied and they can be used
      to implement synchronous reading.
    - misc fixes.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-08-31 08:28:09 +02:00
YRabbit
c9b23a01db gowin: Himbaechel. Add ALU.
- Added support for ALU running in "2" ADDSUB mode, the mode that yosys generates for gowin;
- Supports specifying an arbitrary input carry as well as passing the output carry to logic;
- A small restructuring of the source files.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-08-31 08:28:09 +02:00
YRabbit
c82654d003 gowin: Himbaechel. Add a wideluts
- MUX2_LUT5, MUX2_LUT6, MUX2_LUT7 and MUX2_LUT8 support;
- storing a common class of files in extra_data;
- misc fixes.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-08-31 08:28:09 +02:00
YRabbit
f7fbe0db04 gowin: Himbaechel, fix style
Run clang-format

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-08-31 08:28:09 +02:00
YRabbit
e4d2e1bd85 gowin: add support for all DFF types
Himbaechel-gowin has learned how to place DFFs of all types by tracking
the compatibility of CLK, CE and LSR inputs, as well as placing mutually
compatible flip-flops in adjacent slices.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-08-31 08:28:09 +02:00
YRabbit
ae89430075 gowin: add global VCC and VSS networks
- VSS and VCC sources in each cell are used;
- constant LUT inputs are disabled;
- putting the class declaration into a header file.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-08-31 08:28:09 +02:00
YRabbit
fb5f764b85 gowin: Add himbaechel arch
- wires, nodes and whites are generated from bases - apicula;
- roting of SN and EW bidirectional wires is supported;
- supports "wrapping" the wires at the edges of the chip;
- LUT1-4 and two types of DFF(R) are supported;
- simple IO is supported.

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-08-31 08:28:09 +02:00
YRabbit
24e1734999 generate bba
Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
2023-08-31 08:28:09 +02:00
YRabbit
bc7cd4f20e wip start 2023-08-31 08:28:09 +02:00
rowanG077
914999673c Rip out budgets 2023-06-20 10:57:10 +02:00
gatecat
1d3e5151ba clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2023-05-19 09:00:31 +02:00
gatecat
57b923a603 himbächel: Initial implementation
Signed-off-by: gatecat <gatecat@ds0.me>
2023-05-13 08:26:41 +02:00