From cf6a8716f6785ccf9b3e4edee4eb36aea8c184b0 Mon Sep 17 00:00:00 2001 From: hakan-demirli <78746991+hakan-demirli@users.noreply.github.com> Date: Sun, 7 Mar 2021 23:12:22 +0300 Subject: [PATCH] Add files via upload --- PID_UART/PID.v | 159 +++++++++++++++ PID_UART/PWM.v | 29 +++ PID_UART/RX.v | 141 +++++++++++++ PID_UART/SIGNAL_GENERATOR.v | 111 ++++++++++ PID_UART/TIMER.v | 26 +++ PID_UART/TOP.v | 214 ++++++++++++++++++++ PID_UART/TX.v | 150 ++++++++++++++ PID_UART/TX_DATA_COLLECTION_STATE_MACHINE.v | 82 ++++++++ PID_UART/UA.qpf | 30 +++ PID_UART/UA.qsf | 100 +++++++++ PID_UART/UA.qws | Bin 0 -> 2660 bytes PID_UART/UA.sdc | 41 ++++ PID_UART/UA.srf | 3 + PID_UART/clock_constraint.sdc | 6 + PID_UART/output_files/UA.pof | Bin 0 -> 2097373 bytes PID_UART/output_files/UA.sof | Bin 0 -> 841425 bytes 16 files changed, 1092 insertions(+) create mode 100644 PID_UART/PID.v create mode 100644 PID_UART/PWM.v create mode 100644 PID_UART/RX.v create mode 100644 PID_UART/SIGNAL_GENERATOR.v create mode 100644 PID_UART/TIMER.v create mode 100644 PID_UART/TOP.v create mode 100644 PID_UART/TX.v create mode 100644 PID_UART/TX_DATA_COLLECTION_STATE_MACHINE.v create mode 100644 PID_UART/UA.qpf create mode 100644 PID_UART/UA.qsf create mode 100644 PID_UART/UA.qws create mode 100644 PID_UART/UA.sdc create mode 100644 PID_UART/UA.srf create mode 100644 PID_UART/clock_constraint.sdc create mode 100644 PID_UART/output_files/UA.pof create mode 100644 PID_UART/output_files/UA.sof diff --git a/PID_UART/PID.v b/PID_UART/PID.v new file mode 100644 index 0000000..ea5df95 --- /dev/null +++ b/PID_UART/PID.v @@ -0,0 +1,159 @@ +module PID( + input i_Clk, + input [13:0]number_of_pulses, + input [4:0]SW, + input PID_timer, + output reset_nop_0, + input reset, + output [13:0]signal_dc, + input [35:0] KP, + input [35:0] KI, + input [35:0] KD + ///////DEBUG/////// + //output [2:0]state_pid + /////////////////// +); + + reg reset_nop; + assign reset_nop_0 = reset_nop; + + reg [2:0]PID_STATE; + reg [35:0]sample_data; + wire [35:0]mult_out_0, mult_out_1, mult_out_2, mult_out_3; + reg [35:0]mult_out_0_reg, mult_out_1_reg, mult_out_2_reg, mult_out_3_reg; + wire [71:0]mult_step_0, mult_step_1, mult_step_2, mult_step_3; + reg [35:0]current_speed, desired_speed; + reg [35:0]e_speed ,e_speed_pre, e_speed_sum, e_speed_de, pwm_pulse; + reg [13:0]dc_out; + + ///////DEBUG/////// + //assign state_pid = PID_STATE; + /////////////////// + + parameter WAIT_TIME = 3'd0, + CALCULATE_PWM_0 = 3'd1, + CALCULATE_PWM_1 = 3'd2, + CALCULATE_PWM_2 = 3'd3, + CALCULATE_PWM_3 = 3'd4, + CALCULATE_PWM_4 = 3'd5, + CALCULATE_PWM_5 = 3'd6, + LIMIT_CHECK = 3'd7; + + parameter FP_36_9_d10 = 36'b1010_000_000_000; + /* + KP = 36'b0_1011_1111_1010_000_000_000, + KI = 36'b0_1111_1101_1010_000_000_000, + KD = 36'b0_1111_1111_1001_000_000_000; + */ + // FIXED POINT NUMBERS 36 BIT, 1 SIGN 26 DECIMAL 9 FRACTION + /////////////////////////////////////////////////// + + //pwm_pulse = e_speed*kp + e_speed_sum*ki + e_speed_de*kd; + assign signal_dc = dc_out; + + always@(posedge i_Clk) + begin + case(PID_STATE) + WAIT_TIME: begin + if(reset)begin + PID_STATE <= WAIT_TIME; + reset_nop <= 1'b1; + e_speed_pre <= 0; + e_speed <= 0; + e_speed_sum <= 0; + pwm_pulse <= 0; + dc_out <= 0; + end + else if(PID_timer)begin + sample_data <= {1'b0, 12'b0, number_of_pulses, 9'b0}; + desired_speed <= {1'b0, 21'b0, SW[4:0], 9'b0}; + reset_nop <= 1'b1; + PID_STATE <= CALCULATE_PWM_0; + end + else begin + reset_nop <= 1'b0; + PID_STATE <= WAIT_TIME; + dc_out <= pwm_pulse[22:9]; + end + end + CALCULATE_PWM_0: begin + mult_out_0_reg <= mult_out_0; + PID_STATE <= CALCULATE_PWM_1; + end + CALCULATE_PWM_1: begin + current_speed <= mult_out_0_reg >> 9; + PID_STATE <= CALCULATE_PWM_2; + end + CALCULATE_PWM_2: begin + e_speed <= desired_speed - current_speed; + PID_STATE <= CALCULATE_PWM_3; + end + CALCULATE_PWM_3: begin + mult_out_1_reg <= mult_out_1; + mult_out_2_reg <= mult_out_2; + e_speed_de <= (e_speed - e_speed_pre); + PID_STATE <= CALCULATE_PWM_4; + end + CALCULATE_PWM_4: begin + mult_out_3_reg <= mult_out_3; + pwm_pulse <= mult_out_2_reg + mult_out_1_reg; + PID_STATE <= CALCULATE_PWM_5; + end + CALCULATE_PWM_5: begin + pwm_pulse <= pwm_pulse + mult_out_3_reg; + e_speed_pre <= e_speed; //save last (previous) error + e_speed_sum <= e_speed_sum + e_speed; //sum of error + PID_STATE <= LIMIT_CHECK; + end + LIMIT_CHECK: begin + if(pwm_pulse[22:9] > 14'd10_000) begin + pwm_pulse[22:9] <= 14'd10_000; + end + PID_STATE <= WAIT_TIME; + end + default: begin + PID_STATE <= WAIT_TIME; + end + endcase + end + + assign mult_step_0 = $signed(sample_data) * $signed(FP_36_9_d10); + assign mult_out_0 = {mult_step_0[71], mult_step_0[43:9]}; + + assign mult_step_1 = $signed(e_speed) * $signed(KP); + assign mult_out_1 = {mult_step_1[71], mult_step_1[43:9]}; + + assign mult_step_2 = $signed(e_speed_sum) * $signed(KI); + assign mult_out_2 = {mult_step_2[71], mult_step_2[43:9]}; + + assign mult_step_3 = $signed(e_speed_de) * $signed(KD); + assign mult_out_3 = {mult_step_3[71], mult_step_3[43:9]}; + + ///////DEBUG/////// + /* + wire [26:0]sample_data_D; + wire [26:0]mult_out_0_reg_D, mult_out_1_reg_D, mult_out_2_reg_D, mult_out_3_reg_D; + wire [26:0]current_speed_D, desired_speed_D; + wire [26:0]e_speed_D ,e_speed_pre_D, e_speed_sum_D, e_speed_de_D; + wire [26:0]KP_D, KI_D, KD_D; + assign sample_data_D = sample_data[35:9]; + + assign mult_out_0_reg_D = mult_out_0_reg[35:9]; + assign mult_out_1_reg_D = mult_out_1_reg[35:9]; + assign mult_out_2_reg_D = mult_out_2_reg[35:9]; + assign mult_out_3_reg_D = mult_out_3_reg[35:9]; + + assign current_speed_D = current_speed[35:9]; + assign desired_speed_D = desired_speed[35:9]; + + assign e_speed_D = e_speed[35:9]; + assign e_speed_pre_D = e_speed_pre[35:9]; + assign e_speed_sum_D = e_speed_sum[35:9]; + assign e_speed_de_D = e_speed_de[35:9]; + + assign KP_D = KP[35:9]; + assign KI_D = KI[35:9]; + assign KD_D = KD[35:9]; + */ + ////////////////////////////////////// +endmodule \ No newline at end of file diff --git a/PID_UART/PWM.v b/PID_UART/PWM.v new file mode 100644 index 0000000..27d501d --- /dev/null +++ b/PID_UART/PWM.v @@ -0,0 +1,29 @@ +module PWM( +input clk, +output PWM_signal, +input [13:0]DC +); + + +parameter PWM_ONE = 14'b1; +parameter PWM_ZERO = 14'b0; +reg [13:0]PWM_counter; + +reg PWM_signal_0; +assign PWM_signal = PWM_signal_0; +////parameter DUTY_CYCLE = 12'b0001_1111_0100; //%25 dtycycle +parameter RESOLUTION = 14'b10_0111_0001_0000; //10000 dtycycle>> 5khz + +always@(posedge clk) +begin + if(PWM_counter < RESOLUTION) + PWM_counter <= PWM_counter + PWM_ONE; + else + PWM_counter <= PWM_ZERO; + + if((PWM_counter <= DC) && (PWM_counter != 14'b0)) + PWM_signal_0 <= 1'b1; + else + PWM_signal_0 <= 1'b0; +end +endmodule \ No newline at end of file diff --git a/PID_UART/RX.v b/PID_UART/RX.v new file mode 100644 index 0000000..1f0f7d4 --- /dev/null +++ b/PID_UART/RX.v @@ -0,0 +1,141 @@ +////////////////////////////////////////////////////////////////////// +// File Downloaded from http://www.nandland.com +////////////////////////////////////////////////////////////////////// +// This file contains the UART Receiver. This receiver is able to +// receive 8 bits of serial data, one start bit, one stop bit, +// and no parity bit. When receive is complete o_rx_dv will be +// driven high for one clock cycle. pp +// +// Set Parameter CLKS_PER_BIT as follows: +// CLKS_PER_BIT = (Frequency of i_Clock)/(Frequency of UART) +// Example: 25 MHz Clock, 115200 baud UART +// (25000000)/(115200) = 217 +////////////////////////////////////////////////////////////////////// +// Edited by Emre Hakan Demirli 03/02/2021 +// Changed Content(s): r_Clock_Count +////////////////////////////////////////////////////////////////////// +module UART_RX + #(parameter CLKS_PER_BIT = 217) + ( + input i_Clock, + input i_RX_Serial, + output o_RX_DV, + output [7:0] o_RX_Byte + ); + + parameter IDLE = 3'b000; + parameter RX_START_BIT = 3'b001; + parameter RX_DATA_BITS = 3'b010; + parameter RX_STOP_BIT = 3'b011; + parameter CLEANUP = 3'b100; + + reg [13:0] r_Clock_Count = 0; + reg [2:0] r_Bit_Index = 0; //8 bits total + reg [7:0] r_RX_Byte = 0; + reg r_RX_DV = 0; + reg [2:0] r_SM_Main = 0; + + + // Purpose: Control RX state machine + always @(posedge i_Clock) + begin + + case (r_SM_Main) + IDLE : + begin + r_RX_DV <= 1'b0; + r_Clock_Count <= 0; + r_Bit_Index <= 0; + + if (i_RX_Serial == 1'b0) // Start bit detected + r_SM_Main <= RX_START_BIT; + else + r_SM_Main <= IDLE; + end + + // Check middle of start bit to make sure it's still low + RX_START_BIT : + begin + if (r_Clock_Count == (CLKS_PER_BIT-1)/2) + begin + if (i_RX_Serial == 1'b0) + begin + r_Clock_Count <= 0; // reset counter, found the middle + r_SM_Main <= RX_DATA_BITS; + end + else + r_SM_Main <= IDLE; + end + else + begin + r_Clock_Count <= r_Clock_Count + 1; + r_SM_Main <= RX_START_BIT; + end + end // case: RX_START_BIT + + + // Wait CLKS_PER_BIT-1 clock cycles to sample serial data + RX_DATA_BITS : + begin + if (r_Clock_Count < CLKS_PER_BIT-1) + begin + r_Clock_Count <= r_Clock_Count + 1; + r_SM_Main <= RX_DATA_BITS; + end + else + begin + r_Clock_Count <= 0; + r_RX_Byte[r_Bit_Index] <= i_RX_Serial; + + // Check if we have received all bits + if (r_Bit_Index < 7) + begin + r_Bit_Index <= r_Bit_Index + 1; + r_SM_Main <= RX_DATA_BITS; + end + else + begin + r_Bit_Index <= 0; + r_SM_Main <= RX_STOP_BIT; + end + end + end // case: RX_DATA_BITS + + + // Receive Stop bit. Stop bit = 1 + RX_STOP_BIT : + begin + // Wait CLKS_PER_BIT-1 clock cycles for Stop bit to finish + if (r_Clock_Count < CLKS_PER_BIT-1) + begin + r_Clock_Count <= r_Clock_Count + 1; + r_SM_Main <= RX_STOP_BIT; + end + else + begin + r_RX_DV <= 1'b1; + r_Clock_Count <= 0; + //r_SM_Main <= CLEANUP; + r_SM_Main <= IDLE; + end + end // case: RX_STOP_BIT + + + // Stay here 1 clock + CLEANUP : + begin + r_SM_Main <= IDLE; + r_RX_DV <= 1'b0; + end + + + default : + r_SM_Main <= IDLE; + + endcase + end + + assign o_RX_DV = r_RX_DV; + assign o_RX_Byte = r_RX_Byte; + +endmodule // UART_RX diff --git a/PID_UART/SIGNAL_GENERATOR.v b/PID_UART/SIGNAL_GENERATOR.v new file mode 100644 index 0000000..15e0e29 --- /dev/null +++ b/PID_UART/SIGNAL_GENERATOR.v @@ -0,0 +1,111 @@ + +module SIGNAL_GENERATOR( + output [13:0]signal_dc, + input SW, + input i_Clk +); +parameter WAIT = 1'b0, + OUT = 1'b1; +reg siggen_state; +reg [13:0]signal_dc_0; +assign signal_dc = signal_dc_0; + +reg [23:0]counter; +reg [3:0]signal_state; + +always@(posedge i_Clk) +begin + case(siggen_state) + WAIT:begin + counter <= 0; + if(SW == 1'b1) + siggen_state <= OUT; + else + siggen_state <= WAIT; + end + OUT:begin + if(signal_state == 4'd14)begin + counter = 24'b0; + signal_state = 4'b0; + siggen_state <= WAIT; + end + else if(counter == 24'd5_000_000)begin + counter = 24'b0; + signal_state <= signal_state + 4'b1; + siggen_state <= OUT; + end + else begin + siggen_state <= OUT; + counter = counter + 24'b1; + end + end + default: begin + signal_state <= 4'd0; + siggen_state <= WAIT; + end + endcase +end + +always@(posedge i_Clk)//SIGNALS +begin + case(signal_state) + 4'd0: signal_dc_0 = 14'h0000; + 4'd1: signal_dc_0 = 14'h2707; + 4'd2: signal_dc_0 = 14'h06AF; + 4'd3: signal_dc_0 = 14'h0146; + 4'd4: signal_dc_0 = 14'h15EC; + 4'd5: signal_dc_0 = 14'h2273; + 4'd6: signal_dc_0 = 14'h2710; + 4'd7: signal_dc_0 = 14'h0770; + 4'd8: signal_dc_0 = 14'h0E69; + 4'd9: signal_dc_0 = 14'h11FF; + 4'd10: signal_dc_0 = 14'h2658; + 4'd11: signal_dc_0 = 14'h061C; + 4'd12: signal_dc_0 = 14'h216B; + 4'd13: signal_dc_0 = 14'h1930; + default: + signal_dc_0 = 14'h0000; + endcase +end +endmodule//END OF SIGNAL_GENERATOR + +//////////////////////////////////////// +///////////COPY PASTE TRASH///////////// +//////////////DONT CARE///////////////// +//////////////////////////////////////// +/* +Original_input_1 = + 4'd0: signal_dc_0 = 14'h0000; + 4'd1: signal_dc_0 = 14'h0762; + 4'd2: signal_dc_0 = 14'h1AD4; + 4'd3: signal_dc_0 = 14'h072B; + 4'd4: signal_dc_0 = 14'h0E65; + 4'd5: signal_dc_0 = 14'h1870; + 4'd6: signal_dc_0 = 14'h2710; + 4'd7: signal_dc_0 = 14'h032B; + 4'd8: signal_dc_0 = 14'h244E; + 4'd9: signal_dc_0 = 14'h1E4D; + 4'd10: signal_dc_0 = 14'h1304; + 4'd11: signal_dc_0 = 14'h1107; + 4'd12: signal_dc_0 = 14'h1174; + 4'd13: signal_dc_0 = 14'h0BF7; + + + + + //delayed_signal[0] <= number_of_ticks[0]; +// delayed_signal[1] <= number_of_ticks[1]; + // delayed_signal[2] <= number_of_ticks[2]; + // delayed_signal[3] <= number_of_ticks[3]; + // delayed_signal[4] <= number_of_ticks[4]; + //delayed_signal[5] <= number_of_ticks[5]; + //delayed_signal[6] <= number_of_ticks[6]; + //delayed_signal[7] <= number_of_ticks[7]; + + + + + + + +*/ diff --git a/PID_UART/TIMER.v b/PID_UART/TIMER.v new file mode 100644 index 0000000..2e5e82a --- /dev/null +++ b/PID_UART/TIMER.v @@ -0,0 +1,26 @@ +module TIMER( + input clk, + input reset_timer, + output [63:0]counter_timer, + output overflow +); + reg [63:0]counter_timer_0; + reg overflow_0; + assign counter_timer = counter_timer_0; + assign overflow = overflow_0; + always@(posedge clk) + begin + if(reset_timer) + begin + counter_timer_0 <= 64'b0; + overflow_0 <= 1'b0; + end + else if(counter_timer_0 == 64'hFFFF_FFFF_FFFF_FFFF) + overflow_0 <= 1'b1; + else + begin + counter_timer_0 <= counter_timer_0 + 64'b1; + overflow_0 <= 1'b0; + end + end +endmodule \ No newline at end of file diff --git a/PID_UART/TOP.v b/PID_UART/TOP.v new file mode 100644 index 0000000..2b7180c --- /dev/null +++ b/PID_UART/TOP.v @@ -0,0 +1,214 @@ +module TOP( + input i_Clk, + input i_UART_RX, + output o_UART_TX, + output [7:0] LEDG, + input [1:0] GPIO_AB, // GPIO_AB[0] = A, GPIO_AB[1] = B + output GPIO_PWM, + input [14:0] SW + ///////DEBUG/////// + //output [2:0]state_pid + //output state_TX_0, + //output signal_dc +); + + /////////////////////////////////// + ////////////// DEBUG ////////////// + /////////////////////////////////// + //wire i_UART_RX; + + /////////////////////////////////// + ////////////// UART /////////////// + /////////////////////////////////// + reg [7:0]led; + assign LEDG = led; + + wire done; + wire w_RX_DV; + wire w_TX_DV; + wire w_TX_DV_0; + wire [7:0] w_RX_Byte; + wire [7:0] w_TX_Byte; + wire w_TX_Active, w_TX_Serial; + + assign w_TX_DV = w_TX_DV_0 && SW[14]; + // 50,000,000 / 115,200 = 434 + UART_RX #(.CLKS_PER_BIT(434)) UART_RX_Inst + (.i_Clock(i_Clk), + .i_RX_Serial(i_UART_RX), + .o_RX_DV(w_RX_DV), + .o_RX_Byte(w_RX_Byte)); + + UART_TX #(.CLKS_PER_BIT(434)) UART_TX_Inst + (.i_Clock(i_Clk), + .i_TX_DV(w_TX_DV), // Data Ready, Start the transfer by driving this high. + .i_TX_Byte(w_TX_Byte), // Data, To be send. + .o_TX_Active(w_TX_Active), // TX is in use when high. + .o_TX_Serial(w_TX_Serial), // Physical serial wire that transfer the data. + .o_TX_Done(done)); // High for one cycle after the transfer. + + assign o_UART_TX = w_TX_Active ? w_TX_Serial : 1'b1; + // Drive UART line high when transmitter is not active + + reg [63:0]number_of_ticks; + TX_DATA_COLLECTION_STATE_MACHINE TXDCSM_0( + .i_Clk(i_Clk), + .number_of_ticks(number_of_ticks), + .w_TX_Active(w_TX_Active), + .w_TX_DV(w_TX_DV_0), + .w_TX_Byte_reg(w_TX_Byte) + ); +/* + always@(posedge i_Clk) + begin + //w_TX_DV <= w_RX_DV;// for echo, connect the data too. + end + */ + /////////////////////////////////// + + /////////////////////////////////// + /////////////// PWM /////////////// + /////////////////////////////////// + wire [13:0]signal_dc; + PWM pwm_0(.clk(i_Clk), + .PWM_signal(GPIO_PWM), + .DC(signal_dc)); +/* + SIGNAL_GENERATOR sg_0( + .signal_dc(signal_dc), + .SW(SW[14]), + .i_Clk(i_Clk) + ); + */ + reg reset; + reg [7:0]FIFO[7:0]; + reg [35:0] KI, KP, KD; + always@(posedge i_Clk) + begin + if(w_RX_DV) begin + FIFO[7] <= FIFO[6]; + FIFO[6] <= FIFO[5]; + FIFO[5] <= FIFO[4]; + FIFO[4] <= FIFO[3]; + FIFO[3] <= FIFO[2]; + FIFO[2] <= FIFO[1]; + FIFO[1] <= FIFO[0]; + FIFO[0] <= w_RX_Byte; + end + else if((FIFO[7] == 8'hAA) && (FIFO[0] == 8'hBB)) begin + led <= KD[7:0]; + if(FIFO[6] == 8'd0) begin + reset <= 1'b1; + end + else if(FIFO[6] == 8'd1) begin + KP <= {FIFO[5][3:0],FIFO[4],FIFO[3],FIFO[2],FIFO[1]}; + end + else if(FIFO[6] == 8'd2) begin + KD <= {FIFO[5][3:0],FIFO[4],FIFO[3],FIFO[2],FIFO[1]}; + end + else if(FIFO[6] == 8'd3) begin + KI <= {FIFO[5][3:0],FIFO[4],FIFO[3],FIFO[2],FIFO[1]}; + end + else begin + reset <= 1'b0; + end + end + end + /////////////////////////////////// + + /////////////////////////////////// + ///////////// TIMERS ////////////// + /////////////////////////////////// + reg reset_timer_0; + wire [63:0]counter_timer_0; + wire timer_0_overflow; + + TIMER timer_0( .clk(i_Clk), + .reset_timer(reset_timer_0), + .counter_timer(counter_timer_0), + .overflow(timer_0_overflow)); + + reg reset_timer_1; + wire [63:0]counter_timer_1; + wire timer_1_overflow; + TIMER timer_1( .clk(i_Clk), + .reset_timer(reset_timer_1), + .counter_timer(counter_timer_1), + .overflow(timer_1_overflow)); + + /////////////////////////////////// + + /////////////////////////////////// + //////// SPEED CALCULATIONS /////// + /////////////////////////////////// + //integer i; + reg [1:0]GPIO_AB_p; + reg [1:0]GPIO_AB_c; + reg [13:0]number_of_pulses; + wire reset_nop_0; + reg reset_nop_1; + + always@(posedge i_Clk) begin + GPIO_AB_c <= GPIO_AB; + GPIO_AB_p <= GPIO_AB_c; + reset_nop_1 <= reset_nop_0; + if(reset_nop_1) begin + number_of_pulses <= 0; + end + else begin + if(GPIO_AB_c[0] == 1'b1 && 1'b0 == GPIO_AB_p[0]) + begin + number_of_pulses = number_of_pulses + 14'b1; + number_of_ticks <= counter_timer_0; + reset_timer_0 <= 1'b1; + end + else begin + reset_timer_0 <= 1'b0; + end + end + end + /////////////////////////////////// + + /////////////////////////////////// + ////////// PID CONTROL //////////// + /////////////////////////////////// + reg PID_timer; + PID PID_0( + .i_Clk(i_Clk), + .number_of_pulses(number_of_pulses), + .SW(SW[4:0]), + .PID_timer(PID_timer), + .reset_nop_0(reset_nop_0), + .reset(reset), + .signal_dc(signal_dc), + .KP(KP), + .KI(KI), + .KD(KD) + /////DEBUG////// + //.state_pid(state_pid) + ); + + parameter HUNDERED_MILISECONDS = 64'd5_000_000; + always@(posedge i_Clk)begin + if(reset) begin + reset_timer_1 <= 1'b1; + end + else if(counter_timer_1 == HUNDERED_MILISECONDS) begin + PID_timer <= 1'b1; + reset_timer_1 <= 1'b1; + end + else begin + PID_timer <= 1'b0; + reset_timer_1 <= 1'b0; + end + end + +endmodule + +//////////////////////////////////////// +///////////COPY PASTE TRASH///////////// +//////////////DONT CARE///////////////// +//////////////////////////////////////// +/* + +*/ \ No newline at end of file diff --git a/PID_UART/TX.v b/PID_UART/TX.v new file mode 100644 index 0000000..c4e8da7 --- /dev/null +++ b/PID_UART/TX.v @@ -0,0 +1,150 @@ +////////////////////////////////////////////////////////////////////// +// File Downloaded from http://www.nandland.com +////////////////////////////////////////////////////////////////////// +// This file contains the UART Transmitter. This transmitter is able +// to transmit 8 bits of serial data, one start bit, one stop bit, +// and no parity bit. When transmit is complete o_Tx_done will be +// driven high for one clock cycle. +// +// Set Parameter CLKS_PER_BIT as follows: +// CLKS_PER_BIT = (Frequency of i_Clock)/(Fre quency of UART) +// Example: 25 MHz Clock, 115200 baud UART +// (25000000)/(115200) = 217 +////////////////////////////////////////////////////////////////////// +// Edited by Emre Hakan Demirli 03/02/2021 +// Changed Content(s): r_Clock_Count +////////////////////////////////////////////////////////////////////// +module UART_TX + #(parameter CLKS_PER_BIT = 217) + ( + input i_Clock, + input i_TX_DV, + input [7:0] i_TX_Byte, + output o_TX_Active, + output reg o_TX_Serial, + output o_TX_Done + ); + + parameter IDLE = 3'b000; + parameter TX_START_BIT = 3'b001; + parameter TX_DATA_BITS = 3'b010; + parameter TX_STOP_BIT = 3'b011; + parameter CLEANUP = 3'b100; + + reg [2:0] r_SM_Main = 0; + reg [13:0] r_Clock_Count = 0; + reg [2:0] r_Bit_Index = 0; + reg [7:0] r_TX_Data = 0; + reg r_TX_Done = 0; + reg r_TX_Active = 0; + + always @(posedge i_Clock) + begin + + case (r_SM_Main) + IDLE : + begin + o_TX_Serial <= 1'b1; // Drive Line High for Idle + r_TX_Done <= 1'b0; + r_Clock_Count <= 0; + r_Bit_Index <= 0; + + if (i_TX_DV == 1'b1) + begin + r_TX_Active <= 1'b1; + r_TX_Data <= i_TX_Byte; + r_SM_Main <= TX_START_BIT; + end + else + r_SM_Main <= IDLE; + end // case: IDLE + + + // Send out Start Bit. Start bit = 0 + TX_START_BIT : + begin + o_TX_Serial <= 1'b0; + + // Wait CLKS_PER_BIT-1 clock cycles for start bit to finish + if (r_Clock_Count < CLKS_PER_BIT-1) + begin + r_Clock_Count <= r_Clock_Count + 1; + r_SM_Main <= TX_START_BIT; + end + else + begin + r_Clock_Count <= 0; + r_SM_Main <= TX_DATA_BITS; + end + end // case: TX_START_BIT + + + // Wait CLKS_PER_BIT-1 clock cycles for data bits to finish + TX_DATA_BITS : + begin + o_TX_Serial <= r_TX_Data[r_Bit_Index]; + + if (r_Clock_Count < CLKS_PER_BIT-1) + begin + r_Clock_Count <= r_Clock_Count + 1; + r_SM_Main <= TX_DATA_BITS; + end + else + begin + r_Clock_Count <= 0; + + // Check if we have sent out all bits + if (r_Bit_Index < 7) + begin + r_Bit_Index <= r_Bit_Index + 1; + r_SM_Main <= TX_DATA_BITS; + end + else + begin + r_Bit_Index <= 0; + r_SM_Main <= TX_STOP_BIT; + end + end + end // case: TX_DATA_BITS + + + // Send out Stop bit. Stop bit = 1 + TX_STOP_BIT : + begin + o_TX_Serial <= 1'b1; + + // Wait CLKS_PER_BIT-1 clock cycles for Stop bit to finish + if (r_Clock_Count < CLKS_PER_BIT-1) + begin + r_Clock_Count <= r_Clock_Count + 1; + r_SM_Main <= TX_STOP_BIT; + end + else + begin + r_TX_Done <= 1'b1; + r_Clock_Count <= 0; + //r_SM_Main <= CLEANUP; + r_SM_Main <= IDLE; + r_TX_Active <= 1'b0; + end + end // case: TX_STOP_BIT + + + // Stay here 1 clock + CLEANUP : + begin + r_TX_Done <= 1'b1; + r_SM_Main <= IDLE; + end + + + default : + r_SM_Main <= IDLE; + + endcase + end + + assign o_TX_Active = r_TX_Active; + assign o_TX_Done = r_TX_Done; + +endmodule diff --git a/PID_UART/TX_DATA_COLLECTION_STATE_MACHINE.v b/PID_UART/TX_DATA_COLLECTION_STATE_MACHINE.v new file mode 100644 index 0000000..cc9ec64 --- /dev/null +++ b/PID_UART/TX_DATA_COLLECTION_STATE_MACHINE.v @@ -0,0 +1,82 @@ +module TX_DATA_COLLECTION_STATE_MACHINE( + input i_Clk, + input [63:0]number_of_ticks, + input w_TX_Active, + output w_TX_DV, + output [7:0]w_TX_Byte_reg +); + + reg [3:0]byte_counter; + reg [7:0]store_nt[7:0]; + reg [7:0]w_TX_Byte_reg_0; + reg [2:0]state_TX; + reg w_TX_DV_0; + + parameter WAIT_TX = 3'd0, + START = 3'd1, + SEND = 3'd2, + DATA_VALID = 3'd3, + WAIT_DONE = 3'd4, + WAIT_CYCLE = 3'd5; + + assign w_TX_Byte_reg = w_TX_Byte_reg_0; + assign w_TX_DV = w_TX_DV_0; + + always@(posedge i_Clk) + begin + case(state_TX) + WAIT_TX: begin + w_TX_DV_0 <= 1'b0; + if(w_TX_Active == 1'b1) + state_TX <= WAIT_TX; + else + state_TX <= START; + end + START: begin + store_nt[0] <= 8'hBB; + store_nt[1] <= number_of_ticks[7:0]; + store_nt[2] <= number_of_ticks[15:8]; + store_nt[3] <= number_of_ticks[23:16]; + store_nt[4] <= number_of_ticks[31:24]; + store_nt[5] <= number_of_ticks[39:32]; + store_nt[6] <= number_of_ticks[47:40]; + store_nt[7] <= 8'hAA; + + byte_counter <= 4'b0; + w_TX_DV_0 <= 1'b0; + state_TX <= SEND; + end + SEND: begin + if(byte_counter != 4'd8) begin + w_TX_Byte_reg_0 <= store_nt[byte_counter]; + w_TX_DV_0 <= 1'b0; + state_TX <= DATA_VALID; + end + else begin + w_TX_DV_0 <= 1'b0; + byte_counter <= 4'b0; + state_TX <= WAIT_TX; + end + end + DATA_VALID: begin + w_TX_DV_0 <= 1'b1; + state_TX <= WAIT_CYCLE; + end + WAIT_DONE: begin + if(w_TX_Active == 1'b1)begin + state_TX <= WAIT_CYCLE; + w_TX_DV_0 <= 1'b0; + end + else begin + byte_counter <= byte_counter + 4'b1; + w_TX_DV_0 <= 1'b0; + state_TX <= SEND; + end + end + WAIT_CYCLE: + state_TX <= WAIT_DONE; + default: + state_TX <= WAIT_TX; + endcase + end + endmodule \ No newline at end of file diff --git a/PID_UART/UA.qpf b/PID_UART/UA.qpf new file mode 100644 index 0000000..1a91442 --- /dev/null +++ b/PID_UART/UA.qpf @@ -0,0 +1,30 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition +# Date created = 16:10:06 February 28, 2021 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "13.0" +DATE = "16:10:06 February 28, 2021" + +# Revisions + +PROJECT_REVISION = "UA" diff --git a/PID_UART/UA.qsf b/PID_UART/UA.qsf new file mode 100644 index 0000000..efe259f --- /dev/null +++ b/PID_UART/UA.qsf @@ -0,0 +1,100 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition +# Date created = 16:10:06 February 28, 2021 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# UA_assignment_defaults.qdf +# If this file doesn't exist, see file: +# assignment_defaults.qdf +# +# 2) Altera recommends that you do not modify this file. This +# file is updated automatically by the Quartus II software +# and any changes you make may be lost or overwritten. +# +# -------------------------------------------------------------------------- # + + +set_global_assignment -name FAMILY "Cyclone II" +set_global_assignment -name DEVICE EP2C35F672C6 +set_global_assignment -name TOP_LEVEL_ENTITY TOP +set_global_assignment -name ORIGINAL_QUARTUS_VERSION "13.0 SP1" +set_global_assignment -name PROJECT_CREATION_TIME_DATE "16:10:06 FEBRUARY 28, 2021" +set_global_assignment -name LAST_QUARTUS_VERSION "13.0 SP1" +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 +set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 1 +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top +set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL" +set_location_assignment PIN_N2 -to i_Clk +set_location_assignment PIN_C25 -to i_UART_RX +set_location_assignment PIN_B25 -to o_UART_TX +set_location_assignment PIN_Y18 -to LEDG[7] +set_location_assignment PIN_AA20 -to LEDG[6] +set_location_assignment PIN_U17 -to LEDG[5] +set_location_assignment PIN_U18 -to LEDG[4] +set_location_assignment PIN_V18 -to LEDG[3] +set_location_assignment PIN_W19 -to LEDG[2] +set_location_assignment PIN_AF22 -to LEDG[1] +set_location_assignment PIN_AE22 -to LEDG[0] +set_location_assignment PIN_D25 -to GPIO_AB[0] +set_location_assignment PIN_J22 -to GPIO_AB[1] +set_location_assignment PIN_E26 -to GPIO_PWM +set_global_assignment -name USE_CONFIGURATION_DEVICE ON +set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED" +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" +set_global_assignment -name RESERVE_ALL_UNUSED_PINS_NO_OUTPUT_GND "AS INPUT TRI-STATED" +set_location_assignment PIN_U3 -to SW[14] +set_location_assignment PIN_T7 -to SW[13] +set_location_assignment PIN_P2 -to SW[12] +set_location_assignment PIN_P1 -to SW[11] +set_location_assignment PIN_N1 -to SW[10] +set_location_assignment PIN_A13 -to SW[9] +set_location_assignment PIN_B13 -to SW[8] +set_location_assignment PIN_C13 -to SW[7] +set_location_assignment PIN_AC13 -to SW[6] +set_location_assignment PIN_AD13 -to SW[5] +set_location_assignment PIN_AF14 -to SW[4] +set_location_assignment PIN_AE14 -to SW[3] +set_location_assignment PIN_P25 -to SW[2] +set_location_assignment PIN_N26 -to SW[1] +set_location_assignment PIN_N25 -to SW[0] +set_global_assignment -name SMART_RECOMPILE ON +set_global_assignment -name ENABLE_DRC_SETTINGS ON +set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS ON +set_global_assignment -name OPTIMIZE_HOLD_TIMING "ALL PATHS" +set_global_assignment -name VERILOG_FILE PID.v +set_global_assignment -name VERILOG_FILE TX.v +set_global_assignment -name VERILOG_FILE RX.v +set_global_assignment -name VERILOG_FILE TOP.v +set_global_assignment -name VERILOG_FILE TIMER.v +set_global_assignment -name VERILOG_FILE PWM.v +set_global_assignment -name VERILOG_FILE SIGNAL_GENERATOR.v +set_global_assignment -name VERILOG_FILE TX_DATA_COLLECTION_STATE_MACHINE.v +set_global_assignment -name SDC_FILE UA.sdc +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/PID_UART/UA.qws b/PID_UART/UA.qws new file mode 100644 index 0000000000000000000000000000000000000000..0a8a7a6fba281f8039d6ca57c901e03f8e3517e5 GIT binary patch literal 2660 zcmds(&uUXa6vn^Yw&>E8E5TAkijbzc#+hS~l+qT#G>GklGc)JR%$f7&n{zWiseU`Br>dxWz*y~N%kHeOYXZ!uh6)BLJfo@b@V z7&EH`nP*=0uLdPyjG4#U{5R3e<)mDhyLKS`bVnxNL*JR$Dbs1wcE&I$f-d53imzRb z>t@KA^STDN!q_BtRp-}RwL|lmwKJqJ<(GslHLV`D3Cm=f1U(Hs){{YQvSKT_5R7VJ z+#gJ3-vLvNYAd+J!6p{i$7g@9W-9mf%jcj-Bkz2Tbm|Vly-uV*!kmYnhoA9EXa>`q zN}ACuV*;e+fJ*{6W|8&5G@XGd39AND3{^-=o&HJyUK+qOq(|de(s7i=b|^|F(0VxM>#^!C#D+fVQ^7GyK8&1ktI0N*DHVo>HBD zfpLu}rJ?WiPj0dOkwb=tC2N5{8Thh?1LJG>pov~%4{g+u1~mKm-fH-|{XYe1_uK1W k9w&|{RKPz1!;_bh|${&Nq*G7Oy(o~2CSK_jQ{`u literal 0 HcmV?d00001 diff --git a/PID_UART/UA.sdc b/PID_UART/UA.sdc new file mode 100644 index 0000000..8bc6e69 --- /dev/null +++ b/PID_UART/UA.sdc @@ -0,0 +1,41 @@ +#************************************************************ +# THIS IS A WIZARD-GENERATED FILE. +# +# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition +# +#************************************************************ + +# Copyright (C) 1991-2013 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. + + + +# Clock constraints + +create_clock -name "i_Clk" -period 20.000ns [get_ports {i_Clk}] + + +# Automatically constrain PLL and other generated clocks +derive_pll_clocks -create_base_clocks + +# Automatically calculate clock uncertainty to jitter and other effects. +#derive_clock_uncertainty +# Not supported for family Cyclone II + +# tsu/th constraints + +# tco constraints + +# tpd constraints + diff --git a/PID_UART/UA.srf b/PID_UART/UA.srf new file mode 100644 index 0000000..527d2d9 --- /dev/null +++ b/PID_UART/UA.srf @@ -0,0 +1,3 @@ +{ "" "" "" "*" { } { } 0 20028 "" 0 0 "Quartus II" 0 -1 0 ""} +{ "" "" "" "*" { } { } 0 292013 "" 0 0 "Quartus II" 0 -1 0 ""} +{ "" "" "" "*" { } { } 0 306006 "" 0 0 "Quartus II" 0 -1 0 ""} diff --git a/PID_UART/clock_constraint.sdc b/PID_UART/clock_constraint.sdc new file mode 100644 index 0000000..aca4798 --- /dev/null +++ b/PID_UART/clock_constraint.sdc @@ -0,0 +1,6 @@ + +# Timing Specification Constraints + +create_clock -name i_Clk -period 20.000000ns -waveform {0.0ns 10.000000ns} [get_ports {i_Clk}] +derive_pll_clocks +derive_clock_uncertainty diff --git a/PID_UART/output_files/UA.pof b/PID_UART/output_files/UA.pof new file mode 100644 index 0000000000000000000000000000000000000000..fada23b2acf0bd2d53b4a4b63be26b68c25b6654 GIT binary patch literal 2097373 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 IpMKT<4|cQ%SO5S3 literal 0 HcmV?d00001 diff --git a/PID_UART/output_files/UA.sof b/PID_UART/output_files/UA.sof new file mode 100644 index 0000000000000000000000000000000000000000..b1d844e56b5e3ec84e0f97334c922854356a342c GIT binary patch literal 841425 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 J*Zuh~{|D4fh1dW9 literal 0 HcmV?d00001