solo_altera/sirena/altera/Makefile

216 lines
7 KiB
Makefile
Raw Permalink Normal View History

VERILOG=/usr/local/bin/iverilog
#VERILOG=/usr/bin/iverilog
VERILOGFLAGS = -v -Wall -Wno-timescale -DSIMULATION $($*_FLAGS) $(IVLFLAGS)
%.vvp:
$(VERILOG) $(VERILOGFLAGS) -o $@ $(filter %.v, $^)
vcd/%.lxt: %.vvp
$< -lxt2 | tee $*.log
.PRECIOUS: vcd/%.lxt
VPATH=.:./l3:./encode:./hk:../../flyrena/altera:../../hetept/altera:../../altera:../../altera/mega:../../altera/actel:../../stein/altera:../../nm64/altera:../../µirena/altera
SIRENA_DEFS = -DChangE4 -DUART_PARITY=1 -DEVGEN_EPT_HET
sirena_FLAGS = -s sirena_test -DSIRENACORE -DUART3MHZ -DGENSRAM -DINFERRED_SRAM $(SIRENA_DEFS)
sirena.vvp: sirena.v sirenacore.v sirena_test.v icucore.v \
evgen.v floats.v \
frontend.v spi_slave.v spififo_sim.v conf_reg.v packetfifo.v countbits.v \
frontend_test.v fifo8_sim.v serializer.v \
heteptcore.v backend.v opheater.v \
message.v uart.v crc.v \
msg_regs.v ppsschedule.v l3code.v hamming.v \
ppsschedule.hex memport.v eeprom.v \
compression.v encode.v itof.v log2by8.v \
processor.v l3regfifo.v log7to4.v adder.v trim.v cmp.v \
adderi.v mult.v bitrange.v \
mem.v l3registerfile.v counters.v fifo.v pha.v \
ept.l3v no_het.l3v por.v
QUARTUS=/usr/local/quartus/altera13.1/quartus
export PATH:=$(PATH):$(QUARTUS)/bin
QDIR=quartus
$(QDIR)/%.rbf: %.qpf %.qsf %.sdc
quartus_map $<
quartus_fit $<
quartus_asm $<
quartus_sta $<
grep -i warning $(QDIR)/$*.*.rpt > $*.warnings
FRONTEND = conf_reg.v spi_slave.v pll96.v spififo.v frontend.v packetfifo.v
SIRENA_SOURCES = sirena.v \
sirenacore.v sirena_test.v \
evgen.v floats.v \
frontend.v spi_slave.v spififo_sim.v conf_reg.v packetfifo.v \
frontend_test.v fifo8_sim.v \
heteptcore.v backend.v opheater.v \
message.v uart.v crc.v \
msg_regs.v ppsschedule.v l3code.v hamming.v \
ppsschedule.hex memport.v eeprom.v \
compression.v encode.v itof.v \
processor.v l3regfifo.v log7to4.v adder.v trim.v cmp.v \
adderi.v mult.v bitrange.v \
mem.v l3registerfile.v counters.v fifo.v pha.v
SPW_SOURCES = spwirena_core.v SpW.v serializer.v
$(QDIR)/sirena.rbf: $(SIRENA_SOURCES)
$(QDIR)/sirena_ce4.rbf: $(SIRENA_SOURCES)
$(QDIR)/icucore.rbf: sirena.v $(FRONTEND)
$(QDIR)/spwsirena.rbf: $(SIRENA_SOURCES) $(SPW_SOURCES)
$(QDIR)/sirenaspw.rbf: $(SIRENA_SOURCES) $(SPW_SOURCES)
uart.vvp: uart.v fifo8_sim.v
uart_FLAGS = -DUART_TEST -DALTERA_FIFO8 $(UART_DEFS) -s uart_test
MESSAGE_FIFO = fifo.v hamming.v mem.v
# MESSAGE_FIFO = fifo8_sim.v
message.vvp: message.v crc.v uart.v $(MESSAGE_FIFO)
message_FLAGS = -DMESSAGE_TEST -DINFERRED_SRAM -s message_test
SpW_message.vvp: message.v crc.v uart.v SpW.v serializer.v
SpW_message_FLAGS = -DMESSAGE_TEST -DCCSDS_APID="11'h666" -s SpW_message_test
memory_FLAGS = -DMEMORY_TEST -s memory_test
l3registerfile.vvp: l3registerfile.v hamming.v mem.v
l3registerfile_FLAGS = -DL3REG_TEST -s l3registerfile_test -DINFERRED_SRAM
l3code.vvp: l3code.v hamming.v message.v uart.v crc.v fifo.v
l3code_FLAGS = -DL3CODE_TEST -s l3code_test -DINFERRED_SRAM
hkspi_FLAGS = -DHKSPI_TEST -s hkspi_test
fifo.vvp: fifo.v hamming.v mem.v
fifo_FLAGS = -DFIFO_TEST -s fifo_test -DINFERRED_SRAM
MEM=CE4
memport_FLAGS = -DMEMPORT_TEST -DM24MHZ -DMEM_$(MEM) -DINFERRED_SRAM -s memport_test
memport.vvp: memport.v hamming.v eeprom.v mem.v
backend_FLAGS = -DBACKEND_TEST -s backend_test
l3win_FLAGS = -s l3win_test -DM24MHZ
ifeq ($(RAM_ACTEL),No)
RAMS=mem.v
backend_FLAGS += -DINFERRED_SRAM
l3win_FLAGS += -DINFERRED_SRAM
else
RAMS=mem.v \
RAM64K36_sim.v memWxActel.v mem36x128.v mem36x512.v mem72x128.v mem72x256.v \
mem36x2048.v mem72x1024.v mem72x2048.v mem72x512.v \
mem36x1024.v mem36x256.v
backend_FLAGS += -DTARGET_ACTEL
l3win_FLAGS += -DTARGET_ACTEL
endif
backend.vvp: backend.v hamming.v l3code.v l3registerfile.v ppsschedule.v memport.v fifo.v \
message.v pha.v eeprom.v msg_regs.v counters.v $(RAMS) \
compression.v encode.v itof.v log2by8.v \
processor.v l3regfifo.v log7to4.v adder.v trim.v cmp.v adderi.v mult.v bitrange.v \
test.l3v
l3win.vvp: l3win_test.v backend.v hamming.v l3code.v l3registerfile.v ppsschedule.v memport.v fifo.v \
message.v pha.v eeprom.v msg_regs.v counters.v $(RAMS) \
compression.v encode.v itof.v log2by8.v \
processor.v l3regfifo.v log7to4.v adder.v trim.v cmp.v adderi.v mult.v bitrange.v \
ept.l3v ept_dps.iv
L3TEST_UNIT = STEP
l3test_FLAGS = -s l3test -DM24MHZ -DINFERRED_SRAM -D$(L3TEST_UNIT)_PHA
l3test.vvp: l3test.v backend.v hamming.v l3code.v l3registerfile.v ppsschedule.v memport.v fifo.v \
message.v pha.v eeprom.v msg_regs.v counters.v $(RAMS) \
compression.v encode.v itof.v log2by8.v \
processor.v l3regfifo.v log7to4.v adder.v trim.v cmp.v adderi.v mult.v bitrange.v \
l3test.l3v l3test.ev stein_pha.v countbits.v
mult.vvp: mult.v
mult_FLAGS = -DMULT_TEST
l3regfifo_FLAGS = -DL3REGFIFO_TEST -s fifo_tb
processor.vvp: processor.v l3regfifo.v log7to4.v adder.v trim.v cmp.v adderi.v mult.v bitrange.v
processor_FLAGS = -DPROCESSOR_TEST -s processor_test
L3C = l3/l3.py
L3DIS = l3/l3dis.py
%.l3c: %.l3 $(L3C) .%.forward
$(L3C) -g hex -o $@ $<
%.l3v: %.l3 $(L3C) .%.forward
$(L3C) -g verilog -vv -o $@ -l $*.l3d $<
%.l3py: %.l3 $(L3C) .%.forward
$(L3C) -g python -vv -o $@ -l $*.l3d $<
.%.forward: %.l3 $(L3C)
$(L3C) -g hex -o /dev/null $<
touch $@
.ept.forward: hetept_config.l3 hetept_pha.l3 ept_calib.l3
.step.forward: step_config.l3 step_pha.l3 step_calib.l3
%.l3dis: %.l3c $(L3DIS)
$(L3DIS) -F 'R%(addr)-3d= %(cond)-3s %(mnem)-5s %(args)-25s # 0x%(instr)08x' $< > $@
%.l3cc: %.l3dis
$(L3C) -g hex -o $@ $<
-diff -u $*.l3c $*.l3cc
clean:
rm -f *.l3[cdv] *.l3dis *.l3cc .*.forward *.vvp
pps_gen_FLAGS = -DPPS_GEN_TEST -s pps_gen_test
pps_gen.vvp: icucore.v
$(QDIR)/icucore.rbf: sirena.v icucore.v $(FRONTEND) memory.v uart.v secondcyclone.v
itof_FLAGS = -DITOF_TEST -s itof_test
itof.vvp: itof.v
crc_FLAGS = -DCRC_TEST
crc.vvp: crc.v
s72_test.vvp: hamming.v
s72_test_FLAGS = -DS72_TEST -s s72_test
s18_test.vvp: hamming.v
s18_test_FLAGS = -DS18_TEST -s s18_test
s56_test.vvp: hamming.v
s56_test_FLAGS = -DS56_TEST -s s56_test
s64_test.vvp: hamming.v
s64_test_FLAGS = -DS64_TEST -s s64_test
evgen.vvp: evgen.v crc.v floats.v
evgen_FLAGS = -DEVGEN_TEST -s evgen_test
uf.vvp: floats.v
uf_FLAGS = -DUF_TEST -s uf_test
log2by8.vvp: log2by8.v
log2by8_FLAGS = -DLOG2BY8_TEST -s log2by8_test
encschedule.vvp: compression.v encode.v ppsschedule.v
encschedule_FLAGS = -DENCSCHEDULE_TEST -s encschedule_test
counters.vvp: counters.v mem.v hamming.v pha.v itof.v
counters_FLAGS = -s counters_test -DCOUNTERS_TEST -DINFERRED_SRAM
sirenacntr_FLAGS = -s sirenacntr_test -DSIRENACNTR -DSIRENACNTR_TEST \
-DINFERRED_SRAM
sirenacntr.vvp: sirenacntr.v memport.v \
frontend.v spi_slave.v spififo_sim.v conf_reg.v packetfifo.v countbits.v \
frontend_test.v fifo8_sim.v serializer.v nmcounter.v mem.v
$(QDIR)/sirenacntr.rbf: sirenacntr.v memport.v \
frontend.v spi_slave.v spififo_sim.v conf_reg.v packetfifo.v countbits.v \
nmcounter.v mem.v
baudgen.vvp: baudgen_test.v uart.v
baudgen_FLAGS = -s baudgen_test
encode_FLAGS = -DENCODE_TEST -s encode_test
encode.vvp: encode.v
mem_sqi_FLAGS = -DMEM_SQI_TEST -s mem_ifc_test
mem_sqi.vvp: memport.v