อะไรจะทำให้ฉันเลือก Verilog หรือ VHDL มากกว่าการออกแบบวงจรบน CPLD หรือ FPGA


13

ฉันไม่มีพื้นฐานด้านตรรกะที่ตั้งโปรแกรมได้ฉันใช้ไมโครคอนโทรลเลอร์ส่วนใหญ่ในโครงการของฉัน แต่ไม่นานมานี้ฉันต้องการทำงานกับวิดีโอและไมโครคอนโทรลเลอร์ช้าเกินไปสำหรับสิ่งที่ฉันต้องการดังนั้นฉันจึงเริ่มเล่นกับ CPLD

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

จนถึงตอนนี้ฉันใช้ CPLD เพียงอย่างเดียวการออกแบบ FPGAs มีประโยชน์มากกว่า CPLD จากการใช้ภาษาเหล่านี้หรือไม่


1
คุณอาจจะพบว่าเครื่องมือการสังเคราะห์ที่ผู้จำหน่ายจัดหาให้สำหรับทั้ง Verilog และ VHDL สำหรับชิ้นส่วนหลัก ดังนั้นทางเลือกคือความเห็นอย่างหมดจด ฉันขอแนะนำให้คุณดูทั้งสองและตัดสินใจเลือกสิ่งที่คุณต้องการ Xilinx ให้ตัวอย่างที่ดีในทั้งสองภาษาฉันสงสัยว่าผู้ขายรายอื่นก็เช่นกัน
เดวิด

3
คุณควรหลีกเลี่ยงการจับวงจรเพื่อการออกแบบเชิงตรรกะ มันรู้สึกง่ายขึ้นในช่วงเริ่มต้น แต่มันก็ไม่จริง $ 0.02 ของฉันกับภาษา: VHDL เป็นสิ่งที่น่ารังเกียจใช้ Verilog
markt

@ เครื่องหมายทำไมคุณถึงคิดว่า VHDL นั้นแย่
stanri

2
ใคร ๆ ก็คิดว่า Verilog เป็นสิ่งที่น่ารังเกียจให้ใช้ VHDL VHDL คาดหวังให้คุณพูดในสิ่งที่คุณต้องการอย่างแท้จริงในขณะที่การคาดเดาของ Verilog แต่นั่นเป็นเพียง£ 0.02 ของฉัน
Brian Drummond

1
@ เครื่องหมายฉันเริ่มต้นด้วย VHDL ดังนั้นเมื่อถึงจุดหนึ่งฉันชื่นชมอย่างยิ่งพิมพ์มันของมัน มันบังคับให้ฉันคิดเกี่ยวกับสิ่งที่ฉันต้องการและสร้างนิสัยที่ดีเมื่อฉันเริ่มต้น ตอนนี้ฉันอยู่ไกลเกินไปในค่าย SystemVerilog เพื่อดูแลมากเกินไปไม่ว่าทางตรงไปตรงมา
stanri

คำตอบ:


14

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

โครงการส่วนใหญ่ทำในรูปแบบพฤติกรรม HDL เพราะซับซ้อนเกินไปที่จะสังเคราะห์ด้วยมือและวาดโดยใช้ตรรกะดั้งเดิมแผนผัง

โดยทั่วไปจะใช้ CPLD สำหรับกาวลอจิกและใช้ในการประมวลผลน้อยลงและโดยทั่วไปแล้วตรรกะนั้นใช้งานได้ง่ายดังนั้นฉันคิดว่าคุณคิดถูกเมื่อคุณแนะนำการออกแบบที่ใช้ FPGA นั้นให้ประโยชน์มากกว่าการใช้ HDL


คุณสามารถทำสิ่งที่ซับซ้อนมากในระบบวงจรสัญลักษณ์ ฉันจะกล่าวต่อไปว่าสิ่งใดก็ตามที่สามารถทำได้ใน HDL สามารถนำไปใช้ในระบบที่มีลักษณะเป็นแผนผังแม้ว่าจะมีค่าใช้จ่ายในการบำรุงรักษา ตราบใดที่ชุดเครื่องมือสามารถกำหนดกลุ่มของสัญลักษณ์ที่ทำหน้าที่เป็นสัญลักษณ์เดียวคุณสามารถทำอะไรได้มาก
Connor Wolf

1
ตัวอย่างที่ดีหนึ่งที่นี่คือ labview มันเป็นอินเตอร์เฟสการเขียนโปรแกรมเชิงสัญลักษณ์ที่ผู้คนออกแบบระบบที่ซับซ้อนขนาดใหญ่ซึ่งทำให้โรงงานทั้งหมดเป็นไปโดยอัตโนมัติ ผลลัพธ์ที่ได้คือใกล้เคียงที่สุด แต่เป็นไปได้ (หมายเหตุ: ฉันไม่ได้พูดว่ามันเป็นความคิดที่ดีเพียงแค่ความมีชีวิตขั้นพื้นฐาน)
Connor Wolf

"โครงการส่วนใหญ่ทำในลักษณะพฤติกรรม HDL ... " ไม่สนับสนุนและในความเป็นจริงไม่ใช่การออกแบบที่ไหล
placeholder

