ฉันมาจากพื้นหลังการเขียนโปรแกรมและไม่ยุ่งกับฮาร์ดแวร์หรือเฟิร์มแวร์มากเกินไป (อย่างน้อยอุปกรณ์อิเล็กทรอนิกส์และ Arduino)
อะไรคือแรงจูงใจในการใช้ภาษาคำอธิบายฮาร์ดแวร์ (HDL) เช่น Verilog และ VHDL เหนือภาษาการเขียนโปรแกรมเช่น C หรือแอสเซมบลีบางส่วน
ปัญหานี้เป็นเรื่องของการเลือกหรือไม่?
ฉันอ่านว่าฮาร์ดแวร์ซึ่งเฟิร์มแวร์เขียนใน HDL นั้นมีข้อได้เปรียบที่ชัดเจนในการรันคำสั่งแบบขนาน อย่างไรก็ตามฉันรู้สึกประหลาดใจที่เห็นการอภิปรายแสดงความสงสัยว่าจะเขียนเฟิร์มแวร์ใน C หรือ Assembly (แอสเซมบลีที่เหมาะสมถ้าคุณไม่จำเป็นต้องมี CPU?) แต่ฉันสรุปว่ามันเป็นตัวเลือก
ดังนั้นฉันมีคำถามสองสามข้อ (อย่าลังเลที่จะอธิบายอะไร):
เฟิร์มแวร์สามารถเขียนได้ทั้งใน HDL หรือในภาษาโปรแกรมซอฟต์แวร์หรือเป็นอีกวิธีหนึ่งในการทำภารกิจเดียวกัน ฉันชอบที่จะเป็นตัวอย่างในโลกแห่งความจริง ข้อ จำกัด ใดบ้างที่เกิดขึ้นจากตัวเลือกแต่ละตัว
ฉันรู้ว่าการใช้เฟิร์มแวร์โดยทั่วไปของซอฟต์แวร์นั้นอยู่ในตัวเร่งความเร็วฮาร์ดแวร์ (เช่น GPU, อะแดปเตอร์เครือข่าย, ตัวเร่งความเร็ว SSL ฯลฯ ) ตามที่ฉันเข้าใจแล้วการเร่งความเร็วนี้ไม่จำเป็นเสมอไป แต่แนะนำเท่านั้น (เช่นในกรณีของ SSL และการเร่งความเร็วของอัลกอริทึมที่ซับซ้อน) สามารถเลือกระหว่างเฟิร์มแวร์และซอฟต์แวร์ในทุกกรณีหรือไม่? ถ้าไม่ฉันยินดีที่จะให้กรณีที่เฟิร์มแวร์ที่เหมาะสมอย่างชัดเจนและชัดเจน
ฉันอ่านแล้วว่าเฟิร์มแวร์ส่วนใหญ่เขียนบน ROM หรือแฟลช มันถูกแสดงในที่นั้นได้อย่างไร? ในบิตเช่นซอฟต์แวร์? ถ้าเป็นเช่นนั้นความแตกต่างที่ลึกซึ้งคืออะไร? ความพร้อมใช้งานของวงจรดัดแปลงในกรณีของเฟิร์มแวร์หรือไม่?
ฉันเดาว่าฉันทำผิดพลาดที่นี่และมีสมมติฐานบางอย่างโปรดยกโทษให้ฉัน ขอบคุณ!