-- file Zuvsp.vhd
-- video stream processing on ZUBoard global constants and types
-- copyright: (C) 2017-2020 MPSI Technologies GmbH
-- author: Alexander Wirthmueller (auto-generation)
-- date created: 10 May 2025
-- IP header --- ABOVE

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

package Dbecore is
	constant fls8: std_logic_vector(7 downto 0) := x"AA";
	constant fls16: std_logic_vector(15 downto 0) := x"AAAA";
	constant fls32: std_logic_vector(31 downto 0) := x"AAAAAAAA";
	constant fls64: std_logic_vector(63 downto 0) := x"AAAAAAAAAAAAAAAA";

	constant tru8: std_logic_vector(7 downto 0) := x"55";
	constant tru16: std_logic_vector(15 downto 0) := x"5555";
	constant tru32: std_logic_vector(31 downto 0) := x"55555555";
	constant tru64: std_logic_vector(63 downto 0) := x"5555555555555555";

	constant ixOpbufBuffer: natural := 0;
	constant ixOpbufController: natural := 1;
	constant ixOpbufCmdCommand: natural := 2;
	constant ixOpbufBufxfBufxfop: natural := 2;
	constant ixOpbufLen: natural := 3;
	constant ixOpbufCrc: natural := 7;

	constant ixPollbufBufxfAvllen: natural := 0;
	constant ixPollbufCmdController: natural := 0;
	constant ixPollbufCmdCommand: natural := 1;
	constant ixPollbufCmdLen: natural := 2;
	constant ixPollbufCrc: natural := 4;

	constant tixVCmdopInv: std_logic_vector(7 downto 0) := x"00";
	constant tixVCmdopRev: std_logic_vector(7 downto 0) := x"01";
	constant tixVCmdopRet: std_logic_vector(7 downto 0) := x"02";
	constant tixVCmdopErr: std_logic_vector(7 downto 0) := x"03";

	constant tixVBufxfopReset: std_logic_vector(7 downto 0) := x"00";
	constant tixVBufxfopPoll: std_logic_vector(7 downto 0) := x"01";
	constant tixVBufxfopXfer: std_logic_vector(7 downto 0) := x"02";
	constant tixVBufxfopXferlast: std_logic_vector(7 downto 0) := x"03";
end Dbecore;

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

