คําสั่งนาฬิกาที่สร้างขึ้นโดยตัววิเคราะห์เวลา

author-image

โดย

ตัววิเคราะห์เวลาจะพิจารณาถึงตัวแบ่งสัญญาณนาฬิกา สัญญาณนาฬิการะลอกหรือวงจรที่ปรับเปลี่ยนหรือเปลี่ยนคุณสมบัติของนาฬิกาขาเข้าหรือโฮสต์เมื่อนาฬิกาถูกสร้างขึ้น คุณควรกําหนดเอาต์พุตของวงจรเหล่านี้ว่าเป็นสัญญาณนาฬิกาที่สร้างขึ้น คํานิยามนี้ช่วยให้ตัววิเคราะห์เวลาสามารถวิเคราะห์นาฬิกาเหล่านี้และบัญชีสําหรับความหน่วงแฝงของเครือข่ายใดๆ ที่เกี่ยวข้องกับนาฬิกาเหล่านี้

คุณสามารถใช้คําสั่ง create_generated_clock เพื่อสร้างนาฬิกาที่สร้างขึ้น รายการต่อไปนี้แสดงคําสั่ง create_generated_clock และตัวเลือกที่มีอยู่:

create_generated_clock
   [ชื่อ<clock>]
   -source <host pin>
   [-edges <edge list>]
   [-edge_shift <shift list>]
   [-divide_by <factor>]
   [-multiply_by <factor> >]
   [-duty_cycle <percent>]
   [-add] [-invert]
   [-host_clock <clock>]
   [-phase <phase>]
   [-offset <offset>]
   < วัตถุแหล่งข้อมูล>

ตารางที่ 1 อธิบายถึงตัวเลือกสําหรับคําสั่งcreate_generated_clock

ตารางที่ 1 คําอธิบายตัวเลือกสําหรับคําสั่ง create_generated_clock

คําอธิบายตัวเลือก
-ชื่อ <ชื่อคล็อก> ชื่อของนาฬิกาที่สร้างขึ้น ตัวอย่างเช่น clk_x2 หากคุณไม่ได้ระบุชื่อนาฬิกา ชื่อนาฬิกาจะเหมือนกับโหนดแรกที่มีการกําหนดนาฬิกาให้
พิน <host ต้นทาง> พิน <host> จะระบุโหนดในการออกแบบที่การตั้งค่านาฬิกาได้รับ
-รายการ edges <edge> |-edge_shift <shift > ตัวเลือก -edges จะระบุขอบที่เพิ่มขึ้นและลดลงใหม่ในส่วนที่เกี่ยวกับขอบที่เพิ่มขึ้นและลดลงของนาฬิกาโฮสต์ Edge ที่เพิ่มขึ้นและลดลงของนาฬิกาโฮสต์จะมีหมายเลข 1.<n> เริ่มจาก Edge ที่เพิ่มขึ้นครั้งแรก เช่น Edge 1 Edge แรกที่ลดลงหลังจากนั้นคือ Edge Number 2, หมายเลข Edge ที่เพิ่มขึ้นถัดไป 3 และอื่นๆ รายการ <edge>ต้องอยู่ในลําดับที่เพิ่มขึ้น สามารถใช้ Edge เดียวกันกับสองรายการเพื่อระบุการเต้นของสัญญาณนาฬิกาโดยไม่ขึ้นกับรอบการทํางานของรูปคลื่นเดิม edge_shift ระบุจํานวนการเปลี่ยนแปลงสําหรับแต่ละ Edge ในรายชื่อ <edge > สามารถใช้ตัวเลือก -invert เพื่อแปลงนาฬิกาหลังจากใช้ -edges และ -edge_shifts
-divide_by <แฟคเตอร์>| -multiply_by<แฟคเตอร์> ปัจจัยdivide_byและmultiply_byอิงตามขอบนาฬิกาที่เพิ่มขึ้นครั้งแรก และขยายหรือทําสัญญารูปคลื่นตามปัจจัยที่ระบุ ตัวอย่างเช่น -divide_by 2 เทียบเท่ากับ -edges {1 3 5} สําหรับนาฬิกาคูณ สามารถระบุรอบหน้าที่ได้อีกด้วย ตัววิเคราะห์เวลารองรับการระบุตัวคูณและแบ่งปัจจัยในเวลาเดียวกัน
-duty_cycle<เปอร์เซนต์> ระบุวงจรหน้าที่ของนาฬิกาที่สร้างขึ้น รอบหน้าที่จะถูกนําไปใช้ล่าสุด
-เพิ่ม อนุญาตให้คุณระบุมากกว่าหนึ่งนาฬิกาไปยังพินเดียวกัน
-invert การกลับรายการจะถูกใช้ที่เอาต์พุตของนาฬิกาหลังจากที่มีการใช้การปรับเปลี่ยนอื่นๆ ทั้งหมด ยกเว้นรอบหน้าที่
-host_clock<คล็อก> host_clockจะถูกใช้เพื่อระบุนาฬิกาหากมีหลายนาฬิกาอยู่ที่พินโฮสต์
-เฟส<phase> ระบุเฟสของนาฬิกาที่สร้างขึ้น
-ออฟเซ็ต<offset> ระบุออฟเซ็ตของนาฬิกาที่สร้างขึ้น
วัตถุแหล่งข้อมูล<> ระบุพอร์ตหรือพินที่การมอบหมายมีผล

