Entity: pidv3_axi_logic
- File: pidv3_axi_logic.vhd
Diagram
Generics
Generic name | Type | Value | Description |
---|---|---|---|
P_SIZE | integer | 16 | |
PSR | integer | 12 | PSR_SIZE |
I_SIZE | integer | 16 | |
ISR | integer | 18 | |
D_SIZE | integer | 16 | |
DSR | integer | 10 | |
DATA_IN_SIZE | natural | 14 | |
DATA_OUT_SIZE | natural | 14 |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
clk_i | in | std_logic | yscon signals |
reset | in | std_logic | |
data_i | in | std_logic_vector(DATA_IN_SIZE-1 downto 0) | ata |
data_en_i | in | std_logic | |
data_o | out | std_logic_vector(DATA_OUT_SIZE-1 downto 0) | |
data_en_o | out | std_logic | |
setpoint_i | in | std_logic_vector(DATA_IN_SIZE-1 downto 0) | ettingsmplementer le sens |
kp_i | in | std_logic_vector(P_SIZE-1 downto 0) | |
ki_i | in | std_logic_vector(I_SIZE-1 downto 0) | |
kd_i | in | std_logic_vector(D_SIZE-1 downto 0) | |
sign_i | in | std_logic | |
int_rst_i | in | std_logic |
Signals
Name | Type | Description |
---|---|---|
data_in_s | signed(ERR_SZ-1 downto 0) | |
setpoint_s | signed(ERR_SZ-1 downto 0) | |
error_s | signed(ERR_SZ-1 downto 0) | |
data_en_s | std_logic | |
data2_en_s | std_logic | |
data_en_out_s | std_logic | |
P_temp_s | signed(P_MULT_SZ-1 downto 0) | |
P_s | signed(P_RES_SZ-1 downto 0) | |
Pd_s | signed(P_RES_SZ-1 downto 0) | |
I_sum_s | signed(I_MULT_SZ downto 0) | somme avec overflow detect |
I_temp_s | signed(I_MULT_SZ-1 downto 0) | somme utile |
I_s | signed(I_RES_SZ-1 downto 0) | |
p_pid_s | signed(PID_SZ-1 downto 0) | |
i_pid_s | signed(PID_SZ-1 downto 0) | |
pid_sum_s | std_logic_vector(PID_SZ downto 0) | v_k |
pid_out_s | std_logic_vector(PID_SZ-1 downto 0) | u_k |
msb_s | std_logic_vector(MSB_SIZE-1 downto 0) | dropped part of the I input signal |
is_zero | boolean | check is high slice is fully 0 and 1 |
is_one | boolean | check is high slice is fully 0 and 1 |
Constants
Name | Type | Value | Description |
---|---|---|---|
ERR_SZ | natural | DATA_IN_SIZE+1 | |
P_MULT_SZ | natural | ERR_SZ + P_SIZE | p -- |
P_RES_SZ | natural | P_MULT_SZ-PSR | |
I_MULT_SZ | natural | ERR_SZ + I_SIZE | i -- signal I_desat_s : std_logic_vector(33-1 downto 0); |
I_RES_SZ | natural | I_MULT_SZ-ISR | |
PID_SZ | natural | sel(P_RES_SZ, I_RES_SZ) |
|
MSB_SIZE | natural | comp_unused_slice(PID_SZ, DATA_OUT_SIZE) |
size of the dropped part of input signal |
Functions
- sel (P,
I: natural) return natural
Description
signal I_s : std_logic_vector(33-1 downto 0);
- comp_unused_slice (in_size,
out_size: natural) return natural
Description
return static size or difference between input and output size
if in_size > out_size
Processes
- unnamed: ( clk_i )
Description
error signal
- unnamed: ( clk_i )
- unnamed: ( clk_i )
- unnamed: ( clk_i )
Description
derivative --none for the moment sum + sat + integr desat