package Zuvsp is
	constant tixVZuvspBufferCmdretToHostif: std_logic_vector(7 downto 0) := x"00";
	constant tixVZuvspBufferHostifToCmdinv: std_logic_vector(7 downto 0) := x"01";
	constant tixVZuvspBufferCoobufCornerToHostif: std_logic_vector(7 downto 0) := x"02";
	constant tixVZuvspBufferFlgbufTraceToHostif: std_logic_vector(7 downto 0) := x"03";
	constant tixVZuvspBufferPvwbufDecimToHostif: std_logic_vector(7 downto 0) := x"04";
	constant tixVZuvspBufferSeqbufMemtrackToHostif: std_logic_vector(7 downto 0) := x"05";
	constant tixVZuvspBufferSeqbufCputrackToHostif: std_logic_vector(7 downto 0) := x"06";
	constant tixVZuvspBufferSeqbufVidtrackToHostif: std_logic_vector(7 downto 0) := x"07";
	constant tixVZuvspBufferSeqbufHshktrackToHostif: std_logic_vector(7 downto 0) := x"08";

	constant tixVZuvspControllerHostif: std_logic_vector(7 downto 0) := x"00";
	constant tixVZuvspControllerRpuif: std_logic_vector(7 downto 0) := x"01";
	constant tixVZuvspControllerIdent: std_logic_vector(7 downto 0) := x"02";
	constant tixVZuvspControllerCamif: std_logic_vector(7 downto 0) := x"03";
	constant tixVZuvspControllerCorner: std_logic_vector(7 downto 0) := x"04";
	constant tixVZuvspControllerDdrif: std_logic_vector(7 downto 0) := x"05";
	constant tixVZuvspControllerDecim: std_logic_vector(7 downto 0) := x"06";
	constant tixVZuvspControllerDirector: std_logic_vector(7 downto 0) := x"07";
	constant tixVZuvspControllerHdreng: std_logic_vector(7 downto 0) := x"08";
	constant tixVZuvspControllerLaser: std_logic_vector(7 downto 0) := x"09";
	constant tixVZuvspControllerLinear: std_logic_vector(7 downto 0) := x"0A";
	constant tixVZuvspControllerRender: std_logic_vector(7 downto 0) := x"0B";
	constant tixVZuvspControllerRotary: std_logic_vector(7 downto 0) := x"0C";
	constant tixVZuvspControllerStepmux: std_logic_vector(7 downto 0) := x"0D";
	constant tixVZuvspControllerState: std_logic_vector(7 downto 0) := x"0E";
	constant tixVZuvspControllerTkclksrc: std_logic_vector(7 downto 0) := x"0F";
	constant tixVZuvspControllerTrace: std_logic_vector(7 downto 0) := x"10";
	constant tixVZuvspControllerVecrend: std_logic_vector(7 downto 0) := x"11";
	constant tixVZuvspControllerVideoin: std_logic_vector(7 downto 0) := x"12";
	constant tixVZuvspControllerCputrack: std_logic_vector(7 downto 0) := x"13";
	constant tixVZuvspControllerHshktrack: std_logic_vector(7 downto 0) := x"14";
	constant tixVZuvspControllerMemtrack: std_logic_vector(7 downto 0) := x"15";
	constant tixVZuvspControllerVidtrack: std_logic_vector(7 downto 0) := x"16";

	constant tixVZuvspStateNc: std_logic_vector(7 downto 0) := x"00";
	constant tixVZuvspStateReady: std_logic_vector(7 downto 0) := x"01";
	constant tixVZuvspStateActive: std_logic_vector(7 downto 0) := x"02";

	constant tixVCamifCommandConfig: std_logic_vector(7 downto 0) := x"00";
	constant tixVCamifCommandConfigSynth: std_logic_vector(7 downto 0) := x"01";
	constant tixVCamifCommandSetReg: std_logic_vector(7 downto 0) := x"02";
	constant tixVCamifCommandGetReg: std_logic_vector(7 downto 0) := x"03";
	constant tixVCamifCommandModReg: std_logic_vector(7 downto 0) := x"04";
	constant tixVCamifCommandSetCorereg: std_logic_vector(7 downto 0) := x"05";
	constant tixVCamifCommandGetCorereg: std_logic_vector(7 downto 0) := x"06";

	constant tixVCornerCommandAcquire: std_logic_vector(7 downto 0) := x"00";
	constant tixVCornerCommandConfig: std_logic_vector(7 downto 0) := x"01";
	constant tixVCornerCommandGetInfo: std_logic_vector(7 downto 0) := x"02";
	constant tixVCornerCommandSet: std_logic_vector(7 downto 0) := x"03";
	constant tixVCornerCommandUnlock: std_logic_vector(7 downto 0) := x"04";

	constant tixVCputrackCommandGetInfo: std_logic_vector(7 downto 0) := x"00";
	constant tixVCputrackCommandSelect: std_logic_vector(7 downto 0) := x"01";
	constant tixVCputrackCommandSet: std_logic_vector(7 downto 0) := x"02";

	constant tixVDdrifCommandGetStats: std_logic_vector(7 downto 0) := x"00";

	constant tixVDecimCommandAcquire: std_logic_vector(7 downto 0) := x"00";
	constant tixVDecimCommandConfig: std_logic_vector(7 downto 0) := x"01";
	constant tixVDecimCommandGetInfo: std_logic_vector(7 downto 0) := x"02";
	constant tixVDecimCommandSet: std_logic_vector(7 downto 0) := x"03";
	constant tixVDecimCommandUnlock: std_logic_vector(7 downto 0) := x"04";

	constant tixVDirectorCommandConfig: std_logic_vector(7 downto 0) := x"00";
	constant tixVDirectorCommandSet: std_logic_vector(7 downto 0) := x"01";

	constant tixVHdrengCommandAssign: std_logic_vector(7 downto 0) := x"00";
	constant tixVHdrengCommandGetInfo: std_logic_vector(7 downto 0) := x"01";
	constant tixVHdrengCommandSet: std_logic_vector(7 downto 0) := x"02";

	constant tixVHshktrackCommandClearMask: std_logic_vector(7 downto 0) := x"00";
	constant tixVHshktrackCommandGetInfo: std_logic_vector(7 downto 0) := x"01";
	constant tixVHshktrackCommandSelect: std_logic_vector(7 downto 0) := x"02";
	constant tixVHshktrackCommandSet: std_logic_vector(7 downto 0) := x"03";
	constant tixVHshktrackCommandSetMask: std_logic_vector(7 downto 0) := x"04";

	constant tixVIdentCommandGet: std_logic_vector(7 downto 0) := x"00";
	constant tixVIdentCommandGetCfg: std_logic_vector(7 downto 0) := x"01";

	constant tixVLaserCommandSet: std_logic_vector(7 downto 0) := x"00";

	constant tixVMemtrackCommandClearMask: std_logic_vector(7 downto 0) := x"00";
	constant tixVMemtrackCommandGetInfo: std_logic_vector(7 downto 0) := x"01";
	constant tixVMemtrackCommandSelect: std_logic_vector(7 downto 0) := x"02";
	constant tixVMemtrackCommandSet: std_logic_vector(7 downto 0) := x"03";
	constant tixVMemtrackCommandSetMask: std_logic_vector(7 downto 0) := x"04";

	constant tixVRotaryCommandConfig: std_logic_vector(7 downto 0) := x"00";
	constant tixVRotaryCommandGetInfo: std_logic_vector(7 downto 0) := x"01";
	constant tixVRotaryCommandMoveto: std_logic_vector(7 downto 0) := x"02";
	constant tixVRotaryCommandSet: std_logic_vector(7 downto 0) := x"03";
	constant tixVRotaryCommandZero: std_logic_vector(7 downto 0) := x"04";

	constant tixVStepmuxCommandSet: std_logic_vector(7 downto 0) := x"00";

	constant tixVTkclksrcCommandGetTkst: std_logic_vector(7 downto 0) := x"00";
	constant tixVTkclksrcCommandSetTkst: std_logic_vector(7 downto 0) := x"01";

	constant tixVTraceCommandAcquire: std_logic_vector(7 downto 0) := x"00";
	constant tixVTraceCommandConfig: std_logic_vector(7 downto 0) := x"01";
	constant tixVTraceCommandGetInfo: std_logic_vector(7 downto 0) := x"02";
	constant tixVTraceCommandUnlock: std_logic_vector(7 downto 0) := x"03";

	constant tixVVidtrackCommandGetInfo: std_logic_vector(7 downto 0) := x"00";
	constant tixVVidtrackCommandSelect: std_logic_vector(7 downto 0) := x"01";
	constant tixVVidtrackCommandSet: std_logic_vector(7 downto 0) := x"02";

	-- IP Zuvsp.cust --- INSERT
end Zuvsp;
