Trước tiên xin tóm tắt toàn bộ quá trình thiết kế FPGA như sau:
1) Xác định các đặc tính kĩ thuật (Requirements/Specifications Capture):
- Quá trình này, các yêu cầu của thiết kế được xác định ví dụ như yêu cầu về thời gian, tốc độ của thiết kế, yêu cầu về tài nguyên v.v
2) Bước thiết kế (design):
- Trong bước thiết kế, các khối của toàn bộ thiết kế được xác định nhằm thực hiện được các yêu cầu đề ra ở trên, thiết kế bao gồm thiết kế mức cao (high-level design) và thiết kế chi tiết (detailed design). Thiết kế mức cao chỉ thiết kế kiến trúc (architecture) của hệ thống. Thiết kế mức cao thường là bước đầu tiên để chia nhỏ một thiết kế lớn ra thành nhiều thiết kế nhỏ. Từ thiết kế mức cao, các khối tiếp tục được chia nhỏ đến khi có thể tiến hành việc coding được (thiết kế từ trên xuống: top-down approach). Qua kinh nghiệm, rất nhiều hệ thống thiết kế kiểu này.
3) Bước coding (VHDL/Verilog) và mô phỏng, kiểm tra (simulation, verification)
Khi các thiết kế chi tiết đủ để thực hiện coding, các block nhỏ sẽ được code bằng ngôn ngữ mô tả phần cứng (Hardware description language - HDL) ví dụ như Verilog, VHDL, SystemVerilog, SystemC ...
Các bạn có thể tham khảo ứng dụng, điểm mạnh yếu của các ngôn ngữ ở các thread khác.
Bước mô phỏng và kiểm tra là 2 bước không thể thiếu trong quá trình thiết kế. 2 bước này giúp phát hiện và sửa các lỗi trong thiết kế và lỗi trong quá trình coding mà không qua bước biên dịch (bước biên dịch đôi khi mất hàng giờ đồng hồ).
4) Bước biên dịch (compilation)
Ở bước biên dịch, các công cụ (tools) sẽ đọc các thiết kế được mô tả bằng HDL và tạo ra mạch số (digital circuit) như đã mô tả. Để tool tạo ra được mạch như mong muốn người thiết kế số (digital designer) và đặc biệt thiết kế FPGA, phải tuân thủ một số quy đinh về cách viết code (HDL coding style).
Các công cụ biên dịch sẽ tạo ra một hoặc nhiều files gọi là netlist. Mỗi file netlist hoàn toàn là một tập hợp các block rất cơ bản được kết nối với nhau. Một số file ở dạng nhị phân (binary, nghĩa là người dùng không đọc hiểu được) một số file ở dạng text, chúng ta có thể đọc và hiểu được.
Ở cuối cùng của bước biện dịch, một file binary sẽ được tao ra dùng để cấu hình (configure) FPGA.
**Lưu ý là configure được dùng thay vì programme. Khái niệm lập trình cho FPGA dẫn đến một số lỗi và cần tránh.
==================================================
Quá trình biên dịch FPGA gồm:
0) Chỉ định các điều kiện và ràng buộc cho trình dịch:
- a) Chỉ định điều kiện về thời gian: ít nhất là chỉ định tần số hoạt động của thiết kế
- b) Chỉ định điều kiện về không gian: tối thiểu là chỉ định cho các input/output.
1) Tổng hợp (Synthesis)
Ở quá trình này, trình biên dịch sẽ đọc các file thiết kế và cất vào thư viện (mặc định là work).
2) Thực hiện (Implementation)
Ở quá trình này trình biên dịch sẽ gom tất cả các module đã thiết kế lại thành 1 thiết kế duy nhất, sau đó sẽ xếp đặt lên FPGA và cho ra:
- Thứ nhất là timing-report (Báo cáo thời gian, báo cáo này dựa trên những ràng buộc mà người thiết kế đã chỉ ra, báo cáo cho biết điều kiện đã đề ra có thỏa mãn được không)
- Thứ hai là file binary dùng để cấu hình cho FPGA
Đề hiểu rõ và hình dung được, xin giới thiệu một ví dụ đơn giản.
Trong ví dụ này, một bộ định thời (timer), sẽ được thiết kế. Các yêu cầu của timer như sau:
- 1 đầu vào En dùng để kích hoạt và dừng timer. Khi En = 1, bộ timer hoạt động, En = 0, timer dừng.
- 1 đầu vào reset dùng để trả timer về giá trị 0.
- 1 đầu vào Auto dùng đề cho phép timer tự động trả về 0 khi đầy. Auto = 1, timer tự reset trở lại 0 khi đầy, Auto = 0. Timer dừng ở vị trí đầy cho đến khi có tín hiệu reset.
- 1 đầu vào chứa giá trị đầy.
- 1 đầu ra báo hiệu timer đầy.
- Bộ timer dự kiến phải chạy với clock ở tần số 50MHz.
=================================================
Biên dịch với ISE.
- Giao diện của ISE khá dễ hiểu. Cơ bản gồm có:
1) Cửa sổ source chứa các source file và sự phân cấp của thiết kế (design hierarchy).
2) Cửa sổ quá trình, chứa các quá trình trong quy trình biên dịch. Gồm có:
Synthesis
Implement
Generate programming file
Trong mỗi quá trình lại có nhiều bước nhỏ. Cửa sổ này được liên kết với cửa sổ source. Cho mỗi source file, cửa sổ quá trình sẽ liệt kê các bước có thể thực hiện với source file mà bạn đã high-light.
Muốn thực hiện bước thiết kế nào, chỉ việc chọn source file, và double-click bước thiết kế.
- Đầu tiên, chúng ta cần tạo 1 project mới (File - New Project)
- Sau đó sẽ tạo mới các file source, trong trường hợp có sẵn source code thì dùng chức năng "add source"
Thông báo
Collapse
No announcement yet.
Thiết kế FPGA với các phần mềm cơ bản (ISE và Quartus)
Collapse
X
Collapse
-
Thiết kế FPGA với các phần mềm cơ bản (ISE và Quartus)
Tags: None
-
#1koool commented14-12-2017, 12:33Editing a commentcccc afsfsdsdf à
-
#2hslcnps1900 commented20-12-2017, 12:26Editing a commentA cho e hoi mach power signal protect clip mac day vao mach cong suat loai btl. Minh ko biet cau day nho a giup dum
You must be logged in to post a comment. -
Về tác giả
Collapse
Email minh trực tiếp nếu bạn cần download tài liệu gấp
Tìm hiểu thêm về jefflieu
Bài viết mới nhất
Collapse
-
bởi FschoolvnTrong bối cảnh toàn cầu hóa giáo dục, ngày càng nhiều học sinh được gia đình chắp cánh để truy cầu kiến thức từ các quốc gia phát triển, đặc biệt là Hoa Kỳ. Từ ước mơ thụ hưởng nền giáo dục chất lượng, không ít học sinh nhìn...Hôm qua, 00:54
-
Trả lời cho Hỏi xin sơ đồ tivi các loạibởi Trân thànhCần các Bạn giúp sơ đồ Lcd Samsung UA40JU6400 và UA43ku6500k. Xin cảm ơn!...
-
Channel: Điện tử truyền hình
28-04-2024, 16:07 -
-
Trả lời cho Hỏi xin sơ đồ tivi các loạibởi Trân thànhCần các Bạn giúp sơ đồ Lcd Samsung UA40JU6400 và UA43ku6500k. Xin cảm ơn!...
-
Channel: Điện tử truyền hình
28-04-2024, 16:01 -
-
bởi chinhnguyen9Hoạt động của thế hệ mạch cân bằng trước đây dựa trên nguyên lý so áp giữa 2 string liền kề. Hoạt động cân bằng chỉ kích hoạt khi sự chênh lệch vượt ngưỡng 100mV và ngưng hoạt động khi mức chênh lệch giảm xuống còn 30mV. Bản...
-
Channel: Điện tử dành cho người mới bắt đầu
27-04-2024, 05:07 -
-
bởi chinhnguyen9Xem hình minh họa có phần thuyết minh bên trong tiện việc quan sát và đọc thuyết minh. Khi G1 high dòng điện chạy theo các đường màu đen khi G2 high dòng điện chạy theo các đường màu nâu đỏ.
Bổ sung một tính chất củng cố cho tên gọi tụ bay: Trong mạch đề cập chỉ...-
Channel: Điện tử dành cho người mới bắt đầu
26-04-2024, 21:02 -
-
bởi chinhnguyen9Sản phẩm này ghi version 2.0 01-2024 MADE IN CHINA nhưng không thấy thương hiệu hình 1
Do 8 chân G của 8 mosfet được đấu song song thành 2 nhóm nên có cùng biên độ xung kích 12V. Nhưng Q1 và Q2 nằm cuối dãy, chân S cùa chúng có điện áp DC cao đến...-
Channel: Điện tử dành cho người mới bắt đầu
26-04-2024, 20:37 -
-
bởi xuanthiettivi em bị mất remote lỡ vào chế độ usb giờ không chọn lại source được. ai có file nạp cho em xin với ạ. Model 32HD957T2
-
Channel: Điện tử truyền hình
26-04-2024, 10:53 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi chinhnguyen9Đa tạ lời cảm ơn của bạn. Mến!
-
Channel: Hướng dẫn sử dụng diễn đàn
26-04-2024, 05:06 -
-
Trả lời cho Xin tư vấn về mạch cầu H cho inverter 1000wbởi thebinhzChắc là không được đâu bạn ơi
Quán ăn Vĩnh Yên-
Channel: Điện tử công suất
25-04-2024, 21:56 -
-
Trả lời cho Giải thích nôm na từ "tụ bay"bởi thebinhzCảm ơn bạn nhiều nha
Nhà hàng Vĩnh Yên-
Channel: Hướng dẫn sử dụng diễn đàn
25-04-2024, 21:50 -