|
ConOpSys V2970
P004.07
ANVILEX control operating system
|
FPGA base class. More...
#include <FPGA_Base.h>


Classes | |
| struct | TFPGA_Module_Descriptor |
| Pointer to the application task. More... | |
| union | TFPGA_Registers |
| FPGA register models. More... | |
| struct | TUnit_Registers |
| Register structure for generic unit ID access. More... | |
Public Member Functions | |
| TFPGA_Base () | |
| FPGA base class constructor method. More... | |
| virtual | ~TFPGA_Base () |
| FPGA base class destructor method. More... | |
| VOID | Interrupt () |
| FPGA interrupt method. More... | |
| VOID | Init (TFPGA_Registers *struct_Registers_Base_Address) |
| FPGA object initialisation method. More... | |
| BOOL | Get_Internal_Slot_Module_ID (U8 u8_Slot_Index, U32 *u32_Module_ID) |
| BOOL | Get_External_Slot_Module_ID (U8 u8_Slot_Index, U32 *u32_Module_ID) |
| VOID | Increment_Test_Interconnect_Error_Counter () |
| Increment test interconnect error counter method. More... | |
| VOID | Test_Interconnect_Interface () |
| Check FPGA interconnection interface method. More... | |
| U32 | Get_Configurstion_ID () |
| Get FPGA configuration ID method. More... | |
| U16 | Get_Version () |
| Get FPGA configuration version method. More... | |
| U16 | Get_Revision () |
| Get FPGA configuration revision method. More... | |
| U32 | Get_Clock_Frequency () |
| Get FPGA clock frequency in herz method. More... | |
| U16 | Get_Slot_Size () |
| Get FPGA slot size method. More... | |
| F32 | Get_Clock_Frequency_In_Hz () |
| Get FPGA internal clock frequency in Hz method. More... | |
| U64 | Get_Interconnect_Error_Count () |
| Get FPGA interconnect error count method. More... | |
| U64 | Get_Interconnect_Test_Count () |
| Get FPGA interconnect test count method. More... | |
| virtual BOOL | Is_Installed () |
| Get FPGA init status method. More... | |
| TRIL | Is_Configured () |
| Return FPGA configuration status method. More... | |
| virtual BOOL | Configure ()=0 |
| Configure FPGA method. More... | |
| virtual BOOL | FPGA_PROG_Pin_Status ()=0 |
| Get FPGA PROG pin status method. More... | |
| virtual BOOL | FPGA_DONE_Pin_Status ()=0 |
| Get FPGA DONE pin status method. More... | |
| VOID | Send_General_Information (TProtocol_Base *object_Protocol) |
| Send general information about FPGA object. More... | |
| VOID | Send_Internal_Slot_Information (TProtocol_Base *object_Protocol) |
| Send information about internal slots allocation. More... | |
| VOID | Send_External_Slot_Information (TProtocol_Base *object_Protocol) |
| Send information about external slots allocation. More... | |
| VOID | Reset_Watchdog () |
| Reset FPGA watchdog. More... | |
| BOOL | Get_Slot_Module_Name_By_ID (U32 u32_Module_ID, C8 **c8_Module_Name) |
| VOID | Send_Internal_Module_Information (U8 u8_Slot, TProtocol_Base *object_Protocol) |
| VOID | Send_External_Module_Information (U8 u8_Slot, TProtocol_Base *object_Protocol) |
Protected Member Functions | |
| VOID | FPGA_Write_U16 (U16 u16_Address, U16 u16_Value) |
| Write U16 value into FPGA using generic access. More... | |
| VOID | FPGA_Read_U16 (U16 u16_Address, U16 *u16_Value) |
| Read U16 value from FPGA using generic access. More... | |
| virtual VOID | Interrupt_Enable (U32 u32_TickPriority)=0 |
| Enable FPGA interrupt method. More... | |
| virtual VOID | Interrupt_Disable ()=0 |
| Disable FPGA interrupt method. More... | |
Protected Attributes | |
| volatile TFPGA_Registers * | struct_Registers = (TFPGA_Registers*)NULL |
| Mapped FPGA registers. More... | |
| TRIL | tril_FPGA_Configured = (TRIL)unset |
| FPGA configuration status. More... | |
| U64 | u64_Test_Interconnect_Test_Counter = (U64)0 |
| Interconnect test counter. More... | |
| U64 | u64_Test_Interconnect_Error_Counter = (U64)0 |
| Interconnect error counter for diagnose. More... | |
| U16 | u16_Write_Pattern_1 |
| Write pattern #1 for testng. More... | |
| U16 | u16_Write_Pattern_2 |
| Write pattern #2 for testng. More... | |
| U16 | u16_Write_Pattern_3 |
| Write pattern #3 for testng. More... | |
| U16 | u16_Write_Pattern_4 |
| Write pattern #4 for testng. More... | |
| U16 | u16_Read_Pattern_1 |
| Reading pattern #1 for testng. More... | |
| U16 | u16_Read_Pattern_2 |
| Reading pattern #2 for testng. More... | |
| U16 | u16_Read_Pattern_3 |
| Reading pattern #3 for testng. More... | |
| U16 | u16_Read_Pattern_4 |
| Reading pattern #4 for testng. More... | |
Private Attributes | |
| U32 | u32_Clock_Frequency = (U32)50000000 |
| FPGA internal clock frequency in herz as integer value. More... | |
| F32 | f32_Clock_Frequency = (F32)50000000.0f |
| FPGA internal clock frequency in herz as float point value. More... | |
Static Private Attributes | |
| static const TFPGA_Module_Descriptor | struct_FPGA_Module_Descriptor_Database [] |
| FPAG module descriptior database storage. More... | |
FPGA base class.
| TFPGA_Base::TFPGA_Base | ( | ) |
FPGA base class constructor method.
|
virtual |
FPGA base class destructor method.
|
pure virtual |
Configure FPGA method.
| false | - FPGA does not present |
| true | - FPGA present |
Implemented in TFPGA_STM32F429, TFPGA_P017_39_KG3_CB, TFPGA_P015_09_CB, and TFPGA.
|
pure virtual |
Get FPGA DONE pin status method.
| false | - FPGA DONE pin is low |
| true | - FPGA DONE pin is high |
Implemented in TFPGA_STM32F429, TFPGA_P017_39_KG3_CB, and TFPGA_P015_09_CB.
Referenced by Send_General_Information().

