ใช่ คุณอาจพบปัญหาเกี่ยวกับความถี่สัญญาณนาฬิกาเอาต์พุตเมื่อตั้งค่ารอบการทํางานอื่นนอกเหนือจาก 50% ใน PLL Intel FPGA IP ซึ่งอาจเกิดขึ้นได้เมื่อใช้ซอฟต์แวร์ Quartus® II เวอร์ชั่น 13.0sp1 และก่อนหน้า
ปัญหาเกิดขึ้นหากคํานวณพารามิเตอร์ C-Counter Hi Divide และ C-Counter Low Divide อย่างไม่ถูกต้องโดย Intel FPGA IP PLL รายงานการคอมไพล์ => Fitter => Resource Section =>สรุปการใช้งาน PLL จะแสดงความถี่สัญญาณนาฬิกาเอาต์พุตจริง หากความถี่สัญญาณนาฬิกาเอาต์พุตที่รายงานไม่ถูกต้อง พารามิเตอร์ C-Counter Hi Divide หรือ C-Counter Low Divide จะไม่ถูกต้อง
ตัวนับ C ใช้ในการแบ่งความถี่ออสซิลเลเตอร์ที่ควบคุมแรงดันไฟฟ้า (VCO) เข้ากับความถี่เอาต์พุตที่ต้องการ ผลบวกของพารามิเตอร์ C-Counter Hi Divide และ C-Counter Low Divide คือค่าตัวแบ่งผลลัพธ์ของความถี่ VCO
ตัวอย่างเช่น หาก VCO ทํางานที่ 840 MHz และนาฬิกาเอาต์พุตที่ต้องการคือ 105 MHz จะต้องมีค่าการหารทั้งหมด 8 สําหรับรอบหน้าที่ 50% จํานวนที่สูงและต่ําควรถูกแบ่งอย่างเท่าเทียมกันระหว่างพารามิเตอร์ C-Counter Hi Divide และ C-Counter Low Divide ซึ่งค่าการแบ่งสําหรับแต่ละพารามิเตอร์คือ 4 หากต้องการสร้างค่ารอบหน้าที่อื่นๆ คุณสามารถปรับพารามิเตอร์ C-Counter Hi Divide และ C-Counter Low Divide ตามที่ต้องการ คุณต้องตรวจสอบให้แน่ใจว่าค่ารวมของพารามิเตอร์เหล่านี้เท่ากับค่าการแบ่งทั้งหมดเพื่อสร้างความถี่สัญญาณนาฬิกาเอาต์พุตที่ต้องการ
หากค่าการแบ่งทั้งหมดเป็นค่าคี่ คุณจําเป็นต้องเปิดพารามิเตอร์ C-Counter Odd Divide Enable หากจําเป็นต้องมีรอบหน้าที่ 50% ตัวอย่างเช่น หาก VCO ทํางานที่ 840 MHz และความถี่สัญญาณนาฬิกาเอาต์พุตที่ต้องการคือ 120 MHz จะต้องมีค่าหารทั้งหมด 7 ในกรณีนี้ พารามิเตอร์ C-Counter Hi Divide จะเป็น 4 พารามิเตอร์ C-Counter Low Divide จะเป็น 3 และตั้งค่าพารามิเตอร์ C-Counter Odd Divide Enable เป็น True หากจําเป็นต้องมีรอบการทํางานอื่นนอกเหนือจาก 50% คุณจะต้องปรับพารามิเตอร์ C-Counter Hi Divide และพารามิเตอร์ C-Counter Low Divide ตามความจําเป็น คุณต้องตรวจสอบให้แน่ใจว่าค่ารวมของพารามิเตอร์เหล่านี้เท่ากับค่าการแบ่งทั้งหมดเพื่อสร้างความถี่สัญญาณนาฬิกาเอาต์พุตที่ต้องการ
หากต้องการแก้ไขปัญหานี้ในการออกแบบของคุณ ให้เปิดชื่ออินสแตนซ์ <PLL>_0002.v และค้นหาพารามิเตอร์ C-Counter Hi Divide และ C-Counter Low Divide สําหรับสัญญาณนาฬิกาเอาต์พุตที่ได้รับผลกระทบ ปรับพารามิเตอร์เหล่านี้ตามความจําเป็นเพื่อสร้างความถี่สัญญาณนาฬิกาเอาต์พุตที่ถูกต้องและรอบการทํางานที่ต้องการ
หาก VCO ทํางานที่ 840 MHz และความถี่สัญญาณนาฬิกาเอาต์พุตที่ต้องการคือ 105 MHz พร้อมด้วยรอบการทํางาน 12.5% จะต้องมีพารามิเตอร์ต่อไปนี้:
- C-Counter Hi Divide = 1
- C-Counter Low Divide = 7
- เปิดใช้งานการแบ่ง Odd แบบ C-Counter = False
เนื่องจากปัญหาในการคํานวณ PLL Intel FPGA IP ตั้งค่าพารามิเตอร์ต่อไปนี้สําหรับความถี่สัญญาณนาฬิกาเอาต์พุต 120 MHz:
- C-Counter Hi Divide = 1
- C-Counter Low Divide = 6
- เปิดใช้งานการแบ่งแยก C-Counter = True
ในการแก้ไขพารามิเตอร์ในตัวอย่างนี้ ควรตั้งค่าพารามิเตอร์ C-Counter Low Divide เป็น 7 และควรตั้งค่าพารามิเตอร์ C-Counter Odd Divide Enable เป็น False ในไฟล์ <PLL ชื่ออินสแตนซ์>_0002.v