From d2b8c31705f0306e07ffbcda74b2f09f00825277 Mon Sep 17 00:00:00 2001 From: Niklas Boese Date: Thu, 11 May 2023 10:42:12 +0000 Subject: [PATCH] rgb_led_top.sv --- Ampel | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Ampel diff --git a/Ampel b/Ampel new file mode 100644 index 0000000..55b9058 --- /dev/null +++ b/Ampel @@ -0,0 +1,57 @@ +module led_top ( +input wire clk12M, +input wire rst, +input wire [1:0] color_sel, +input wire rw, +output reg REDn, +output reg BLUn, +output reg GRNn, +output reg RED, +output reg BLU, +output reg GRN +); + +wire red_pwm; +wire grn_pwm; +wire blu_pwm; + +//parameter on_hi = 2'b10; +//parameter on_lo = 2'b01; +//parameter off = 2'b00; +//parameter LED_OFF = 2'b00; +//parameter RAMP_UP = 2'b01; +//parameter LED_ON = 2'b10; +//parameter RAMP_DOWN = 2'b11; +//parameter on_max_cnt = 28'h16E35ED; // 1 sec steady +//parameter [3:0] Brightness=4'b0111; //50% Brightness +//parameter [3:0] BreatheRamp=4'b0110; //2x +//parameter [3:0] BlinkRate=4'b0101; //1sec +//parameter string RGB0_CURRENT = "0b111111"; +//parameter string RGB1_CURRENT = "0b111111"; +//parameter string RGB2_CURRENT = "0b111111"; +defparam U1.on_hi = 2'b10; +defparam U1.on_lo = 2'b01; +defparam U1.off = 2'b00; +defparam U1.LED_OFF = 2'b00; +defparam U1.RAMP_UP = 2'b01; +defparam U1.LED_ON = 2'b10; +defparam U1.RAMP_DOWN = 2'b11; +defparam U1.on_max_cnt = 28'h16E35ED; // 1 sec steady +defparam U1.Brightness = 4'b0111; // 50% Brightness +defparam U1.BreatheRamp = 4'b0110; // 2x +defparam U1.BlinkRate = 4'b0101; // 1 sec +defparam U2.RGB0_CURRENT = "0b111111"; +defparam U2.RGB1_CURRENT = "0b111111"; +defparam U2.RGB2_CURRENT = "0b111111"; + +LED_control1 U1 (.clk12M(clk12M),.rst(rst),.color_sel(color_sel),.rw(rw),.red_pwm(red_pwm),.blu_pwm(blu_pwm),.grn_pwm(grn_pwm)); + + +RGB U2 (.CURREN('b1),.RGB0PWM(blu_pwm),.RGB1PWM(grn_pwm),.RGB2PWM(red_pwm),.RGBLEDEN('b1),.RGB0(BLUn),.RGB1(GRNn),.RGB2(REDn)); + +assign RED = red_pwm; +assign GRN = grn_pwm; +assign BLU = blu_pwm; + +endmodule +