|
pure virtual |
Get FPGA PROG pin status method.
| false | - FPGA PROG pin is low |
| true | - FPGA PROG pin is high |
Implemented in TFPGA_STM32F429, TFPGA_P017_39_KG3_CB, and TFPGA_P015_09_CB.
Referenced by Send_General_Information().

Read U16 value from FPGA using generic access.
| [in] | u16_Address | - Logical address for read operation |
| [out] | *u16_Value | - Readed U16 value from FPGA |
References struct_Registers, and TFPGA_Base::TFPGA_Registers::u16_Data.
Write U16 value into FPGA using generic access.
| [in] | u16_Address | - Logical address for read operation |
| [in] | u16_Value | - U16 value for write into FPGA |
References struct_Registers, and TFPGA_Base::TFPGA_Registers::u16_Data.
| U32 TFPGA_Base::Get_Clock_Frequency | ( | ) |
Get FPGA clock frequency in herz method.
References TFPGA_Base::TFPGA_Registers::struct_Data, struct_Registers, TFPGA_Base::TFPGA_Registers::u16_FPGA_Clock_Frequency_High, and TFPGA_Base::TFPGA_Registers::u16_FPGA_Clock_Frequency_Low.
| F32 TFPGA_Base::Get_Clock_Frequency_In_Hz | ( | ) |
Get FPGA internal clock frequency in Hz method.
References f32_Clock_Frequency.
| U32 TFPGA_Base::Get_Configurstion_ID | ( | ) |
Get FPGA configuration ID method.
References TFPGA_Base::TFPGA_Registers::struct_Data, struct_Registers, TFPGA_Base::TFPGA_Registers::u16_FPGA_Configuration_ID_High, and TFPGA_Base::TFPGA_Registers::u16_FPGA_Configuration_ID_Low.
References Compose_U32(), and struct_Registers.
Referenced by Send_External_Module_Information().


| U64 TFPGA_Base::Get_Interconnect_Error_Count | ( | ) |
Get FPGA interconnect error count method.
References u64_Test_Interconnect_Error_Counter.
| U64 TFPGA_Base::Get_Interconnect_Test_Count | ( | ) |
Get FPGA interconnect test count method.
References u64_Test_Interconnect_Test_Counter.
References Compose_U32(), and struct_Registers.
Referenced by Send_Internal_Module_Information().


