|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- //------------------------------------------------------
- //
- // File : stimuli.sv
- // Related Files :
- // Author(s) : Mueller
- // Email : muelleral82290@th-nuernberg.de
- // Organization : Georg-Simon-Ohm-Hochschule Nuernberg
- // Notes : Stimuli Modul
- //
- //------------------------------------------------------
- // History
- //------------------------------------------------------
- // Version| Author | Mod. Date | Changes Made:
- // v1.00 | Mueller | 11/05/2023 | first code
- //------------------------------------------------------
-
- //interface for LED
- //reg [2:0]rbg stores rgb values that depend on dip[3:2]
-
- //interface for DIPSCHALER
- // dip[3:2] -> select colour, dip[1] -> read ~ 1/write ~ 0, dip[0] -> on ~ 1/off ~ 0
-
- //interface for FRAM
- // sck -> 0 ~ cummonication enabled, 1 ~ communication disabled
- // clk -> system clock / timer
- // miso -> testbench output
- // mosi -> testbench input
-
- //testbenchclock replaces the oscillator on the board
-
- // 27.04.23 -> #delay/#oszillatordelay is not set jet
- // 09.06.23 -> removed fram_if.fram_port_stim fram_spi from the stimuli parameters, moved to "fram_module"
- // 09.06.23 -> oszillatordelay = 1, delay = 5
-
- `timescale 10ns/10ps
-
- module stimuli(led_if.led_port_stim led_stim, dip_if.dip_port_stim dip_stim, clock_if.clock_port_stim clk_stim);
-
- // generate oszillator signal for the timer block (clock_if)
- reg oszillator;
-
- initial oszillator = 0;
-
- always
- begin
- #1 oszillator <= ! oszillator;
- clk_stim.clk <= ! oszillator;
- end
-
-
- initial
- begin
-
- /*~~~~toplevel is set to off~~~~~~~~*/
- /*~~~~dip[0] is set to 0~~~~~~~~~~~~*/
- dip_stim.dip = 4'b0000;
- #500 dip_stim.dip = 4'b0010;
- #500 dip_stim.dip = 4'b0100;
- #500 dip_stim.dip = 4'b0110;
- #500 dip_stim.dip = 4'b1000;
- #500 dip_stim.dip = 4'b1010;
- #500 dip_stim.dip = 4'b1100;
- #500 dip_stim.dip = 4'b1110;
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
- /*~~~~toplevel is set to on~~~~~~~~~*/
- /*~~~~dip[0] is set to 1~~~~~~~~~~~~*/
-
- /*~~fram is set to write~~~~~~~~*/
- /*~~~~dip[1] is set to 0~~~~~~~~*/
- #800 dip_stim.dip = 4'b0001;
- #2000 dip_stim.dip = 4'b0101;
- #2000 dip_stim.dip = 4'b1001;
- #2000 dip_stim.dip = 4'b1101;
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
- /*~~fram is set to read~~~~~~~~~*/
- /*~~~~dip[1] is set to 1~~~~~~~~*/
- #2000 dip_stim.dip = 4'b0011;
- #2000 dip_stim.dip = 4'b0111;
- #2000 dip_stim.dip = 4'b1011;
- #2000 dip_stim.dip = 4'b1111;
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
- /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
- end
-
- endmodule : stimuli
-
-
-
|