Entity: pidv3_axi_comm

Diagram

integer P_SIZE integer I_SIZE integer D_SIZE natural SETPOINT_SIZE natural BUS_SIZE std_logic reset std_logic clk std_logic_vector(2 downto 0) addr_i std_logic wr_en_i std_logic_vector( BUS_SIZE-1 downto 0) writedata_i std_logic rd_en_i std_logic_vector( BUS_SIZE-1 downto 0) readdata_o std_logic_vector(P_SIZE-1 downto 0) kp_o std_logic_vector(I_SIZE-1 downto 0) ki_o std_logic_vector(D_SIZE-1 downto 0) kd_o std_logic sign_o std_logic_vector(SETPOINT_SIZE-1 downto 0) setpoint_o std_logic int_rst_o std_logic_vector(5 downto 0) is_input_o

Description


(c) Copyright: OscillatorIMP Digital Author : Gwenhael Goavec-Merougwenhael.goavec-merou@trabucayre.com

Creation date : 2019/04/20

Generics

Generic name Type Value Description
P_SIZE integer 14
I_SIZE integer 14
D_SIZE integer 14
SETPOINT_SIZE natural 32
BUS_SIZE natural 32 Data port size

Ports

Port name Direction Type Description
reset in std_logic Syscon signals
clk in std_logic
addr_i in std_logic_vector(2 downto 0) comm signals
wr_en_i in std_logic
writedata_i in std_logic_vector( BUS_SIZE-1 downto 0)
rd_en_i in std_logic
readdata_o out std_logic_vector( BUS_SIZE-1 downto 0)
kp_o out std_logic_vector(P_SIZE-1 downto 0) logic signals
ki_o out std_logic_vector(I_SIZE-1 downto 0)
kd_o out std_logic_vector(D_SIZE-1 downto 0)
sign_o out std_logic
setpoint_o out std_logic_vector(SETPOINT_SIZE-1 downto 0)
int_rst_o out std_logic
is_input_o out std_logic_vector(5 downto 0)

Signals

Name Type Description
readdata_s std_logic_vector(BUS_SIZE-1 downto 0)
readdata_next_s std_logic_vector(BUS_SIZE-1 downto 0)
setpoint_s std_logic_vector(SETPOINT_SIZE-1 downto 0)
kp_s std_logic_vector(P_SIZE-1 downto 0)
ki_s std_logic_vector(I_SIZE-1 downto 0)
kd_s std_logic_vector(D_SIZE-1 downto 0)
sign_s std_logic
int_rst_s std_logic
is_input_s std_logic_vector(5 downto 0)

Constants

Name Type Value Description
REG_KP std_logic_vector(2 downto 0) "000"
REG_KI std_logic_vector(2 downto 0) "001"
REG_KD std_logic_vector(2 downto 0) "010"
REG_SETPOINT std_logic_vector(2 downto 0) "011"
REG_SIGN std_logic_vector(2 downto 0) "100"
REG_INT_RST std_logic_vector(2 downto 0) "101"
REG_INPUT std_logic_vector(2 downto 0) "110"

Processes

Description
manage register