Kit FPGA


I ) Kit phát triển
Các Kit phát triển FPGA khá mắc tiền (so với túi tiền người Việt). Mình giới thiệu với các bạn 3 kit phát triển rẻ nhất (và mình đã từng làm qua).Theo mình biết thì cả 3 Kit này đều có trong một số trường đại học Kỹ thuật, hoặc có thể mua ở Vietnam.

* Altera FPGA :

+ Cyclone II FPGA Starter Development Kit (DE1) [150USD]

+ Cyclone III FPGA Starter Kit [199USD]

* Xilinx FPGA :

+ Spartan-3 Starter Kit [149USD] (Mình nhớ trước đây có 99USD thôi mà sao giờ nó thành 149USD rồi không biết)

II) Công cụ phát triển • Altera FPGA :

o Altera Quartus
o Altera Nios IDE
o Altera SoPC Builder

• Xilinx FPGA

o Xilinx ISE
o Xilinx EDK
o Xilinx Base System Builder (BSB)

• Mô phỏng

o Mentor Graphics ModelSim

II)Ngôn ngữ mô tả phần cứng :
Không giống như CPU/DSP…FPGA thực sự không lập trình để chạy những chương trình định sẵn (Trừ việc phải lập trình cho các CPU nằm trong Chip nếu có).vì vậy khi bạn là người bắt đầu với FPGA mà đã biết về lập trình thì cần phải thay đổi suy nghĩ do đã quen làm việc với các logic cao cấp (logic của con người).
Làm thế nào để bạn có thể thiết kế một hệ thống (hoặc một chip) có chức năng nào đó ?
Nếu hệ thống của bạn không gồm CPU,thì đơn giản là sử dụng tất cả những IC số mà bạn có (mux/demux, adder, counter, Logic gate, latch, buffer, FlipFlop…) ghép nối với nhau có tới khi hoàn tất thiết kế. Một số hê thống như vậy đôi khi cần cả trăm IC số. FPGA hiểu đơn giản là thiết bị cung cấp cho bạn những “hôp đa năng” mà có thể biến thành các IC số cơ bản. Các FPGA hiện nay chứa hàng nghìn/chục nghìn thậm trí vài trăm nghìn “hộp” như thế. Vậy nhiệm vụ của chúng ta là chỉ định (config) dạng của từng hộp đa năng (FlipFlop hay Logic Gate hay Latch …) và ghép nối chúng lại với nhau cho đến khi hoàn tất hệ thống.
Vấn đề nảy sinh là các thiết kế phức tạp sử dụng vài trăm/nghìn thậm trí vài trăm nghìn kết nối và logic dẫn đến phương pháp ghép nối theo kiểu đồ họa không khả thi.Và người ta đã phát minh ra các ngôn ngữ mô tả sự hoạt động, cách ghép nối…các phần cứng với nhau gọi là ngôn ngữ mô tả phần cứng HDL (Hardware Description Language). Ngôn ngữ mô tả phần cứng giúp mô tả ngắn gọn, dễ hiểu, đơn giản các hoạt động của phần cứng. Tuy ngôn ngữ HDL đóng vai trò lớn trong việc thiết kế phần cứng, nhưng phương pháp đồ họa (đã nói ở trên) vẫn thường được sử dụng kết hợp với ngôn ngữ HDL trong một số trường hợp cần thiết (cái này giải thích dài dòng lắm, nếu ai quan tâm thì cứ hỏi, mình sẽ trả lời sau)
Sau đây là một đoạn ngôn ngữ mô tả phần cứng (Verilog HDL) cho mạch điện ở bên cạnh.(Đoạn chương trình này mình tự viết cho mục đích mô tả các khái niệm, nên chưa được test)

Hình đã được thu nhỏ 63.78% so với nguyên gốc. Click vào đây để xem hình nguyên gốc có kích thước 784 x 349.

Click on image to open in new window

Ngôn ngữ mô tả phần cứng gồm có ngôn ngữ Abel (ít dùng), Verilog HDL và VHDL.Việc lựa chọn ngôn ngữ tùy thuộc vào lựa chọn của bạn và mình không có ý kiến gì về việc ngôn ngữ nào tốt hơn (thực ra ý kiến thì có nhưng không dám nói thôi

Click on image to open in new window ).Mình hiện dùng Verilog nên ai cần hỏi gì về Verilog thì mình có thể giúp được, còn VHDL thì chịu thôi.

III)Tài liệu cơ bản và nâng cao về FPGA/Verilog:
– Asic lập trình được (Tống Văn On)
– Lập trình Asic (Tống Văn On)
– Thiết kế vi mạch CMOS VLSI (Tống Văn On)
– A Verilog HDL Primer (J.Bhasker)
– The Verilog Hardware Description Language (Thomas & Moorby)
– Tài liệu hướng dẫn của Altera và Xilinx

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s