Compare commits

...
Author SHA1 Message Date
sessleral71711 17f361ea12 I hate git 2022-06-14 12:33:29 +02:00
sessleral71711 730cc895b1 Merge branch 'top_level_design' of https://git.efi.th-nuernberg.de/gitea/kuntzschcl/ESY1_Projekt_2022 into top_level_design 2022-06-14 12:32:53 +02:00
sessleral71711 019dc2868e Added parallelport, timer and ampelsteuerung 2022-06-14 12:26:26 +02:00
sessleral71711 b30efd039d Added bus_if and fsm to top level design 2022-06-14 12:25:53 +02:00
sessleral71711 ecd6f16dbe merge konflikt behoben 2022-06-14 12:25:25 +02:00
sessleral71711 6a72019f25 Initalized top level design 2022-06-14 12:25:19 +02:00
sessleral71711 53868c67fd Added Bus_if and fsm to top level design 2022-06-14 12:22:52 +02:00
sessleral71711 6ab278694e Initalized top level design 2022-06-14 12:22:52 +02:00
sessleral71711 026899b930 Added parallelport, timer and ampelsteuerung 2022-06-14 12:21:25 +02:00
badenbergra78621 9ffb72cf97 Screenshots from RADIANT --> how to create SPI module with radiant 2022-06-14 09:59:23 +00:00
badenbergra78621 72c964475f Screenshots from RADIANT --> how to create SPI module with radiant 2022-06-14 09:58:24 +00:00
sessleral71711 d2aa8277c7 spi_interface dateien 2022-06-14 11:56:42 +02:00
sessleral71711 c93bdaf629 Added bus_if and fsm to top level design 2022-06-14 11:53:20 +02:00
sessleral71711 1be3ce1cea merge konflikt behoben 2022-06-14 11:52:04 +02:00
sessleral71711 4b0451fc63 Merge branch 'top_level_design' of https://git.efi.th-nuernberg.de/gitea/kuntzschcl/ESY1_Projekt_2022 into top_level_design 2022-06-14 11:51:22 +02:00
sessleral71711 20f8e707bd Added Bus_if and fsm to top level design 2022-06-14 11:45:29 +02:00
badenbergra78621 c46a1c3b33 add "spi_interface_portsI()" (beginning of document) 2022-06-14 09:42:25 +00:00
sessleral71711 6b874ba5c7 Initalized top level design 2022-06-14 11:34:24 +02:00
sessleral71711 200a989683 Added modport for timer 2022-06-14 11:23:54 +02:00
sessleral71711 613bffbcfc Added modport in Bus_if for Fsm 2022-06-14 11:03:41 +02:00
sessleral71711 b8d834144b Initalized top level design 2022-06-14 10:35:05 +02:00
13 changed files with 127 additions and 4 deletions

No files matched your search

