Fpga_start from 0
Fpga là gì?
Cái này các bạn tra wiki để biết rõ thêm chi tiết. Với mình nôm na thì fpga cũng là một loại chip điều khiển, ta có thể lập trình cho nó hoạt động theo ý mình muốn. Tất nhiên chưa bàn đến ngôn ngữ, tính năng...
Song song với FPGA bạn sẽ hay được nghe thêm từ khoá Asic. Vậy Asic là gì?
Theo ngôn từ nôm na của tôi thì nó cũng là một loại chip điều khiển nhưng ta không thể lập trình cho nó một cách tuỳ tiện. Các tính năng của nó đã được cố định, bạn chỉ có thể thay đổi nội dung các thanh ghi điều khiển để chip chuyển các mode hoạt động.
Vậy tại sao FPGA lại liên quan đến Asic? Có nhiều lý do nhưng theo mình có 3 lý do chính sau:
1. Cả 2 đều hoạt động và hình thành ở mức cổng logic. ( flip flop, and, or...)
2. Đều lập trình trên ngôn ngữ Hardware Description Language. Verilog hoặc VHDL.
3. Trong quy trình sản xuất Asic, người ta hay dùng FPGA để kiểm thử hoạt động của thiết kế.
Giá thành của FPGA thường cao hơn vì nó là một chip mang dung lượng số cổng logic lớn, giúp người dùng có thể tuỳ biến thiết kế của mình. Asic thì giá thành rẻ hơn, số lượng cổng logic giới hạn và người dùng không thể thay đổi chức năng của chip.
Nhưng quy trình sản xuất asic lại phức tạp và đắt đỏ hơn FPGA. Asic thường là các chip được chỉ định tính năng sẵn nên việc thiết kế nó khó khăn và khắt khe hơn. Thường sẽ mất 9 tháng để hoàn thành một chip bao gồm từ khâu thiết kế phác thảo cho đến hình thành chip.
Bài viết mình sẽ cố gắng nói về cả FPGA và Asic nhưng thú thật Asic mình không rành lắm :D nên chủ yếu sẽ thiên về FPGA.
Trước tiên để học FPGA bạn cần những gì:
1. Development tool. Bạn có thể down vivado bản web cùa xilinx.
2. Ngôn ngữ lập trình: Verilog hoặc VHDL. Mình khuyến khích nên học verilog vì nó sẽ gần ngôn ngữ lập trình software, dễ đọc hơn. Trong những năm gần đây còn có thêm SystemVerilog, C, SystemC đang phát triển mạnh.
Học verilog bạn có thể tham khảo ở đây
http://www.asic-world.com/verilog/veritut.html
Các bài sau mình sẽ không động đến việc cài tool hay nói về verilog mà sẽ nói các điểm lưu ý khi thiết kể FPGA/Asic.
Comments
Post a Comment