Định tuyến trên FPGA (rounting)

Một phần của tài liệu thiết kế hệ thống mã khối bằng công nghệ fpga (Trang 58 - 126)

Rounting là công việc cuối cùng trong quá trình thiết kế, sau khi ta đã sắp đặt và bố trí xong các phần tử logic trên các khối di động thì đây chính là việc kết nối bằng cách định tuyến cho chíp đó.

Việc định tuyến gồm 2 bƣớc: định tuyến tổng thể và định tuyến chi tiết. Định tuyến tổng thể đƣợc thực hiện trƣớc, sau đó các định tuyến chi tiết thực hiện theo định hƣớng chung của định tuyến tổng thể đã đƣa ra.

Định tuyến tổng thể lên kế hoạch đi dây bằng cách tìm ra các kênh sẽ đƣợc sử dụng cho mục đích gì, cho bộ phận nào. Có nhiều kiểu định tuyến tổng thể đối với các loại FPGA, tuy nhiên các thuật toán toán tìm đƣờng ngắn nhất thì tƣơng tự nhau. Có hai phƣơng pháp chính cho định tuyến tổng thể là: một đƣờng chính tại một thời điểm, hoặc tất cả các đƣờng cùng một lần. Cùng với sự có mặt của giản đồ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

thời gian định tuyến các đối tƣợng, vấn đề định tuyến trở nên khó hơn và yêu cầu có sự hiểu biết về sự khác nhau giữa việc tìm đƣờng ngắn nhất và tìm đƣờng với độ trễ nhỏ nhất. Các kiểu định tuyến chi tiết khác nhau gồm có định tuyến kênh và định tuyến dựa trên vùng hoặc ma trận. Định tuyến chi tiết với 2 lớp kim loại là vấn đề đƣợc đề cập đến nhiều nhất.

Các vấn đề chính của định tuyến là:

- Định tuyến đƣợc phân thành định tuyến tổng thể và chi tiết.

- Các thuật toán định tuyến phải phù hợp với các thuật toán placement. - Định tuyến không thể hoàn thành nếu không đi dây đƣợc.

- Các đƣờng nguồn và xung nhịp đƣợc điều khiển trong trƣờng hợp đặc biệt. - Độ rộng các đƣờng nguồn và xung nhịp đồng bộ đƣợc thiết lập bằng tay.

2.1.2.6. Tải nạp chương trình.

Đây là khâu tạo ra sản phẩm của thiết kế. Tải chƣơng trình nhìn chung đƣợc xem nhƣ là tải thông tin xuống thiết bị dễ biến đổi nhƣ SRAM FPGA. Thông tin cấu hình của thiết bị đƣợc nạp vào trong bộ nhớ của thiết bị. Luồng các bit mà nó đƣợc truyền đi có chứa tất cả các thông tin định nghĩa logic và các đƣờng nối của thiết kế và thông tin này khác nhau đối với thiết kế khác nhau.

Các thiết bị SRAM mất đi cấu hình của chúng khi mất nguồn vì vậy các luồng bit cần phải cất ở đâu đó để giải quyết bài toán. Một nơi thƣờng đƣợc dùng để cất thông tin cấu hình thiết bị, đó là PROM nối tiếp. Đây là thành phần kết hợp với phần cứng mà nó nối từ máy tính tới bo mạch mà bo mạch này có chứa thiết bị đích. Nạp chƣơng trình đƣợc dùng cho để lập chƣơng trình cho tất cả các thiết bị logic có thể lập trình đƣợc không bị thay đổi, chẳng hạn nhƣ PROM nối tiếp. Việc nạp chƣơng trình thực hiện giống chức năng nhƣ tải chƣơng trình, riêng các thông tin về cấu hình vẫn còn sau khi mất điện.

2.1.3. Giới thiệu về FPGA của hãng ALTERA.

2.1.3.1. Các loại FPGA trên thị trường.

