2
ข้อ จำกัด การจับเวลา ASIC ผ่าน SDC: วิธีการระบุนาฬิกามัลติเพล็กอย่างถูกต้อง?
บทนำ เมื่อพบข้อมูลหลายอย่างที่ขัดแย้งหรือไม่ครบถ้วนบนอินเทอร์เน็ตและในบางคลาสฝึกอบรมเกี่ยวกับวิธีสร้างข้อ จำกัด เวลาในรูปแบบ SDCอย่างถูกต้องฉันต้องการขอความช่วยเหลือจากชุมชน EE สำหรับโครงสร้างการสร้างนาฬิกาทั่วไปที่ฉันพบ ฉันรู้ว่ามีความแตกต่างในวิธีที่จะใช้ฟังก์ชั่นบางอย่างใน ASIC หรือ FPGA (ฉันได้ทำงานกับทั้งคู่) แต่ฉันคิดว่าควรมีวิธีทั่วไปที่ถูกต้องในการ จำกัด เวลาของโครงสร้างที่กำหนดโดยไม่ขึ้นกับ เทคโนโลยีพื้นฐาน - โปรดแจ้งให้เราทราบหากฉันทำผิดในสิ่งนั้น นอกจากนี้ยังมีความแตกต่างบางอย่างระหว่างเครื่องมือต่าง ๆ สำหรับการใช้งานและการวิเคราะห์เวลาของผู้ขายต่าง ๆ (แม้จะมี Synopsys ที่เสนอซอร์สโค้ดตัวแยกวิเคราะห์ SDC) แต่ฉันหวังว่าพวกเขาส่วนใหญ่จะมีปัญหาเกี่ยวกับไวยากรณ์ซึ่งสามารถค้นหาได้ในเอกสาร คำถาม นี่คือโครงสร้างนาฬิกามัลติเพล็กเซอร์ต่อไปนี้ซึ่งเป็นส่วนหนึ่งของโมดูลclkgenซึ่งเป็นส่วนหนึ่งของการออกแบบที่มีขนาดใหญ่ขึ้นอีกครั้ง: ในขณะที่ext_clkอินพุตถูกสร้างขึ้นจากการออกแบบภายนอก (การป้อนผ่านอินพุตพิน), clk0และclk4สัญญาณยังถูกสร้างและใช้งานโดยโมดูลclkgen (ดูคำถามนาฬิการะลอกของฉันที่เกี่ยวข้องสำหรับรายละเอียด) และมีข้อ จำกัด เกี่ยวกับนาฬิกาชื่อbaseclkและdiv4clk, ตามลำดับ คำถามคือวิธีการระบุข้อ จำกัด เช่นที่วิเคราะห์เวลา ถือว่าcpu_clkเป็นนาฬิกาแบบมัลติเพล็กซ์ซึ่งสามารถเป็นหนึ่งในนาฬิกาแหล่งที่มา ( fast_clkหรือslow_clkหรือext_clk) โดยคำนึงถึงความล่าช้าผ่านประตู AND และ OR ที่แตกต่างกัน ในขณะเดียวกันก็ไม่ตัดเส้นทางระหว่างนาฬิกาต้นทางที่ใช้ในที่อื่นในการออกแบบ ในขณะที่กรณีที่ง่ายที่สุดของมัลติเพล็กเซอร์นาฬิกาบนชิปดูเหมือนจะต้องการเพียงแค่set_clock_groupsคำสั่ง …