FPGA Development

  1. Simulation and Verification
    1. The Importance of Verification
      1. Detecting Design Errors
        1. Ensuring Functional Correctness
          1. Reducing Debug Time in Hardware
            1. Cost of Late Bug Discovery
              1. Verification Methodologies
              2. Testbench Architecture
                1. Unit Under Test Instantiation
                  1. Testbench Components
                    1. Driver
                      1. Monitor
                        1. Scoreboard
                          1. Checker
                          2. Stimulus Generation
                            1. Directed Testing
                              1. Constrained Random Testing
                                1. Input Vectors
                                2. Clock and Reset Generation
                                  1. Clock Generation Techniques
                                    1. Reset Strategies
                                    2. Output Monitoring
                                      1. Response Checking
                                        1. Waveform Analysis
                                      2. Verification Techniques
                                        1. Black Box Testing
                                          1. White Box Testing
                                            1. Regression Testing
                                              1. Corner Case Testing
                                                1. Stress Testing
                                                2. Self-Checking Testbenches
                                                  1. Assertions
                                                    1. Immediate Assertions
                                                      1. Concurrent Assertions
                                                        1. Temporal Assertions
                                                        2. Checking Output Against Expected Results
                                                          1. Comparing Results Against a Golden Model
                                                            1. File I/O for Test Vectors
                                                              1. Reading Test Vectors from Files
                                                                1. Writing Results to Files
                                                                2. Automatic Result Verification
                                                                3. Advanced Verification Concepts
                                                                  1. Coverage-Driven Verification
                                                                    1. Functional Coverage
                                                                      1. Code Coverage
                                                                        1. Statement Coverage
                                                                          1. Branch Coverage
                                                                            1. Expression Coverage
                                                                              1. Toggle Coverage
                                                                            2. Constrained Random Verification
                                                                              1. Random Stimulus Generation
                                                                                1. Constraint Specification
                                                                                2. Assertion-Based Verification
                                                                                  1. Property Specification
                                                                                    1. Temporal Logic
                                                                                  2. Simulation Tools and Techniques
                                                                                    1. Simulation Environments
                                                                                      1. Vendor Simulators
                                                                                        1. Xilinx Vivado Simulator
                                                                                          1. Intel ModelSim
                                                                                          2. Third-Party Simulators
                                                                                            1. Synopsys VCS
                                                                                              1. Cadence Xcelium
                                                                                            2. Waveform Viewers
                                                                                              1. Signal Tracing
                                                                                                1. Hierarchical Browsing
                                                                                                  1. Measurement Tools
                                                                                                  2. Debug Techniques
                                                                                                    1. Breakpoints
                                                                                                      1. Single Stepping
                                                                                                        1. Variable Inspection
                                                                                                        2. Performance Optimization
                                                                                                          1. Simulation Speed Optimization
                                                                                                            1. Memory Usage Optimization
                                                                                                          2. Formal Verification
                                                                                                            1. Introduction to Formal Methods
                                                                                                              1. Property Checking
                                                                                                                1. Safety Properties
                                                                                                                  1. Liveness Properties
                                                                                                                  2. Equivalence Checking
                                                                                                                    1. Combinational Equivalence
                                                                                                                      1. Sequential Equivalence
                                                                                                                      2. Model Checking
                                                                                                                        1. Formal Verification Tools