2022-06-14 10:35:05 +02:00
|
|
|
`include "../fsm/Fsm.sv"
|
2022-06-14 11:53:20 +02:00
|
|
|
`include "../Bus_if/Bus_if.sv"
|
2022-06-14 12:21:25 +02:00
|
|
|
`include "../timer_port/timer_top.sv"
|
2022-06-17 11:58:02 +02:00
|
|
|
`include "../spi_interface_radiant/spi_interface.sv"
|
2022-06-14 10:35:05 +02:00
|
|
|
|
|
|
|
module Top(
|
2022-06-14 12:21:25 +02:00
|
|
|
input wire clk,
|
|
|
|
input wire rst,
|
|
|
|
input wire endOfConv,
|
|
|
|
output wire LEDg,
|
|
|
|
output wire LEDr,
|
2022-06-17 11:58:02 +02:00
|
|
|
output wire AlarmAmpel,
|
|
|
|
output wire Alarm_R
|
2022-06-14 10:35:05 +02:00
|
|
|
);
|
|
|
|
// Bus (Interface)
|
2022-06-14 11:53:20 +02:00
|
|
|
Bus_if bus(.clk(clk));
|
2022-06-14 10:35:05 +02:00
|
|
|
// SPI Interface
|
2022-06-17 11:58:02 +02:00
|
|
|
spi_interface_ports spi_bus(.clk(clk));
|
|
|
|
|
2022-06-14 10:35:05 +02:00
|
|
|
// FSM
|
2022-06-14 11:53:20 +02:00
|
|
|
Fsm fsm(
|
|
|
|
.clk(clk),
|
|
|
|
.inAlarmAmpel(bus.AlarmAmpel),
|
|
|
|
.inDataValid(bus.DataValid),
|
|
|
|
.inTasteAktiv(bus.TasteAktiv),
|
|
|
|
.outAlarm_R(bus.Alarm_R),
|
|
|
|
.outSendData(bus.SendData),
|
|
|
|
.outTimerEN(bus.TimerEN)
|
|
|
|
);
|
2022-06-14 10:35:05 +02:00
|
|
|
// Parallelport
|
2022-06-14 12:21:25 +02:00
|
|
|
parallelport parallelport1 (
|
|
|
|
.inClk(clk),
|
|
|
|
.inTimerMeas(bus.TimerMeas),
|
|
|
|
.inEndOfConv(endOfConv),
|
|
|
|
.inData(bus.Data),
|
|
|
|
.outDataValid(bus.DataValid),
|
|
|
|
.outData(bus.Data)
|
|
|
|
);
|
2022-06-14 10:35:05 +02:00
|
|
|
// FRAM-Controller
|
|
|
|
// Timer
|
2022-06-14 12:21:25 +02:00
|
|
|
timer timer1 (
|
|
|
|
.inClk(clk),
|
|
|
|
.inTaste(bus.Taste),
|
|
|
|
.inEN(bus.TimerEN),
|
|
|
|
.outReadTemp(bus.ReadTemp),
|
|
|
|
.outTasteAktiv(bus.TasteAktiv)
|
|
|
|
);
|
2022-06-14 10:35:05 +02:00
|
|
|
// Ampelsteuerung
|
2022-06-14 12:21:25 +02:00
|
|
|
led_top ampelsteuerung (
|
|
|
|
.clk12M(clk),
|
|
|
|
.rst(rst),
|
|
|
|
.data_input(bus.Data),
|
|
|
|
.data_valid(bus.DataValid),
|
|
|
|
.RED(LEDr),
|
|
|
|
.GRN(LEDg),
|
|
|
|
.alarm(bus.AlarmAmpel)
|
|
|
|
);
|
|
|
|
|
2022-06-17 11:58:02 +02:00
|
|
|
assign AlarmAmpel = bus.AlarmAmpel;
|
|
|
|
assign Alarm_R = bus.Alarm_R;
|
|
|
|
|
|
|
|
assign bus.sbclk = spi_bus.sb_clk_i;
|
|
|
|
assign bus.sbstb = spi_bus.sb_stb_i;
|
|
|
|
assign bus.sbrw = spi_bus.sb_wr_i;
|
|
|
|
assign bus.sbadr = spi_bus.sb_adr_i;
|
|
|
|
assign bus.sbdat_r = spi_bus.sb_dat_i;
|
|
|
|
assign bus.sbdat_w = spi_bus.sb_dat_o;
|
|
|
|
assign bus.sback = spi_bus.sb_ack_o;
|
2022-06-14 10:35:05 +02:00
|
|
|
endmodule
|