Trong ngành công nghiệp chế tạo IC đang rất phát triển và phạm vi ngày càng mở rộng khắp thế giới thì chỉ có một số hãng đi đầu và chiếm đƣợc thị trƣờng trong

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

việc cung cấp các sản phẩm FPGA. Trong đó phải kể tới ba hãng lớn là: Xilink, Actel và Altera. Hiện nay, ở Việt Nam Xilink và Altera đã đƣợc khá nhiều các hệ thống điện tử sử dụng các thiết bị FPGA và tốc độ ứng dụng của chúng đang ngày

một tăng lên. Mô tả tóm tắt một số loại FPGA trên thị trƣờng trong bảng 2.1.

Hãng Kiến trúc tổng quát Kiểu khối logic Công nghệ lập trình

Xilink Symmetrical Array Look-up Table Static RAM

Altera Hierachical-PLD PLD Block EPROM

Actel Row-based Multiplexers-Based Anti-fuse

Plessey Sea-of-gates NAND-gate Static RAM

Plus Hierachical-PLD PLD Block EPROM

AMD Hierachical-PLD PLD Block EPROM

QuickLogic Symmetrical Array Multiplexer-Based Anti-fuse

Algotronix Sea-of-gates Multiplexers &

Based Gates Static RAM

Concurent Sea-of-gates Multiplexers &

Based Gates Static RAM

Crosspoint Row-based Transistor Pairs &

Multiplexers Anti-fuse

Bảng 2.1: Một số loại FPGA trên thị trường.

2.1.3.2. Đặc điểm thiết bị FPGA của hãng Altera.

Kiến trúc cơ bản của Altera FPGA là dựa trên công nghệ lập trình EPROM, hình 2.11 minh họa kiến trúc tổng quát của Altera FPGA MAX 7000. Bao gồm một mảng lớn các Block lập trình đƣợc gọi là Logic Array Block (LABs) đƣợc kết nối với nhau bởi các nguồn tài nguyên rounting.

- Thời gian thiết kế, thời gian mô phỏng và chế tạo nhanh. - Tốc độ xử lý của các thiết bị cao.

- Giá thành, chi phí đầu tƣ thấp hơn so với các hãng khác, mức độ rủi ro trong đầu tƣ thấp.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Khả năng thừa hành cao.

- Đáp ứng hầu hết các yêu cầu từ đơn giản tới phức tạp. - Hệ thống có mức tích hợp và độ ổn định cao.

- Công cụ hỗ trợ và phát triển đƣợc cung cấp đầy đủ.

- Phù hợp với khả năng và xu thế phát triển của các hệ thống số.

Nhìn chung, hệ thống cũng nhƣ các thiết bị của Altera có mức chi phí đầu tƣ so với mức đầu tƣ ban đầu vào các công nghệ cao trong lĩnh vực điện tử - viễn thông ở Việt Nam hiện nay là tƣơng đối cao. Bên cạnh đó, nó đòi hỏi có đội ngũ khoa học để tiếp thu, nghiên cứu và sử dụng đƣợc đào tạo kỹ lƣỡng và có trình độ cao. I/ O C o n tr o lB lo ck I/ O C o n tr o lB lo ck I/O ControlBlock I/O ControlBlock LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB LAB

Hình 2.11: Kiến trúc tổng quát của Altera FPGA MAX 7000.

2.1.3.3. Các họ FPGA của hãng Altera.

Tất cả các họ thiết bị Altera đƣợc chế tạo theo công nghệ CMOS. Gồm các họ: Ma trận logic lập trình đƣợc APEX (Advanced ProgrammablE logic matriX), ma trận phần tử logic linh hoạt FLEX (Flexible Logic Element MatriX) và ma trận chuỗi đa phần tử MAX (Multiple Array matriX), STRATIX... Mỗi họ thiết bị có

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

đặc điểm riêng với cấu trúc khác nhau phù hợp với nhiều hệ thống số có mức độ tích hợp khác nhau và tạo ra sự đa dạng trong các ứng dụng.

Họ thiết bị Các chân I/O sử dụng Số cổng lôgíc

