Tôi đến từ một nền tảng lập trình và không bị rối tung quá nhiều với phần cứng hoặc phần sụn (nhiều nhất là một chút điện tử và Arduino).
Động lực trong việc sử dụng các ngôn ngữ mô tả phần cứng (HDL) như Verilog và VHDL so với các ngôn ngữ lập trình như C hoặc một số hội là gì?
Đây có phải là vấn đề của sự lựa chọn?
Tôi đọc phần cứng đó, phần sụn của nó được viết bằng HDL, có một lợi thế rõ ràng trong việc chạy các hướng dẫn song song. Tuy nhiên, tôi đã rất ngạc nhiên khi thấy các cuộc thảo luận bày tỏ sự nghi ngờ về việc nên viết firmware trong C hay hội (làm thế nào hội phù hợp nếu bạn không nhất thiết phải có CPU?) Nhưng tôi kết luận đó cũng là một lựa chọn.
Do đó, tôi có một vài câu hỏi (đừng ngần ngại giải thích bất cứ điều gì):
Phần sụn thực sự có thể được viết bằng HDL hoặc bằng ngôn ngữ lập trình phần mềm, hay đó chỉ là một cách khác để thực hiện cùng một nhiệm vụ? Tôi thích những ví dụ thực tế. Những hạn chế kết quả từ mỗi lựa chọn?
Tôi biết rằng việc sử dụng phần mềm cơ sở trên phần mềm là phổ biến trong các bộ tăng tốc phần cứng (như GPU, bộ điều hợp mạng, bộ tăng tốc SSL, v.v.). Theo tôi hiểu, việc tăng tốc này không phải lúc nào cũng cần thiết, mà chỉ được khuyến nghị (ví dụ, trong trường hợp SSL và tăng tốc của các thuật toán phức tạp). Có thể chọn giữa phần sụn và phần mềm trong mọi trường hợp không? Nếu không, tôi rất vui với các trường hợp trong đó phần sụn rõ ràng và phù hợp một cách rõ ràng.
Tôi đã đọc rằng phần sụn chủ yếu được ghi trên ROM hoặc flash. Làm thế nào nó được đại diện trong đó? Trong bit, như phần mềm? Nếu vậy, sự khác biệt sâu sắc là gì? Đây có phải là sự sẵn có của các mạch thích ứng trong trường hợp phần sụn?
Tôi đoán tôi đã phạm sai lầm ở đây và ở đó trong một số giả định, xin vui lòng tha thứ cho tôi. Cảm ơn bạn!