library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.NUMERIC_STD.ALL; entity test_record is end test_record; architecture tb of test_record is type TPhOptions is record sigPrintheadKCE : std_logic; sigPH_PICAIIRohm : std_logic; sigReg_Chan_Offs_6 : std_logic_vector( 7 downto 0); sigReg_Chan_Offs_5 : std_logic_vector( 7 downto 0); sigReg_Chan_Offs_4 : std_logic_vector( 7 downto 0); sigReg_Chan_Offs_3 : std_logic_vector( 7 downto 0); sigReg_Chan_Offs_2 : std_logic_vector( 7 downto 0); sigReg_Chan_Offs_1 : std_logic_vector( 7 downto 0); sigReg_Words_Per_Ch : std_logic_vector( 7 downto 0); sigReg_LineOffs : std_logic_vector( 7 downto 0); sigSPI_Clk_Duration : std_logic_vector( 3 downto 0); sigSPI_Clk_Duty : std_logic_vector( 3 downto 0); sigSPI_DataSwitch : std_logic_vector( 3 downto 0); Bit16perLine : std_logic_vector( 7 downto 0); sigEnableChannel : std_logic_vector( 5 downto 0); REG_Latch_Setup_Time : std_logic_vector( 7 downto 0); REG_Latch_End_Time : std_logic_vector( 7 downto 0); REG_Strobe_Setup_Time : std_logic_vector( 7 downto 0); REG_Burn_Prescaler : std_logic_vector( 7 downto 0); sigReg_HeadFill32 : std_logic_vector( 7 downto 0); end record; signal REC : TPhOptions; constant REC_LEN : integer := 1 + 1 + REC.sigReg_Chan_Offs_6'length + REC.sigReg_Chan_Offs_5'length + REC.sigReg_Chan_Offs_4'length + REC.sigReg_Chan_Offs_3'length + REC.sigReg_Chan_Offs_2'length + REC.sigReg_Chan_Offs_1'length + REC.sigReg_Words_Per_Ch'length + REC.sigReg_LineOffs'length + REC.sigSPI_Clk_Duration'length + REC.sigSPI_Clk_Duty'length + REC.sigSPI_DataSwitch'length + REC.Bit16perLine'length + REC.sigEnableChannel'length + REC.REG_Latch_Setup_Time'length + REC.REG_Latch_End_Time'length + REC.REG_Strobe_Setup_Time'length + REC.REG_Burn_Prescaler'length + REC.sigReg_HeadFill32'length; begin process begin wait for 10 ns; report "REC_LEN: " & integer'image(REC_LEN); wait; end process; end;