+24 -1
View File
@@ -9,7 +9,6 @@ interface Bus_if (input clk);
logic[9:0] Data; logic[9:0] Data;
logic SendData; logic SendData;
logic TimerMeas; logic TimerMeas;
logic Clk;
logic DataValid; logic DataValid;
logic AlarmAmpel; logic AlarmAmpel;
logic TasteAktiv; logic TasteAktiv;
@@ -19,4 +18,28 @@ interface Bus_if (input clk);
logic ReadTemp; logic ReadTemp;
logic LEDg; logic LEDg;
logic LEDr; logic LEDr;
modport Fsm (
input clk,
input AlarmAmpel,
input DataValid,
input TasteAktiv,
output Alarm_R,
output SendData,
output TimerEN
);
modport timer (
input clk,
input Taste,
input TimerEN,
output ReadTemp,
output TasteAktiv
);
/*
module parallelport wird in top level design
ohne modport verbunden, da inEndOfConv nicht
Teil des Bus_if ist.
*/
endinterface //Bus endinterface //Bus
+2 -3
View File
@@ -3,8 +3,6 @@ input wire clk12M,
input wire rst, input wire rst,
input wire [7:0] data_input, input wire [7:0] data_input,
input wire data_valid, input wire data_valid,
output reg REDn,
output reg GRNn,
output reg RED, output reg RED,
output reg GRN, output reg GRN,
output reg alarm output reg alarm
@@ -12,7 +10,8 @@ output reg alarm
wire red_pwm; wire red_pwm;
wire grn_pwm; wire grn_pwm;
reg REDn;
reg GRNn;
defparam U1.on_hi = 2'b10; defparam U1.on_hi = 2'b10;
defparam U1.on_lo = 2'b01; defparam U1.on_lo = 2'b01;
defparam U1.off = 2'b00; defparam U1.off = 2'b00;
+57
View File
@@ -0,0 +1,57 @@
`include "../spi_interface.v"
`include "../fsm/Fsm.sv"
`include "../Bus_if/Bus_if.sv"
`include "../timer_port/timer_top.sv"
module Top(
input wire clk,
input wire rst,
input wire endOfConv,
output wire LEDg,
output wire LEDr,
output wire AlarmAmpel
);
// Bus (Interface)
Bus_if bus(.clk(clk));
// SPI Interface
// FSM
Fsm fsm(
.clk(clk),
.inAlarmAmpel(bus.AlarmAmpel),
.inDataValid(bus.DataValid),
.inTasteAktiv(bus.TasteAktiv),
.outAlarm_R(bus.Alarm_R),
.outSendData(bus.SendData),
.outTimerEN(bus.TimerEN)
);
// Parallelport
parallelport parallelport1 (
.inClk(clk),
.inTimerMeas(bus.TimerMeas),
.inEndOfConv(endOfConv),
.inData(bus.Data),
.outDataValid(bus.DataValid),
.outData(bus.Data)
);
// FRAM-Controller
// Timer
timer timer1 (
.inClk(clk),
.inTaste(bus.Taste),
.inEN(bus.TimerEN),
.outReadTemp(bus.ReadTemp),
.outTasteAktiv(bus.TasteAktiv)
);
// Ampelsteuerung
led_top ampelsteuerung (
.clk12M(clk),
.rst(rst),
.data_input(bus.Data),
.data_valid(bus.DataValid),
.RED(LEDr),
.GRN(LEDg),
.alarm(bus.AlarmAmpel)
);
assign AlarmAmpel = bus.AlarmAmpel;
endmodule
+5
View File
@@ -0,0 +1,5 @@
`include "Top.sv"
module tb_Top;
endmodule
Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

@@ -5,6 +5,45 @@
Soft IP Version: 1.0.0 Soft IP Version: 1.0.0
2022 05 31 12:27:15 2022 05 31 12:27:15
*******************************************************************************/ *******************************************************************************/
/*******************************************************************************
SPI Interface Ports
trying to follow instructions from:
https://www.chipverify.com/systemverilog/systemverilog-interface
*******************************************************************************/
interface spi_interface_ports (input clk);
// Connection to BUS side (internal)
// Inputs from BUS
logic sb_clk_i; // Clock
logic sb_stb_i; // Chip Select from FRAM-Controller who is SPI-Master
logic sb_wr_i; // Write/Read from FRAM-Controller
logic sb_adr_i[7:0]; // Adddress from FRAM-Controller
logic sb_dat_i[7:0]; // Data in from FRAM-Controller
// Outputs to BUS
logic sb_dat_o[7:0]; // Data out to FRAM-Controller
logic sb_ack_o; // ACK to FRAM-Controller
// Connection to SPI side (external)
logic spi1_mosi_io; // MasterOutSlaveIn --> Master to Slave
logic spi1_miso_io; // MasterInSlaveOut --> Slave to Master
logic spi1_mcs_n_o[3:0]; // MasterChipSelect --> Master selects Slave
logic spi1_sck_io; // Clock for SPI-Slave
// MODPORT form BUS perspective (internal)
// modport output from BUS (internal)
modport BUS (output sb_clk_i, sb_stb_i, sb_wr_i, sb_adr_i[7:0], sb_dat_i[7:0], spi1_miso_io);
// modport input to BUS (internal)
modport BUS (input sb_dat_o[7:0], sb_ack_o, spi1_mosi_io, spi1_mcs_n_o[3:0], spi_sck_io);
// MODPORT from SPI perspective (external)
// modport output from SPI (external)
modport SPI (output spi1_miso_io);
// modport input to SPI (external)
modport SPI (input spi1_mosi_io, spi1_mcs_n_o[3:0], spi_sck_io);
endinterface
/******************************************************************************* /*******************************************************************************
Wrapper Module generated per user settings. Wrapper Module generated per user settings.
*******************************************************************************/ *******************************************************************************/