APEX 20K 95 – 800 30.000 – 1.500.000 FLEX 10K 59 – 470 10.000 – 200.000 FLEX 8000 68 – 208 2.500 – 16.000 FLEX 6000 71 – 218 16.000 – 24.000 MAX 9000 52 – 216 10.000 – 12.000 MAX 7000 36 – 212 600 – 10.000 MAX 5000 28 – 100 600 – 3.750 Classic 22 – 68 300 – 900

Bảng 2.2: Số cổng sử dụng và các chân I/O của các họ FPGA Altera.

Họ linh kiện APEX 20K:

APEX 20K là dòng sản phẩm đƣợc thiết kế theo kiến trúc MultiCore, nó là sự kết hợp những tính năng mạnh của LUT (Look Up Table - bảng sự thật) và product- term (các kết nối) với một cấu trúc bộ nhớ đƣợc tăng cƣờng. Những sản phẩm đƣợc xây dựng theo kiểu LUT cho phép tối ƣu hoá tính năng hoạt động và hiệu quả cho các thiết kế đƣờng dẫn dữ liệu, thanh ghi, các bộ xử lý toán học và các bộ xử lý tín hiệu số. Kỹ thuật product-term đƣợc tối ƣu cho các đƣờng dẫn tổ hợp phức tạp nhƣ các máy trạng thái. Kỹ thuật LUT và product-term kết hợp với các chức năng bộ nhớ cùng với hàng loạt các MegaCore và các chức năng AMPP làm kiến trúc APEX 20K thích hợp đặc biệt cho thiết kế cần tích hợp toàn bộ hệ thống trên một chip. Sử dụng những kỹ thuật này, ta có thể tích hợp toàn bộ hệ thống vào một chip thuộc họ APEX 20K.

2.1.4. Các công cụ thiết kế.

2.1.4.1. Gi i thiệu về EDA.

Các công cụ EDA (Electronic Design Automation) ngày nay là các công cụ chủ yếu đƣợc sử dụng trong nghiên cứu và phát triển các vi mạch cũng nhƣ các họ

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

IC tiên tiến và đƣợc gọi là công nghiệp EDA. Ngành công nghiệp EDA cung cấp các sản phẩm, dịch vụ, công cụ và đƣợc nhiều tổ chức sử dụng, đó cũng chính là các công cụ đƣợc ngƣời thiết kế sử dụng để phát triển các chip máy tính ngày càng phức tạp, thông minh và nhiều tính năng mới hơn.

Công cụ EDA đƣợc chia thành các sản phẩm chính sau:

1. Công cụ thiết kế mạch điện tử có hỗ trợ máy tính CAE (Computer-Aided Electronics).

2. Công cụ vẽ mạch in - PCB và thiết kế module đa chip MCM (Printed Circuit

Board and Multi-Chip Module Layout).

3. Công cụ thiết kế IC (IC Layout).

4. Công cụ chế tạo các chất bán dẫn thông minh SIP (Semiconductor Intellectual

Property).

5. Công cụ thiết kế và hỗ trợ (Design services and consulting).

Nhiệm vụ của EDA là tập hợp, phân tích và cung cấp thông tin phục vụ cho ngƣời thiết kế.

Nền công nghiệp EDA ngày càng phát triển và dần dần kết nối với các công nghệ mới khác nhƣ các hệ thống quản trị nhà cung cấp và thành phần - CSM (Component & Supplier Management), các hệ thống phân phối điện tử, cung cấp dịch vụ thiết kế, thiết kế chế tạo ASIC và chip vi xử lý, hệ thống thiết kế cơ khí có

trợ giúp của máy tính - MCAD (Mechanical Computer-Aided Design),…

Mỗi hãng có những công cụ EDA của riêng mình. Phần tiếp theo luận văn trình bày 2 phần mềm chính đƣợc hãng Altera đƣa ra để phát triển thiết bị của mình.

2.1.4.2. Gi i thiệu công cụ thiết kế Quartus II.