| U16 TFPGA_Base::Get_Revision | ( | ) |
Get FPGA configuration revision method.
References TFPGA_Base::TFPGA_Registers::struct_Data, struct_Registers, and TFPGA_Base::TFPGA_Registers::u16_FPGA_Revision.
References TFPGA_Base::TFPGA_Module_Descriptor::c8_Module_Name, struct_FPGA_Module_Descriptor_Database, and TFPGA_Base::TFPGA_Module_Descriptor::u16_Module_ID.
Referenced by Send_External_Module_Information(), and Send_Internal_Module_Information().

| U16 TFPGA_Base::Get_Slot_Size | ( | ) |
Get FPGA slot size method.
References TFPGA_Base::TFPGA_Registers::struct_Data, struct_Registers, and TFPGA_Base::TFPGA_Registers::u16_FPGA_Slot_Size.
| U16 TFPGA_Base::Get_Version | ( | ) |
Get FPGA configuration version method.
References TFPGA_Base::TFPGA_Registers::struct_Data, struct_Registers, and TFPGA_Base::TFPGA_Registers::u16_FPGA_Version.
| VOID TFPGA_Base::Increment_Test_Interconnect_Error_Counter | ( | ) |
Increment test interconnect error counter method.
References u64_Test_Interconnect_Error_Counter.
Referenced by Test_Interconnect_Interface().

| VOID TFPGA_Base::Init | ( | TFPGA_Registers * | struct_Registers_Base_Address | ) |
FPGA object initialisation method.
| [in] | *struct_Registers_Base_Address | - Pointer to registers base address |
References struct_Registers.
Referenced by TFPGA::Init().

| VOID TFPGA_Base::Interrupt | ( | ) |
FPGA interrupt method.
References object_Application.
Referenced by TFPGA_P015_09_CB::Interrupt(), TFPGA_P017_39_KG3_CB::Interrupt(), and TFPGA_STM32F429::Interrupt().

|
protectedpure virtual |
Disable FPGA interrupt method.
| [in] | u32_TickPriority | - Priority |
Implemented in TFPGA_STM32F429, TFPGA_P017_39_KG3_CB, TFPGA_P015_09_CB, and TFPGA.
Enable FPGA interrupt method.
| [in] | u32_TickPriority | - Priority |
Implemented in TFPGA_STM32F429, TFPGA_P017_39_KG3_CB, TFPGA_P015_09_CB, and TFPGA.
| TRIL TFPGA_Base::Is_Configured | ( | ) |
Return FPGA configuration status method.
| false | - FPFA not configured |
| true | - FPGA successful configured |
| unset | - FPGA did not start configured |
References tril_FPGA_Configured.
Referenced by Send_General_Information().

|
virtual |
Get FPGA init status method.
| false | - FPGA not installed |
| true | - FPGA installed |
Referenced by Send_General_Information().

| VOID TFPGA_Base::Reset_Watchdog | ( | ) |
Reset FPGA watchdog.
References TFPGA_Base::TFPGA_Registers::struct_Data, struct_Registers, and TFPGA_Base::TFPGA_Registers::u16_Watchdog_CSR.
| VOID TFPGA_Base::Send_External_Module_Information | ( | U8 | u8_Slot, |
| TProtocol_Base * | object_Protocol | ||
| ) |
References Get_External_Slot_Module_ID(), Get_Slot_Module_Name_By_ID(), TProtocol_Base::Transmit_String(), and TProtocol_Base::Transmit_U32_Value_As_Hex().
Referenced by Send_External_Slot_Information().


| VOID TFPGA_Base::Send_External_Slot_Information | ( | TProtocol_Base * | object_Protocol | ) |
Send information about external slots allocation.
| [in] | *object_Protocol | Pointer to the communication protocol object |
References Send_External_Module_Information(), TProtocol_Base::Transmit_String(), and TProtocol_Base::Transmit_U32_Value_As_Hex().
Referenced by TFPGA_P015_09_CB::Send_Boot_Information(), and TFPGA_P017_39_KG3_CB::Send_Boot_Information().


| VOID TFPGA_Base::Send_General_Information | ( | TProtocol_Base * | object_Protocol | ) |
Send general information about FPGA object.
| [in] | *object_Protocol | Pointer to the communication protocol object |
References FPGA_BASE, FPGA_DONE_Pin_Status(), FPGA_PROG_Pin_Status(), Is_Configured(), Is_Installed(), TProtocol_Base::Transmit_BOOL_Value_As_Decimal(), TProtocol_Base::Transmit_String(), TProtocol_Base::Transmit_TRIL_Value_As_Decimal(), TProtocol_Base::Transmit_U16_Value_As_Hex(), TProtocol_Base::Transmit_U32_Value_As_Decimal(), and TProtocol_Base::Transmit_U32_Value_As_Hex().
Referenced by TFPGA_P015_09_CB::Send_Boot_Information(), and TFPGA_P017_39_KG3_CB::Send_Boot_Information().


