Module 1
Why C Matters in Semiconductors
1.1Why C Became the Language of HardwarePlanned1.2C in Processor DesignPlanned1.3C in SoC VerificationPlanned1.4C in Embedded SystemsPlanned1.5C in Firmware DevelopmentPlanned1.6C in Modern Verification FlowsPlanned
Module 2
C Language Fundamentals
2.1VariablesPlanned2.2Data TypesPlanned2.3OperatorsPlanned2.4ExpressionsPlanned
3.1if / elsePlanned3.2switchPlanned3.3for LoopsPlanned3.4while LoopsPlanned3.5do-whilePlanned
4.1Function DesignPlanned4.2ArgumentsPlanned4.3Return ValuesPlanned4.4RecursionPlanned
5.1Memory LayoutPlanned5.2Multidimensional ArraysPlanned5.3Buffer HandlingPlanned
6.1Pointer FundamentalsPlanned6.2Pointer ArithmeticPlanned6.3Pointer ArraysPlanned6.4Double PointersPlanned
Module 7
Structures and Unions
7.1StructuresPlanned7.2Nested StructuresPlanned7.3BitfieldsPlanned7.4UnionsPlanned
Module 8
Memory Management
8.1mallocPlanned8.2callocPlanned8.3reallocPlanned8.4freePlanned
Module 9
Files and File I/O
9.1Reading FilesPlanned9.2Writing FilesPlanned9.3Binary FilesPlanned
Module 10
Preprocessor and Macros
10.1#definePlanned10.2Conditional CompilationPlanned10.3Header FilesPlanned
Module 11
Debugging C Programs
11.1Common BugsPlanned11.2Segmentation FaultsPlanned11.3Memory CorruptionPlanned11.4ToolsPlanned
Module 12
Embedded C Fundamentals
12.1Memory-Mapped RegistersPlanned12.2volatilePlanned12.3Hardware AccessPlanned12.4PollingPlanned
Module 13
Processor Architecture for C Programmers
13.1RegistersPlanned13.2StackPlanned13.3HeapPlanned13.4Memory LayoutPlanned13.5Calling ConventionsPlanned
Module 14
C and Processor Instruction Execution
14.1How C Translates to InstructionsPlanned14.2Compiler Generated AssemblyPlanned14.3Instruction FlowPlanned
Module 15
Processor Core Validation Using C
15.1Instruction ValidationPlanned15.2Arithmetic ValidationPlanned15.3Branch ValidationPlanned15.4CSR ValidationPlanned
Module 16
Memory Subsystem Validation
16.1Cache ValidationPlanned16.2Memory TestsPlanned16.3ECC TestsPlanned16.4DMA ValidationPlanned
Module 17
Interrupt and Exception Testing
17.1Interrupt ValidationPlanned17.2Exception ValidationPlanned17.3Trap HandlingPlanned
Module 18
Protocol Validation Using C
18.1UART ValidationPlanned18.2SPI ValidationPlanned18.3I²C ValidationPlanned18.4Memory Controller ValidationPlanned
Module 19
Boot Code and Firmware
19.1Reset FlowPlanned19.2Boot FlowPlanned19.3InitializationPlanned
Module 20
Self-Checking Test Programs
20.1Pass/Fail DetectionPlanned20.2AssertionsPlanned20.3Golden Model ComparisonPlanned
Module 21
DPI-C Fundamentals
21.1Why DPI ExistsPlanned21.2SV ↔ C CommunicationPlanned21.3Import FunctionsPlanned21.4Export FunctionsPlanned
Module 22
DPI-C Data Types
22.1Scalar MappingPlanned22.2ArraysPlanned22.3StructuresPlanned22.4StringsPlanned
23.1Context FunctionsPlanned23.2Open ArraysPlanned23.3Performance ConsiderationsPlanned23.4DebuggingPlanned
Module 24
Building DPI-Based Verification Components
24.1Reference ModelsPlanned24.2Scoreboard IntegrationPlanned24.3Golden ModelsPlanned
Module 25
C Reference Models for Verification
25.1Behavioral ModelsPlanned25.2Golden ModelsPlanned25.3Checking ArchitecturesPlanned
Module 26
C-Based SoC Verification
26.1Firmware-Driven VerificationPlanned26.2HW/SW Co-VerificationPlanned26.3Subsystem ValidationPlanned
Module 27
HW/SW Co-Verification
27.1Software + RTL InteractionPlanned27.2Co-SimulationPlanned27.3SynchronizationPlanned
Module 28
Emulation and Acceleration Flows
28.1C Test ProgramsPlanned28.2TransactorsPlanned28.3AccelerationPlanned
Module 29
C for UVM Engineers
29.1DPI IntegrationPlanned29.2Reference Models in UVMPlanned29.3ScoreboardsPlanned29.4Coverage AssistancePlanned
Module 30
Performance Modeling
30.1Performance CountersPlanned30.2BenchmarkingPlanned30.3Latency MeasurementPlanned
Module 31
Industry Case Studies
31.1RISC-V VerificationPlanned31.2ARM Firmware ValidationPlanned31.3UART Firmware TestsPlanned31.4DMA ValidationPlanned31.5Cache ValidationPlanned31.6AXI ValidationPlanned
Module 32
C Interview Mastery for VLSI
32.1BeginnerPlanned32.2IntermediatePlanned32.3AdvancedPlanned32.4Processor Validation QuestionsPlanned32.5DPI QuestionsPlanned32.6Firmware QuestionsPlanned
Module 33
C Design Review Checklist
33.1Coding ChecklistPlanned33.2Firmware ChecklistPlanned33.3DPI ChecklistPlanned33.4Verification ChecklistPlanned33.5Processor Validation ChecklistPlanned
Module 34
C Misconceptions Semiconductor Engineers Have
34.1C Is Only for Software EngineersPlanned34.2RTL Engineers Do Not Need CPlanned34.3DPI Is OptionalPlanned34.4Firmware Is Separate from VerificationPlanned34.5Processor Validation Does Not Require SoftwarePlanned34.6UVM Replaces C ModelsPlanned