Add XC95144XL as a substitute for the CPLD

This commit is contained in:
Matt Harlum 2022-05-25 12:16:06 +00:00
parent 9e4fe20f32
commit 4fb2d0c7f3
7 changed files with 5606 additions and 2152 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -43,7 +43,7 @@ For best results the boards should be manufactured with the "Gold Fingers" optio
|Component|Location|QTY|Link|Note|
|---------|--------|---|----|----|
|LM1117-3.3 SOT-223|U1|1|[Mouser](https://www.mouser.com/ProductDetail/926-LM1117IMP3.3NOPB)||
|XC9572XL-10TQ100C|U5|1|[Mouser](https://www.mouser.com/ProductDetail/217-C9572XL-10TQ100C)||
|XC9572XL-10TQ100C|U5|1|[Mouser](https://www.mouser.com/ProductDetail/217-C9572XL-10TQ100C)|Can be substituted with XC95144XL-10-TQ100|
|74LS245 SOIC|U3,U4|2|[Mouser](https://www.mouser.com/ProductDetail/595-SN74LS245DWR)||
|74LVC2G07|U2|1|[Mouser](https://www.mouser.com/ProductDetail/595-SN74LVC2G07DBVR)|*Optional - See below|
|5v 1MBx16 DRAM, SOJ-42 i.e <br/>K4E151611<br/>K4F151611<br/>MT4C1M16E5<br/>GM71C18163C<br/>AS4C1M16E5 etc.|U6,U7,U8,U9|4|Aliexpress, Ebay etc||

View File

@ -1,5 +1,8 @@
PROJECT=gottagofast2000
PART=XC9572XL-10-TQ100
PART=XC9572XL
PART2=XC95144XL
SPEED=10
PACKAGE=TQ100
WORKDIR=tmp
BINDIR=../Binary
@ -12,41 +15,63 @@ CABLE=usb21
CPLDFITFLAGS=-loc on -slew slow -init low -terminate keeper -nogclkopt -nogtsopt -nogsropt -power std -ignoretspec -optimize speed -keepio -inputs 54 -pterms 25
.PHONY: all clean
.PHONY: all clean 9572 95144
all: $(BINDIR)/$(PROJECT).jed
all: $(BINDIR)/$(PART)/$(PROJECT).jed $(BINDIR)/$(PART)/$(PROJECT)-6MB.jed $(BINDIR)/$(PART2)/$(PROJECT).jed $(BINDIR)/$(PART2)/$(PROJECT)-6MB.jed
9572: $(BINDIR)/$(PART)/$(PROJECT).jed $(BINDIR)/$(PART)/$(PROJECT)-6MB.jed
95144: $(BINDIR)/$(PART2)/$(PROJECT).jed $(BINDIR)/$(PART2)/$(PROJECT)-6MB.jed
$(PROJECT).prj:
@echo verilog work $(PROJECT).v > $@
$(WORKDIR)/$(PROJECT).ngc: $(PROJECT).v $(PROJECT).prj
@mkdir $(WORKDIR) || true
-@mkdir -p $(WORKDIR)/$(PART)
-@mkdir -p $(WORKDIR)/$(PART2)
@sed -r "s#^(-top).*#\1 $(PROJECT)#g;s#^(-ofn).*#\1 ..\/$@#g;s#^(-ifn).*#\1 ../$(PROJECT).prj#g;s#^(-define).*#\1 {makefile_defines $(DEFINES) SERIAL=32'h${SERIAL} PRODID=${PRODID}}#g" template.xst > $@.xst
cd $(WORKDIR) && xst -ifn ../$@.xst -ofn $(PROJECT)-xst.log
$(WORKDIR)/$(PROJECT)-6MB.ngc: $(PROJECT).v $(PROJECT).prj
@mkdir $(WORKDIR) || true
-@mkdir -p $(WORKDIR)/$(PART)
-@mkdir -p $(WORKDIR)/$(PART2)
@sed -r "s#^(-top).*#\1 $(PROJECT)#g;s#^(-ofn).*#\1 ..\/$@#g;s#^(-ifn).*#\1 ../$(PROJECT).prj#g;s#^(-define).*#\1 {makefile_defines $(DEFINES) SERIAL=32'h${SERIAL} PRODID=${PRODID} Offer_6M}#g" template.xst > $@.xst
cd $(WORKDIR) && xst -ifn ../$@.xst -ofn $(PROJECT)-xst.log
$(WORKDIR)/%.ngd: $(WORKDIR)/%.ngc $(PROJECT).ucf
cd $(WORKDIR) && ngdbuild -p $(PART) -uc ../$(PROJECT).ucf ../$< ../$@
$(WORKDIR)/$(PART)/%.ngd: $(WORKDIR)/%.ngc $(PROJECT).ucf
cd $(WORKDIR)/$(PART) && ngdbuild -p $(PART)-$(SPEED)-$(PACKAGE) -uc ../../$(PROJECT).ucf ../../$< ../../$@
$(WORKDIR)/%.vm6: $(WORKDIR)/%.ngd $(PROJECT).ucf
cd $(WORKDIR) && cpldfit $(CPLDFITFLAGS) -p $(PART) ../$<
$(WORKDIR)/$(PART)/%.vm6: $(WORKDIR)/$(PART)/%.ngd $(PROJECT).ucf
cd $(WORKDIR)/$(PART) && cpldfit $(CPLDFITFLAGS) -p $(PART)-$(SPEED)-$(PACKAGE) ../../$<
$(WORKDIR)/%.tim: $(WORKDIR)/%.vm6
$(WORKDIR)/$(PART)/%.jed: $(WORKDIR)/$(PART)/%.vm6
cd $(WORKDIR)/$(PART) && hprep6 -i ../../$<
# Build also for XC95144XL
$(WORKDIR)/$(PART2)/%.ngd: $(WORKDIR)/%.ngc $(PROJECT).ucf
cd $(WORKDIR)/$(PART2) && ngdbuild -p $(PART2)-$(SPEED)-$(PACKAGE) -uc ../../$(PROJECT).ucf ../../$< ../../$@
$(WORKDIR)/$(PART2)/%.vm6: $(WORKDIR)/$(PART2)/%.ngd $(PROJECT).ucf
cd $(WORKDIR)/$(PART2) && cpldfit $(CPLDFITFLAGS) -p $(PART2)-$(SPEED)-$(PACKAGE) ../../$<
$(WORKDIR)/$(PART2)/%.jed: $(WORKDIR)/$(PART2)/%.vm6
cd $(WORKDIR)/$(PART2) && hprep6 -i ../../$<
$(WORKDIR)/$(PART)/%.tim: $(WORKDIR)/$(PART)/%.vm6
cd $(WORKDIR) && taengine -l ../$@ -f $(PROJECT)
%.jed: $(WORKDIR)/%.vm6
hprep6 -i $<
$(BINDIR)/%.jed: %.jed
cp $< $(BINDIR)
$(BINDIR)/$(PART)/%.jed: $(WORKDIR)/$(PART)/%.jed
-@ mkdir -p $(BINDIR)/$(PART)
cp $< $(BINDIR)/$(PART)
timing: $(WORKDIR)/$(PROJECT).tim
$(BINDIR)/$(PART2)/%.jed: $(WORKDIR)/$(PART2)/%.jed
-@ mkdir -p $(BINDIR)/$(PART2)
cp $< $(BINDIR)/$(PART2)
fit: $(WORKDIR)/$(PROJECT).vm6
timing: $(WORKDIR)/$(PART)/$(PROJECT).tim
fit: $(WORKDIR)/$(PART)/$(PROJECT).vm6
clean:
- rm -rvf tmp
@ -54,7 +79,8 @@ clean:
- rm -fv *.prj
cleanjeds:
- @rm -fv $(BINDIR)/*.jed
- @rm -fv $(BINDIR)/$(PART)/*.jed
- @rm -fv $(BINDIR)/$(PART2)/*.jed
flash: $(PROJECT).jed
@echo "setMode -bs\n"\