Artikel-ID: 000074881 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 14.02.2020

Welche Timing-Einschränkungen sollten zwischen fpga_dclk und fpga_data im Parallel Flash Loader Intel® FPGA IP Kern verwendet werden?

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Wenn Sie den Intel® FPGA IP für den Parallel-Flash-Loader verwenden, werden die Timing-Beschränkungen für fpga_data und fpga_dclk im Benutzerhandbuch "Beschränkungen von PFL-Timing" im Parallel-Flash-Loader Intel® FPGA IP Core beschrieben.  Die Einschränkungen in Dokumentversion 2019.02.19 und früher sind jedoch nicht korrekt.

    Lösung

    Um das Timing von fpga_data und fpga_dclk korrekt einzuschränken, verwenden Sie je nach Verhältnis zwischen Eingangstakt und DCLK-Ausgabe eine der folgenden Timing-Einschränkungen.

    [ Wenn das Verhältnis zwischen Eingangs-Takt und DCLK-Ausgabe = 1 ]
    Anzahl create clock (Uhr erstellen)
    create_clock -name {pfl_clk} -period -waveform { 0.000 /2 } [get_ports {pfl_clk}]
    Anzahl generierte Taktfrequenz erstellen
    create_generated_clock -name {fpga_dclk} -source [get_ports {pfl_clk}] -master_clock {pfl_clk} -invert [get_ports {fpga_dclk}]
    Anzahl festgelegte Ausgabeverzögerung
    set_output_delay -add_delay -max -clock [get_clocks {fpga_dclk}] [get_ports {fpga_data*}]
    set_output_delay -add_delay -min -clock [get_clocks {fpga_dclk}] [get_ports {fpga_data*}]

    [ Wenn das Verhältnis zwischen Eingangstakt und DCLK-Ausgabe > 1 ]
    Anzahl create clock (Uhr erstellen)
    create_clock -name {pfl_clk} -period -waveform { 0.000 /2 } [get_ports {pfl_clk}]
    Anzahl generierte Taktfrequenz erstellen
    create_generated_clock -name {} -source [get_ports {pfl_clk}] -divide_by -master_clock {pfl_clk} [get_registers {} ]
    create_generated_clock -name {} -source [get_registers {}] -master_clock {} [get_ports {fpga_dclk}]
    Anzahl festgelegte Ausgabeverzögerung
    set_output_delay -add_delay -max -clock [get_clocks {}] -reference_pin [get_ports {fpga_dclk}] [get_ports {fpga_data*}]
    set_output_delay -add_delay -min -clock [get_clocks {}] -reference_pin [get_ports {fpga_dclk}] [get_ports {fpga_data*}]
    Anzahl Multizyklenpfad festlegen
    set_multicycle_path -setup -start -from [get_clocks {pfl_clk}] -to [get_clocks {}] < Ratio zwischen Eingangs-Takt und DCLK-Ausgabe>/2
    set_multicycle_path -hold -start -from [get_clocks {pfl_clk}] -to [get_clocks {}] -1

     

    • In diesen Beispielen werden PFL-Intel FPGA IP Port-Namen des Kerns verwendet.
    • Das DCLK-Register ist ein Register zur Aufteilung pfl_clk. Der Registername lautet in der Regel "fpga_dclk_reg". Sie können das Register finden, indem Sie das Quellziel vom fpga_dclk Port aus mit dem Technology Map Viewer-Tool verfolgen.
    • Intel empfiehlt, zur Validierung der Constratrains die Timing Analyzer GUI zu verwenden.

     

    [Beispiel]

    • Zustand
    o pfl_clk Zeitraum = 20 nm (50 MHz)
    o Verhältnis zwischen Eingangstakt und DCLK-Ausgabe = 2

    • Zeiteinschränkungen

    Anzahl create clock (Uhr erstellen)
    create_clock -name {pfl_clk} -period 20.000 -waveform { 0.000 10.000 } [get_ports {pfl_clk}]
    Anzahl generierte Taktfrequenz erstellen
    create_generated_clock -name {fpga_dclk_gen} -source [get_ports {pfl_clk}] -divide_by 2 -master_clock {pfl_clk} [get_registers {pfl:inst|altparallel_flash_loader:altparallel_flash_loader_component|alt_pfl:\PFL_CFI:pfl_cfi_inst|alt_pfl_cfg3:\CFG3:cfg|alt_pfl_cfg_fpga:alt_pfl_cfg_fpga|fpga_dclk_reg}]
    create_generated_clock -name {fpga_dclk_pin} -source [get_registers {pfl_top:pfl_top_inst|altera_parallel_flash_loader:parallel_flash_loader_0|altparallel_flash_loader:altparallel_flash_loader_component|alt_pfl:\PFL_CFI:pfl_cfi_inst|alt_pfl_cfg3:\CFG3:cfg|alt_pfl_cfg_fpga:alt_pfl_cfg_fpga|fpga_dclk_reg}] -master_clock {fpga_dclk_gen} [get_ports {fpga_dclk}]
    Anzahl festgelegte Ausgabeverzögerung
    set_output_delay -add_delay -max -clock [get_clocks {fpga_dclk_gen}] -reference_pin [get_ports {fpga_dclk}] 5,500 [get_ports {fpga_data*}]
    set_output_delay -add_delay -min -clock [get_clocks {fpga_dclk_gen}] -reference_pin [get_ports {fpga_dclk}] -1,000 [get_ports {fpga_data*}]
    Anzahl Multizyklenpfad festlegen
    set_multicycle_path -setup -start -from [get_clocks {pfl_clk}] -to [get_clocks {fpga_dclk_pin}] 1
    set_multicycle_path -hold -start -from [get_clocks {pfl_clk}] -to [get_clocks {fpga_dclk_pin}] 1

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 4 Produkte

    Intel® Cyclone®
    Intel® Stratix®
    Intel® Arria®
    Intel® MAX®

    Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.