synth_intel_alm: alternative synthesis for Intel FPGAs
authorDan Ravensloft <dan.ravensloft@gmail.com>
Tue, 19 Nov 2019 10:19:00 +0000 (10:19 +0000)
committerMarcelina Koƛcielnicka <mwk@0x04.net>
Wed, 15 Apr 2020 09:40:41 +0000 (11:40 +0200)
commit2e37e62e6b926ca1712b1636ef720748e382dc97
tree25936d690dff24f0cddcc5dbbfe68aea74500994
parent4c52691a58a469a525401bbc83c65f262b2a5504
synth_intel_alm: alternative synthesis for Intel FPGAs

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).
29 files changed:
Makefile
techlibs/intel/Makefile.inc
techlibs/intel_alm/Makefile.inc [new file with mode: 0644]
techlibs/intel_alm/common/alm_map.v [new file with mode: 0644]
techlibs/intel_alm/common/alm_sim.v [new file with mode: 0644]
techlibs/intel_alm/common/arith_alm_map.v [new file with mode: 0644]
techlibs/intel_alm/common/bram_m10k.txt [new file with mode: 0644]
techlibs/intel_alm/common/bram_m10k_map.v [new file with mode: 0644]
techlibs/intel_alm/common/bram_m20k.txt [new file with mode: 0644]
techlibs/intel_alm/common/bram_m20k_map.v [new file with mode: 0644]
techlibs/intel_alm/common/dff_map.v [new file with mode: 0644]
techlibs/intel_alm/common/dff_sim.v [new file with mode: 0644]
techlibs/intel_alm/common/lutram_mlab.txt [new file with mode: 0644]
techlibs/intel_alm/common/lutram_mlab_map.v [new file with mode: 0644]
techlibs/intel_alm/common/megafunction_bb.v [new file with mode: 0644]
techlibs/intel_alm/common/quartus_rename.v [new file with mode: 0644]
techlibs/intel_alm/cyclone10gx/quartus_rename.v [new file with mode: 0644]
techlibs/intel_alm/cyclonev/quartus_rename.v [new file with mode: 0644]
techlibs/intel_alm/synth_intel_alm.cc [new file with mode: 0644]
tests/arch/intel_alm/add_sub.ys [new file with mode: 0644]
tests/arch/intel_alm/adffs.ys [new file with mode: 0644]
tests/arch/intel_alm/counter.ys [new file with mode: 0644]
tests/arch/intel_alm/dffs.ys [new file with mode: 0644]
tests/arch/intel_alm/fsm.ys [new file with mode: 0644]
tests/arch/intel_alm/logic.ys [new file with mode: 0644]
tests/arch/intel_alm/mux.ys [new file with mode: 0644]
tests/arch/intel_alm/run-test.sh [new file with mode: 0755]
tests/arch/intel_alm/shifter.ys [new file with mode: 0644]
tests/arch/intel_alm/tribuf.ys [new file with mode: 0644]