Công cụ thiết kế Quartus II là hệ thống phát triển thứ tƣ của hãng ALTERA cho các linh kiện lập trình đƣợc. Nó đƣa ra các đặc trƣng rất mạnh để rút ngắn chu trình thiết kế và tăng năng suất thiết kế. Sử dụng chủ yếu cho thiết kế các họ chíp FPGA có dung lƣợng lớn nhƣ APEX 20K, STATIC...

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

- Hỗ trợ đa xử lý (Multi-processor) và tăng cƣờng khả năng biên dịch lại để rút ngắn chu trình thiết kế.

- Phƣơng pháp tích hợp toàn bộ hệ thống trên một chip kết hợp với tính năng soạn thảo mức khối, tính toán theo nhóm và hỗ trợ mở rộng cho các siêu chức năng (MegaFunction) sẽ tổ chức các sơ đồ phát triển hệ thống số tốt hơn, nâng cao hiệu suất làm việc và chất lƣợng của hệ thống.

- Các tính năng giao tiếp dễ dàng với các phần mềm EDA khác cho phép ngƣời thiết kế sử dụng các công cụ mà họ đã quen thuộc để thiết kế cho các mạch tổ hợp logic lập trình đƣợc của hãng ALTERA.

- Khả năng hỗ trợ kỹ thuật bằng cách tiếp cận trực tiếp tới hệ cơ sở dữ liệu trực tuyến của ALTERA từ phần mềm Quartus II làm mỗi thành viên trong bộ phận thiết kế làm việc có hiệu quả hơn.

- Hỗ trợ mạch tổ hợp logic lập trình đƣợc APEX 20K với chất lƣợng cao và khả

năng tích hợp toàn bộ hệ thống trên một chip (System-on-a-Programmble-Chip).

Ưu điểm chính của Quartus II:

- Rút ngắn thời gian biên dịch với trình biên dịch nStep Compiler: các thiết kế phức tạp thƣờng xuyên yêu cầu lặp lại một vài thiết kế đơn giản để đạt đƣợc kết quả mong muốn. Trình biên dịch nStep Compiler của Quartus II cho phép ngƣời thiết kế làm thay đổi một bộ phận trong thiết kế và đạt đƣợc kết quả mà không cần biên dịch lại toàn bộ chƣơng trình. Phần mềm Quartus II chỉ biên dịch các phần thiết kế đã thay đổi. Trình biên dịch nStep Compiler sử dụng khả năng tổng hợp mới kiểu CoreSyn của ALTERA. Trình biên dịch sẽ phân tích các thiết kế, sau đó phân chia các chức năng của một thiết kế vào các phần tử logic dựa trên bảng tìm kiếm, các macrocell (thƣ viện phần tử) hoặc các khối logic bộ nhớ tổ hợp (RAM, ROM) thích hợp trong FPGA .

- Cải tiến chu trình kiểm tra và phân tích logic kiểu SignalTap: phần mềm Quartus làm giảm thời gian kiểm tra thiết kế bằng cách cung cấp một trình mô phỏng thời gian đầy đủ đặc trƣng và một trình mô phỏng ở mức truyền thanh ghi. Khả năng phân tích logic SignalTap tích hợp các chức năng của một bộ phân tích

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

logic vào phần mềm cho phép ngƣời thiết kế thực hiện việc kiểm tra phần cứng trên thiết bị đang hoạt động tại tốc độ hệ thống thực tế.

- Tích hợp NativeLink (liên kết ngƣợc) với các công cụ EDA khác: Đặc trƣng tích hợp NativeLink làm thuận tiện cho việc truyền thông tin dễ dàng giữa phần mềm Quartus II và các công cụ EDA khác để tăng cƣờng toàn bộ hiệu suất của bộ công cụ EDA của ngƣời thiết kế. Đặc trƣng NativeLink cho phép ngƣời thiết kế sử dụng các ƣớc lƣợng về vị trí và lộ trình có sẵn của Quartus II trong các công cụ EDA khác để tối ƣu các giai đoạn tổng hợp.

