ID บทความ: 000074881 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 14/02/2020

ควรใช้ข้อจํากัดด้านเวลาใดระหว่างfpga_dclkและfpga_dataในคอร์Intel® FPGA IP Parallel Flash Loader

สิ่งแวดล้อม

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    คำอธิบาย

    เมื่อใช้Intel® FPGA IP Parallel Flash Loader จะมีคําอธิบายข้อจํากัดด้านเวลาสําหรับfpga_dataและfpga_dclkซึ่งเป็นการจํากัดเวลา PFL ในคู่มือผู้ใช้ Core Intel® FPGA IP Flash Loader แบบขนาน  อย่างไรก็ตาม ข้อจํากัดในเวอร์ชันเอกสาร 2019.02.19 และก่อนหน้าไม่ถูกต้อง

    ความละเอียด

    หากต้องการจํากัดการกําหนดเวลาfpga_dataและfpga_dclkอย่างถูกต้อง ให้ใช้ข้อจํากัดด้านเวลาต่อไปนี้ ตามอัตราส่วนระหว่างสัญญาณนาฬิกาอินพุตและเอาต์พุต DCLK

    [ เมื่ออัตราส่วนระหว่างสัญญาณนาฬิกาอินพุตและเอาต์พุต DCLK = 1 ]
    # สร้างนาฬิกา
    create_clock -name {pfl_clk} -period -waveform { 0.000 /2 } [get_ports {pfl_clk}]
    # สร้างนาฬิกา
    create_generated_clock -name {fpga_dclk} -source [get_ports {pfl_clk}] -master_clock {pfl_clk} -invert [get_ports {fpga_dclk}]
    # ตั้งค่าความล่าช้าของเอาต์พุต
    ข้อจํากัดด้านเวลา set_output_delay -add_delay -max -clock [get_clocks {fpga_dclk}] time [get_ports {fpga_data*}]
    ข้อจํากัดด้านเวลาset_output_delay -add_delay -min [get_clocks {fpga_dclk}] [get_ports {fpga_data*}]

    [ เมื่ออัตราส่วนระหว่างสัญญาณนาฬิกาอินพุตและเอาต์พุต DCLK > 1 ]
    # สร้างนาฬิกา
    create_clock -name {pfl_clk} -period -waveform { 0.000 /2 } [get_ports {pfl_clk}]
    # สร้างนาฬิกา
    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}]
    # ตั้งค่าความล่าช้าของเอาต์พุต
    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*}]
    # ตั้งพาธมัลติวงจร
    set_multicycle_path -setup -start -from [get_clocks {pfl_clk}] -ไปยัง [get_clocks {}] < Ratio ระหว่างสัญญาณนาฬิกาอินพุตและเอาต์พุต DCLK>/2
    set_multicycle_path -hold -start -from [get_clocks {pfl_clk}] -ไปยัง [get_clocks {}] -1

     

    • ในตัวอย่างนี้ จะใช้ชื่อพอร์ต PFL Intel FPGA IP Core
    • การลงทะเบียน DCLK เป็นการลงทะเบียนเพื่อแบ่งpfl_clk ชื่อการลงทะเบียนมักจะเป็น "fpga_dclk_reg" คุณสามารถค้นหาการลงทะเบียนได้โดยติดตามปลายทางต้นทางจากพอร์ต fpga_dclk โดยใช้เครื่องมือ Technology Map Viewer
    • Intel แนะนําให้ใช้ Timing Analyzer GUI เพื่อตรวจสอบข้อจํากัด

     

    [ตัวอย่าง]

    • สภาพ
    o ระยะเวลาpfl_clk = 20ns (50MHz)
    o อัตราส่วนระหว่างสัญญาณนาฬิกาอินพุตและเอาต์พุต DCLK = 2

    • ข้อจํากัดด้านเวลา

    # สร้างนาฬิกา
    create_clock -name {pfl_clk} -period 20.000 -waveform { 0.000 10.000 } [get_ports {pfl_clk}]
    # สร้างนาฬิกา
    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}]
    # ตั้งค่าความล่าช้าของเอาต์พุต
    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*}]
    # ตั้งพาธมัลติวงจร
    set_multicycle_path -setup -start -from [get_clocks {pfl_clk}] -ไปยัง [get_clocks {fpga_dclk_pin}] 1
    set_multicycle_path -hold -start -from [get_clocks {pfl_clk}] -ไปยัง [get_clocks {fpga_dclk_pin}] 1

    ผลิตภัณฑ์ที่เกี่ยวข้อง

    บทความนี้จะนำไปใช้กับ 4 ผลิตภัณฑ์

    Intel® Cyclone®
    Intel® Stratix®
    Intel® Arria®
    ซีพีแอลดีและเอฟพีจีเอ Intel® MAX®

    เนื้อหาในหน้านี้เป็นการผสมผสานระหว่างการแปลเนื้อหาต้นฉบับภาษาอังกฤษโดยมนุษย์และคอมพิวเตอร์ เนื้อหานี้จัดทำขึ้นเพื่อความสะดวกของคุณและเพื่อเป็นข้อมูลทั่วไปเท่านั้นและไม่ควรอ้างอิงว่าสมบูรณ์หรือถูกต้อง หากมีความขัดแย้งใด ๆ ระหว่างเวอร์ชันภาษาอังกฤษของหน้านี้กับคำแปล เวอร์ชันภาษาอังกฤษจะมีผลเหนือกว่าและควบคุม ดูเวอร์ชันภาษาอังกฤษของหน้านี้