@ConnorWolf ต้องไม่เห็นด้วยกับรหัส Labview ว่าไม่สามารถรักษาได้ - ไม่ใช่ว่าฉันเป็นแฟนตัวยง มีแนวทางปฏิบัติที่ดีที่สุดที่จะช่วยได้จริงๆ สำหรับผมมักจะละทิ้งที่ความหวังของการเข้ากันได้ไปข้างหน้าหรือย้อนหลังใด ๆ ที่ทำให้เกิดปัญหาการบำรุงรักษาเมื่อเทียบกับสิ่งที่ธรรมชาติเพื่อ G-ภาษา;)
สกอตต์เซดแมน

4

นอกเหนือจากคำตอบที่ยอดเยี่ยมของ Jay:

  • เป็นโรคจิต เครื่องมือ schematic มีแนวโน้มที่จะ buggier * มากกว่าชุดเครื่องมือที่เหลือ นี่อาจเป็นเพราะการตั้งค่าของ Verilog / VHDL มากกว่าแผนงานในอุตสาหกรรมและทำให้แผนผังรายการได้รับความสนใจน้อยลงโดยผู้พัฒนาซอฟต์แวร์
  • ความเร็ว. แผนผังต้องถูกแปลงเป็น HDL ก่อนที่จะผ่านไปยังเครื่องมือสังเคราะห์ สิ่งนี้อาจมีผลเสียต่อเวลาการสร้าง HDL ที่สร้างขึ้นอาจไม่สามารถอ่านได้มากในกรณีที่คุณจำเป็นต้องตรวจสอบด้วยเหตุผลบางประการ
  • ความเบา ขึ้นอยู่กับปริมาณของอุปกรณ์ดั้งเดิมเฉพาะของผู้ขายที่ใช้ Verilog และ VHDL เป็นอุปกรณ์พกพาที่มากหรือน้อยระหว่างอุปกรณ์ การทำแผนผังการพอร์ตคุณต้องวาดใหม่ทุกอย่างหรือพึ่งพาความสามารถในการนำเข้า / ส่งออกที่มีให้ (ถ้ามี)

* ข้อบกพร่องที่ฉันโปรดปรานใน Xilinx ISE คือการไม่สามารถเลือกสายในแนวตั้ง


2

here มีข้อดีหลายอย่างของ HDL (ภาษาคำอธิบายฮาร์ดแวร์) เป็นมาตรฐานการออกแบบ

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

ภาษาคำอธิบายฮาร์ดแวร์ VHDL และ Verilog ได้รับการออกแบบสำหรับการสร้างแบบจำลองฮาร์ดแวร์ที่มีความตั้งใจในการสร้างแบบจำลองในระดับที่สูงขึ้นซึ่งรวมถึงคุณสมบัติเช่น, การทำงานพร้อมกัน, เวลา, ลำดับชั้น, ลำดับชั้น, การใช้ส่วนประกอบ .

ปัญหาเกิดขึ้นระหว่างการสังเคราะห์การจับคู่คำอธิบายการออกแบบกับกระบวนการเฉพาะและการใช้เกท สิ่งนี้ต้องการให้คุณไม่สามารถใช้คุณสมบัติระดับสูงของ HDL ได้ - คุณต้องผลิต "Verilog / VHDL ที่สังเคราะห์ได้"

ดังนั้นคุณมี HDL สำหรับการสังเคราะห์และ HDL สำหรับการจำลองและชุดย่อยที่ถูกสังเคราะห์เป็นเครื่องมือเฉพาะ

คุณไม่สามารถไปจากคำอธิบายการออกแบบพฤติกรรมไปยังรายการ / โครงร่าง แต่คุณสามารถจัดโครงสร้างการออกแบบของคุณให้มีองค์ประกอบด้านพฤติกรรมที่มีด้านที่สังเคราะห์ได้ซึ่งสามารถเปรียบเทียบกันได้ คุณเริ่มต้นด้วยพฤติกรรมและจากนั้นเมื่อคุณทำงานเขียนใหม่สำหรับการสังเคราะห์ (ซึ่งเป็นส่วนย่อย) คุณเปลี่ยนจากแบบทั่วไปไปเป็นแบบเจาะจงและสร้างแบบทดสอบไปตามทาง


1

ข้อได้เปรียบอีกอย่างหนึ่งคือ HDL จะได้รับประโยชน์เหมือนกับภาษาการเขียนโปรแกรมทั่วไปซึ่งสามารถใช้ในระบบควบคุมเวอร์ชันมาตรฐาน diff-ed เพื่อตรวจสอบการเปลี่ยนแปลง ฯลฯ


0

นอกจากสิ่งที่กล่าวไปแล้ว: การแสดงข้อความนั้นสามารถจัดการได้ง่ายกว่าโดยเฉพาะในโครงการขนาดใหญ่ คุณสามารถ (แม้ว่าจะมีปัญหาใหญ่) แปลง HDL ที่ปรับให้กลายเป็นแผนผัง แต่ข้อความธรรมดาหลายร้อยบรรทัดนั้นง่ายต่อการทำงานกับองค์ประกอบหลายร้อยแผนผัง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.