| VOID TFPGA_Base::Send_Internal_Module_Information | ( | U8 | u8_Slot, |
| TProtocol_Base * | object_Protocol | ||
| ) |
References Get_Internal_Slot_Module_ID(), Get_Slot_Module_Name_By_ID(), TProtocol_Base::Transmit_String(), and TProtocol_Base::Transmit_U32_Value_As_Hex().
Referenced by Send_Internal_Slot_Information().


| VOID TFPGA_Base::Send_Internal_Slot_Information | ( | TProtocol_Base * | object_Protocol | ) |
Send information about internal slots allocation.
| [in] | *object_Protocol | Pointer to the communication protocol object |
References Send_Internal_Module_Information(), TProtocol_Base::Transmit_String(), and TProtocol_Base::Transmit_U32_Value_As_Hex().
Referenced by TFPGA_P015_09_CB::Send_Boot_Information(), and TFPGA_P017_39_KG3_CB::Send_Boot_Information().


| VOID TFPGA_Base::Test_Interconnect_Interface | ( | ) |
Check FPGA interconnection interface method.
References TTIMER2_STM32F429::Get_Actual_Time_U64(), Increment_Test_Interconnect_Error_Counter(), object_Delay_Timer, TFPGA_Base::TFPGA_Registers::struct_Data, struct_Registers, u16_Read_Pattern_1, u16_Read_Pattern_2, u16_Read_Pattern_3, u16_Read_Pattern_4, TFPGA_Base::TFPGA_Registers::u16_Test_Register_1, TFPGA_Base::TFPGA_Registers::u16_Test_Register_2, TFPGA_Base::TFPGA_Registers::u16_Test_Register_3, TFPGA_Base::TFPGA_Registers::u16_Test_Register_4, u16_Write_Pattern_1, u16_Write_Pattern_2, u16_Write_Pattern_3, u16_Write_Pattern_4, and u64_Test_Interconnect_Test_Counter.

FPGA internal clock frequency in herz as float point value.
Referenced by Get_Clock_Frequency_In_Hz().
|
staticprivate |
FPAG module descriptior database storage.
Referenced by Get_Slot_Module_Name_By_ID().
|
protected |
Mapped FPGA registers.
Referenced by FPGA_Read_U16(), FPGA_Write_U16(), Get_Clock_Frequency(), Get_Configurstion_ID(), Get_External_Slot_Module_ID(), Get_Internal_Slot_Module_ID(), Get_Revision(), Get_Slot_Size(), Get_Version(), Init(), TFPGA::Read_U16(), Reset_Watchdog(), TFPGA::Test_Interconnect_Interface(), Test_Interconnect_Interface(), and TFPGA::Write_U16().
FPGA configuration status.
Referenced by TFPGA_P015_09_CB::Configure(), TFPGA_P017_39_KG3_CB::Configure(), TFPGA_STM32F429::Configure(), and Is_Configured().
|
protected |
Reading pattern #1 for testng.
Referenced by Test_Interconnect_Interface().
|
protected |
Reading pattern #2 for testng.
Referenced by Test_Interconnect_Interface().
|
protected |
Reading pattern #3 for testng.
Referenced by Test_Interconnect_Interface().
|
protected |
Reading pattern #4 for testng.
Referenced by Test_Interconnect_Interface().
|
protected |
Write pattern #1 for testng.
Referenced by Test_Interconnect_Interface().
|
protected |
Write pattern #2 for testng.
Referenced by Test_Interconnect_Interface().
|
protected |
Write pattern #3 for testng.
Referenced by Test_Interconnect_Interface().
|
protected |
Write pattern #4 for testng.
Referenced by Test_Interconnect_Interface().
FPGA internal clock frequency in herz as integer value.
Interconnect error counter for diagnose.
Referenced by Get_Interconnect_Error_Count(), and Increment_Test_Interconnect_Error_Counter().
Interconnect test counter.
Referenced by Get_Interconnect_Test_Count(), and Test_Interconnect_Interface().