- Khả năng định vị lỗi và tối ƣu thời gian: phần mềm Quartus II cho phép sửa lỗi và tối ƣu thời gian dễ dàng hơn. Nó có thể chỉ ra nguồn gây lỗi trực tiếp trong các file thiết kế của các công cụ EDA, tăng cƣờng quá trình sửa lỗi và điều chỉnh các tham số thời gian.

2.1.4.3. Gi i thiệu công cụ thiết kế MAX + PLUS II.

Phần mềm phát triển MAX + PLUS II cung cấp một môi trƣờng thiết kế hoàn chỉnh đáp ứng đầy đủ các nhu cầu thiết kế cụ thể. MAX + PLUS II đảm bảo thiết kế dễ dàng, xử lý nhanh và lập trình cho các linh kiện PLD một cách trực tiếp.

Phần mềm MAX + PLUS II tích hợp đầy đủ các chức năng và độc lập với kiến trúc phần cứng trong việc thiết kế logic với các mạch tổ hợp logic lập trình đƣợc của hãng ALTERA thuộc các họ Classic, ACEX 1K, MAX 3000, MAX 5000, MAX 7000, MAX 9000, FLEX 6000, FLEX 8000 và FLEX 10K. MAX + PLUS II cung cấp một phạm vi thiết kế logic đầy đủ bao gồm các thiết kế phân tầng, soạn thảo sơ đồ thiết kế, tổng hợp logic tối ƣu, phân chia thiết kế, mô phỏng thiết kế mức bảng mạch cả về thời gian và chức năng, phân tích chi tiết thời gian, định vị lỗi tự động, lập trình và kiểm tra các IC. MAX + PLUS II cũng có thể sử dụng các file thiết kế theo tiêu chuẩn công nghiệp của các phần mềm thiết kế khác nhƣ các file kiểu EDIF, VHDL,Verilog HDL, OrCAD Schematic, Xilinx Netlist Format. Nó cũng cho phép viết các tệp thiết kế kiểu EDIF, VHDL, Verilog HDL, VITAL - Compliant để giao tiếp với các phần mềm thiết kế CAE tiêu chuẩn công nghiệp khác.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Ngƣời thiết kế có thể tích hợp các thiết kế đƣợc tạo với các phần mềm thiết kế

của ALTERA nhƣ A+PLUS, SAM+PLUS vào các thiết kế của MAX+PLUS II. Trình biên dịch bảo đảm rằng các thiết kế trong MAX+PLUS II sẽ đƣợc tạo hoàn

chỉnh trong các IC một cách hiệu quả nhất.

Ưu điểm chính của MAX+PLUS II:

- MAX+PLUS II cung cấp một giao diện sử dụng đồ họa phong phú và một hệ thống trợ giúp có tính minh họa rất dễ sử dụng. Hệ thống MAX+PLUS II hoàn chỉnh bao gồm nhiều ứng dụng tích hợp trợ giúp ngƣời thiết kế từng bƣớc từ thiết kế đến lập trình IC.

- Các trình thiết kế trong MAX+PLUS II nhƣ Graphic Editor, Text Editor, Waveform Editor, Floorplan Editor, Symbol Editor cùng sử dụng chung nhiều công cụ và đặc trƣng thiết kế. Các trình soạn thảo cho phép ngƣời thiết kế thực hiện các công việc tƣơng tự nhau.

- Ngƣời thiết kế có thể tổ hợp các kiểu tệp thiết kế khác nhau trong một đề án thiết kế và chọn các địnhd dạng thiết kế sẽ làm việc tốt nhất cho mỗi khối chức năng. Việc thiết kế độc lập kiến trúc phần cứng giúp ngƣời thiết kế không phải lo

Một phần của tài liệu thiết kế hệ thống mã khối bằng công nghệ fpga (Trang 58 - 126)

Tải bản đầy đủ (PDF)

(126 trang)