diff --git a/spiOverJtag/Makefile b/spiOverJtag/Makefile index 8504ef7..75a1748 100644 --- a/spiOverJtag/Makefile +++ b/spiOverJtag/Makefile @@ -24,7 +24,7 @@ ALTERA_PARTS := 10cl025256 10cl016484 10cl055484 \ ep4ce622 ep4ce1017 ep4ce2217 ep4ce1523 ep4ce11523 ep4cgx15027 5ce223 5ce423 5ce523 5ce927 ALTERA_BIT_FILES := $(addsuffix .rbf.gz, $(addprefix spiOverJtag_, $(ALTERA_PARTS))) -EFINIX_PARTS := t8f81 t13f256 +EFINIX_PARTS := t8f81 t13f256 ti180j484 EFINIX_BIT_FILES := $(addsuffix .bit.gz, $(addprefix spiOverJtag_efinix_, $(EFINIX_PARTS))) BIT_FILES := $(ALTERA_BIT_FILES) $(EFINIX_BIT_FILES) $(XILINX_BIT_FILES) diff --git a/spiOverJtag/efinix_build.py b/spiOverJtag/efinix_build.py index 0382983..dba50e5 100755 --- a/spiOverJtag/efinix_build.py +++ b/spiOverJtag/efinix_build.py @@ -48,6 +48,17 @@ efinix_pinout = { "ss_n": "K3", "cclk": "K2", "cdi0": "J1", "cdi1": "J2", "cdi2": "F1", "cdi3": "G2", }, }, + "Titanium": { + "J484": { # ti180, ... + "ss_n": "E2", "cclk": "J2", "cdi0": "G2", "cdi1": "H2", "cdi2": "F3", "cdi3": "G3", + }, + }, +} + +timing_models = { + "T8F81": "C2", + "T13F256": "C3", + "TI180J484": "C3", } def gen_isf_constr(gateware_name, build_path, device_name, family, pkg): @@ -110,7 +121,7 @@ if __name__ == "__main__": device = args.device.upper() build_name = "efinix_spiOverJtag" build_dir = os.path.join(curr_path, f"tmp_efinix_{device.lower()}") - timing_model = "C2" # FIXME: always usable (trion / titanium) ? + timing_model = timing_models.get(device, "C3") sources = [ { 'name': os.path.join(curr_path, "efinix_spiOverJtag.v"), diff --git a/spiOverJtag/spiOverJtag_efinix_ti180j484.bit.gz b/spiOverJtag/spiOverJtag_efinix_ti180j484.bit.gz new file mode 100644 index 0000000..785917a Binary files /dev/null and b/spiOverJtag/spiOverJtag_efinix_ti180j484.bit.gz differ