ความหน่วงแฝงแหล่งที่มาขึ้นอยู่กับความล่าช้าของเครือข่ายนาฬิกาจากนาฬิกาโฮสต์ (ไม่จําเป็นต้องเป็นพินโฮสต์) คุณสามารถใช้คําสั่ง set_clock_latency -source เพื่อแทนที่ความหน่วงแฝงของแหล่งที่มาได้

รูปภาพที่ 1 แสดงรูปคลื่นสําหรับคําสั่ง SDC ต่อไปนี้ที่สร้างนาฬิกาแบบกลับด้านโดยใช้นาฬิกา 10 ns

create_clock -period 10 [get_ports clk]
create_generated_clock -divide_by 1 -invert -source [get_registers clk] \
    [get_registers เจนเนอเร|clkreg]

รูปภาพที่ 1 การสร้างนาฬิกาแบบกลับด้าน

รูปภาพที่ 2 แสดงรูปคลื่นสําหรับคําสั่ง SDC ต่อไปนี้ที่ปรับเปลี่ยนนาฬิกาที่สร้างขึ้นโดยใช้ตัวเลือก-edgeและ-edge_shift

create_clock -period 10 -waveform { 0 5 } [get_ports clk]
# สร้างcreate_generated_clockนาฬิกาแบบหารด้วย 2
-source [get_ports clk] -edges { 1 3 5 } \
    [get_registers clkdivA|clkreg] # สร้างการแบ่งตาม
2 นาฬิกาโดยไม่ขึ้นกับรอบการทํางานของนาฬิกาโฮสต์ตอนนี้ 50%)
create_generated_clock -source [get_ports clk] -edges { 1 1 5 } -edge_shift  0 5 0 }
    \ [get_registers clkdivB|clkreg]

รูปภาพที่ 2 Edge & Edge ที่ขยับนาฬิกาที่สร้างขึ้น

รูปภาพที่ 3 แสดง wafeforms สําหรับคําสั่ง SDC ต่อไปนี้ที่แสดงให้เห็นถึงผลของตัวเลือก -คูณ บนนาฬิกาที่สร้างขึ้น

create_clock -period 10 -waveform { 0 5 } [get_ports clk]
# สร้างcreate_generated_clockนาฬิกาคูณคูณ 2
-source [get_ports clk] -multiply_by 2
    \ [get_registers clkmult|clkreg]

รูปภาพที่ 3 การคูณนาฬิกาที่สร้างขึ้น

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