AN 775: Generating Initial I/O Timing Data and I/O Element Delays for Altera FPGAs

ID 683103
Date 9/29/2025
Public

2.1. Step 1: Create Simple Flip-Flop Design

Follow these steps to define and synthesize the flip-flop logic to generate the IOE:
  1. Create a new project in Quartus® Prime Pro Edition software version 25.3.
  2. Click Assignments > Device, specify your target device Family and a Target device. For example, select the AGFA014R24A Agilex™ FPGA portfolio FPGA.
  3. Click File > New click Verilog HDL File.
  4. Create a simple flip-flop design, as the following shows:
    module dff (
         input D, 
         input clock,
         output reg Q);
         always @ (posedge clock)
         begin
         Q <= D;
         end
    endmodule
    
  5. Repeat step 3 to create the flip-flop design that connects two instances of the DFF, as the following shows:
    module design_1(
         input	clock,
         input	input_1,
         output output_1);
    dff register_in (.clock(clock),.D(input_1), .Q(Q));
    dff register_out (.clock(clock),.D(Q), .Q(output_1));
    endmodule
    
    Figure 10. DFFs with Pin Connection


  6. To synthesize the DFF, click Processing > Start > Start Analysis & Synthesis. Synthesis generates the minimum design netlist required to obtain I/O timing data.