Nghiên cứu, thiết kế và mô hình hóa một mạng trên chip (NOC Network-On-Chip) với cấu trúc liên kết 2D-MESH

  • Số trang: 52 |
  • Loại file: PDF |
  • Lượt xem: 20 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ TOAN NGHIÊN CỨU, THIẾT KẾ VÀ MÔ HÌNH HÓA MỘT MẠNG TRÊN CHIP (NOC: NETWORK-ON-CHIP) VỚI CẤU TRÚC LIÊN KẾT 2D-MESH LUẬN VĂN THẠC SĨ Hà Nội - 2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ TOAN NGHIÊN CỨU, THIẾT KẾ VÀ MÔ HÌNH HÓA MỘT MẠNG TRÊN CHIP (NOC: NETWORK-ON-CHIP) VỚI CẤU TRÚC LIÊN KẾT 2D-MESH Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kỹ thuật điện tử Mã số: 60 52 70 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Trần Xuân Tú Hà Nội - 2010 - iii- Mục lục Lời cảm ơn ................................................................................................................... i Lời cam đoan ...............................................................................................................ii Mục lục ..................................................................................................................... iii Danh mục hình vẽ ........................................................................................................ v Danh mục các từ viết tắt ............................................................................................ vii Lời mở đầu .................................................................................................................. 1 Chương 1. Hệ thống trên một vi mạch ..................................................................... 3 1.1. Giới thiệu về hệ thống trên vi mạch ............................................................... 3 1.2. Các vấn đề truyền thông bên trong chip ......................................................... 4 1.3. Từ hệ thống trên chip đến mạng trên chip ...................................................... 5 1.4. Quy trình thiết kế hệ thống trên chip.............................................................. 7 Chương 2. Mạng trên chip và các khái niệm cơ bản ............................................... 11 2.1. Mạng trên chip ............................................................................................ 11 2.2. Các khái niệm cơ bản về mạng trên chip...................................................... 12 2.2.1. Tôpô mạng ........................................................................................... 12 2.2.2. Kỹ thuật truyền thông ........................................................................... 14 2.2.3. Cơ chế truyền thông ............................................................................. 15 2.2.4. Thuật toán định tuyến ........................................................................... 17 2.2.5. Kỹ thuật điều khiển luồng dữ liệu và tắc nghẽn .................................... 18 2.2.6. Chất lượng dịch vụ mạng ..................................................................... 20 Chương 3. Thiết kế, mô hình hoá và mô phỏng ...................................................... 22 3.1. Đặt vấn đề ................................................................................................... 22 3.2. Bộ định tuyến sử dụng trong thiết kế ........................................................... 23 3.3. Xây dựng mạng 2×2 .................................................................................... 25 - iv3.4. Phương pháp mô hình hoá, mô phỏng và kiểm chứng thiết kế. .................... 28 3.5. Kết quả mô phỏng và kiểm chứng ............................................................... 31 3.5.1. Mô hình hóa và mô phỏng trên một bộ định tuyến ................................ 31 3.5.2. Mô hình hóa, mô phỏng trên hai bộ định tuyến ..................................... 33 3.5.3. Mô hình hóa, mô phỏng trên mạng 2×2. .............................................. 37 Kết luận ..................................................................................................................... 43 Tài liệu tham khảo ..................................................................................................... 44 - v- Danh mục hình vẽ Hình ‎1.1: Hệ thống trên vi mạch ‎[13]. .......................................................................... 4 Hình ‎1.2: Cấu trúc truyền thông trên chip. ................................................................... 6 Hình ‎1.3: Quy trình thiết kế một hệ thống trên chip. .................................................... 8 Hình ‎2.1: Một NoC hai hướng 3×3 [8]. ...................................................................... 12 Hình ‎2.2: Các tôpô mạng thường dùng cho mạng trên chip: (a) chordal ring; (b) 2Dmesh; (c) 2D torus; (d) Binary tree; (e) Fat-tree. ........................................................ 13 Hình ‎2.3: Cơ chế truyền thông Lưu trữ và chuyển tiếp (SAF). ................................... 15 Hình ‎2.4: Cơ chế truyền thông VCT. ......................................................................... 16 Hình ‎2.5: Cơ chế truyền thông Wormhole. ................................................................. 16 Hình ‎2.6: Hiện tượng tắc nghẽn tĩnh (deadlock). ....................................................... 19 Hình ‎2.7: Sử dụng kênh ảo để tránh deadlock. ........................................................... 19 Hình ‎2.8: Hiện tượng tắc nghẽn động (Livelock)................................................... 20 Hình ‎3.1: Mô hình mạng trên chip 2D-mesh với kích thước 2×2. ............................... 22 Hình ‎3.2: Mô hình bộ định tuyến được phát triển tại phòng thí nghiệm SIS. .............. 23 Hình ‎3.3: Định dạng các flit. ...................................................................................... 24 Hình ‎3.4: Mô hình mạng 2×2 trên chip. ..................................................................... 26 Hình ‎3.5: (a) Các đường kết nối giữa hai bộ định tuyến/lõi IP bất kỳ; (b) Giao thức truyền thông bắt tay “send-accept”............................................................................. 26 Hình ‎3.6: Quy trình mô hình hóa, mô phỏng và kiểm chứng thiết kế. ......................... 28 Hình ‎3.7: Môi trường kiểm tra và mô phỏng chức năng hoạt động của mạch. ............ 29 Hình ‎3.8: Lưu đồ thuật toán của IP phát. .................................................................... 30 Hình ‎3.9: Lưu đồ thuật toán của IP nhận. ................................................................... 31 - viHình ‎3.10: Môi trường kiểm tra, mô phỏng chức năng hoạt động của một bộ định tuyến. ......................................................................................................................... 32 Hình ‎3.11: Kết quả mô phỏng trên một bộ định tuyến. ............................................... 32 Hình ‎3.12: Môi trường kiểm tra, mô phỏng chức năng hoạt động của hai router. ....... 34 Hình ‎3.13: Kết quả mô phỏng quá trình truyền dữ liệu từ IP00 đến IP01. .................. 35 Hình ‎3.14: Kết quả mô phỏng quá trình truyền dữ liệu từ IP01 đến IP00. .................. 36 Hình ‎3.15: Môi trường kiểm tra, mô phỏng chức năng hoạt động của một mạng lưới 2×2. . 37 Hình ‎3.16: Kết quả mô phỏng quá trình truyền dữ liệu từ IP00→R_00→R_01→R_11→IP11. .......................................................................... 38 Hình ‎3.17: Kết quả mô phỏng quá trình truyền dữ liệu IP00→R_00→R_10→R_11→IP11. .......................................................................... 40 Hình ‎3.18: Kết quả mô phỏng trường hợp các gói tin đến cùng một thời điểm và cùng đích đến. .................................................................................................................... 41 - vii- Danh mục các từ viết tắt AMBA ADC : Advanced Microcontroller Bus Architecture : Analog Digital Convert ASIC : Application Specific Integrated Circuit BE BoP CUT : Best-effort : Begin of Packet : Circuit-Under-Test DAC : Digital Analog Convert DSP EoP GALS GS : Digital Signal Processors : End of Packet : Globally Asynchronous- Locally Synchronous : Guaranteed Services HDL IP MPSoC NoC NA : Hardware Description Languages : Intellectual Property : Multi-Processor SoC : Network-on-Chip : Network Adapters QoS : Quality of Service RAM RF ROM RTL : Random Access Memory : Radio Frequency : Read Only Memory : Register Transfer Level SoC SAF TTL TDM : System-on-Chip : Store-And-Forward : Time To Live : Time Division Multiplex VC VCT VHDL VLSI : Virtual Channel : Virtual Cut-Through : Very High Speed Integrated Circuits HDL : Very Large Scale Integration WH : Wormhole - 1- Lời mở đầu Cùng với sự tiến bộ của công nghệ tích hợp bán dẫn, xu thế công nghệ thiết kế chip là tích hợp ngày càng nhiều khối tính toán trên cùng một chip đơn nhằm đáp ứng các yêu cầu của ứng dụng. Các khối tính toán này có thể là các bộ xử lý, các khối xử lý tín hiệu số (DSP: Digital Signal Processors), các bộ nhớ (RAM, ROM), các bộ mã hoá và giải mã, hay các đơn vị xử lý vào/ra như Ethernet, Bluetooth… Các khối tính toán này thường được gọi là lõi IP (Intellectual Property). Một hệ thống mà trước kia phải xây dựng trên một hay nhiều bo mạch lớn thì bây giờ có thể được tích hợp lên trên một chip và do đó hình thành thuật ngữ “hệ thống trên chip”, trong tiếng Anh gọi là “System-on-Chip” (SoC). Hệ thống trên một chip được biết đến như là một phương pháp thiết kế gần đây nhất cho phép tích hợp trên hệ thống khoảng từ vài chục đến vài trăm lõi IP như đã kể trên. Tuy nhiên, việc tích hợp nhiều lõi IP lên trên một chip dẫn đến nhu cầu truyền thông trên chip tăng lên. Vì thế các phương thức truyền thông truyền thống như kết nối điểm-điểm, kết nối bus chung không còn đáp ứng được nhu cầu truyền thông trên chip. Bài toán thiết kế các hệ thống trên chip chuyển thành bài toán thiết kế kiến trúc truyền thông trên chip. Trong khi đó, sự bùng nổ các ứng dụng của Internet và lưu lượng truyền thông trên Internet ngày càng không ngừng tăng lên khiến các nhà nghiên cứu nghĩ đến việc thực hiện một kiến trúc truyền thông kiểu mạng máy tính thu nhỏ ngay trên các chip tích hợp. Chính vì vậy, tôi chọn đề tài: “Nghiên cứu, thiết kế và mô hình hoá một mạng trên chip (NoC: Network-on-Chip) với cấu trúc liên kết 2D-mesh” với mong muốn xây dựng một mô hình truyền thông có thể đáp ứng nhu cầu truyền thông giữa các khối IP trong một hệ thống trên chip. Nội dung luận văn gồm 3 chương như sau: Chương 1 giới thiệu tổng quan về hệ thống trên chip, xu thế phát triển một hệ thống trên chip. Tiếp đó, một số vấn đề gặp phải trong quá trình thiết kế và thực thi các hệ thống trên chip, có liên quan tới lưu lượng truyền thông trên chip cũng được đề cập một cách ngắn gọn. Từ đó, lý do xuất hiện khái niệm mạng trên chip cũng sẽ được đề cập và làm rõ. Cuối cùng, với mục đích giúp người đọc dễ dàng nắm bắt phần thực nghiệm, chương này cũng dành một phần để trình bày tóm lược về quy trình thiết kế hệ thống trên chip hiện tại. - 2Chương 2 giới thiệu tổng quan về mô hình mạng trên chip, các thành phần cấu thành nên mạng truyền thông, và các khái niệm cơ bản liên quan đến mô hình mạng trên chip như tôpô mạng, kỹ thuật truyền thông, cơ chế truyền thông, thuật toán định tuyến, kỹ thuật điều khiển luồng dữ liệu, các hiện tượng tắc nghẽn truyền thông và chất lượng dịch vụ mạng… Chương 3 trình bày bài toán thiết kế, các vấn đề mô hình hoá thiết kế một mô hình mạng trên chip với cấu trúc liên kết dạng lưới có kích thước 2×2 (2D-mesh) bằng ngôn ngữ VHDL, mô phỏng và kiểm chứng thiết kế thông qua công cụ thiết kế phần cứng ModelSim (Mentor Graphics). Cuối cùng là một số kết luận và hướng phát triển tiếp theo của đề tài. - 3- Chương 1. Hệ thống trên một vi mạch Chương này giới thiệu khái quát về một hệ thống trên vi mạch, đặc điểm của một hệ thống trên một phiến tinh thể, tiếp đến là các vấn đề truyền thông bên trong vi mạch từ đó đi đến giới thiệu lý do chuyển từ mô hình hệ thống trên chip thông thường sang mô hình mạng trên chip. Cuối cùng là giới thiệu về quy trình thiết kế hệ thống trên vi mạch. 1.1. Giới thiệu về hệ thống trên vi mạch Ngày nay, đi liền với sự phát triển công nghệ bán dẫn là công nghệ thiết kế và chế tạo vi mạch đã cho phép tích hợp cả một hệ thống hoàn chỉnh lên trên một phiến tinh thể (silicon). Với ý tưởng ban đầu là tích hợp tất cả các thành phần của một hệ thống máy tính hay một hệ thống điện tử khác trên một vi mạch đơn (chip đơn). Nhưng không lâu sau, hệ thống trên chip (SoC: System-on-Chip) đã được mở rộng, nó không chỉ đơn thuần là một hệ thống máy tính hay một hệ thống điện tử mà hệ thống tích hợp trên chip có thể bao gồm các lõi vi xử lý (processor) hoặc các khối xử lý tín hiệu số (Digital Signal Processor), các khối nhớ (RAM, ROM, Flash…), các giao tiếp mở rộng (USB, SPI, Ethernet, Bluetooth…), các bộ mã hóa và giải mã, các bộ chuyển đổi ADC và DAC, hệ thống BUS, các khối điều chỉnh điện thế và quản lý năng lượng của nguồn… kể cả các khối tần số radio (RF: Radio Frequency) [12] . Các khối chức năng này còn được gọi là các lõi IP (Intellectual Property). Hình 1.1 là mô hình một hệ thống trên vi mạch. Theo dự đoán ITRS1 (2009), trong thập kỷ tới độ phức tạp của hệ thống trên chip (SoC) sẽ tiếp tục tăng nhanh để có thể đáp ứng yêu cầu ngày càng cao của các ứng dụng. SoC có thể tích hợp được hàng trăm, hay thậm chí nhiều hơn, lõi IP trên một chip đơn. Thiết kế SoC ở quy mô này được bắt đầu từ các thành phần đã được thiết kế sẵn, ví dụ như các bộ xử lý, bộ điều khiển và mảng bộ nhớ. Phương pháp thiết kế tái sử dụng các lõi IP trở thành phương pháp thiết kế SoC phổ biến nhằm rút ngắn thời gian đưa sản phẩm ra thị trường (time-to-market) [6]. Với phương pháp này, yếu tố quyết định lớn nhất sẽ được đề cập đó là sự phối hợp truyền thông giữa các thành phần. Việc thiết kế kiến trúc truyền thông trên chip đòi hỏi phải đáng tin cậy, năng 1 International Technology Roadmap for Semicondutors - 4lượng thấp và thực thi cao. Vấn đề kết nối sẽ trở thành yếu tố hạn chế với các mục tiêu đề ra. Hình 1.1: Hệ thống trên vi mạch [13]. 1.2. Các vấn đề truyền thông bên trong chip Như đã trình bày ở trên, hệ thống trên chip tích hợp các khối chức năng có sẵn nên việc thiết kế SoC đã trở lên đơn giản hơn nhiều, người thiết kế chỉ việc tích hợp các lõi và thiết lập sự truyền thông giữa chúng. Vì vậy, phương pháp thiết kế mang lại hiệu quả cao, rút ngắn chu kỳ thiết kế và góp phần làm giảm giá thành thiết kế. Tuy nhiên, với hệ thống tích hợp nhiều lõi IP (các lõi này hoạt động song song và độc lập nhau) sẽ nảy sinh một số vấn đề trong truyền thông trên chip như trễ lan truyền trên dây và trên các cổng logic, vấn đề về truyền thông cục bộ và toàn cục, rồi vấn đề về hiệu suất hoạt động,… Độ trễ: Khi công nghệ thiết kế chip ngày càng phát triển, kích thước tăng, độ tích hợp ngày càng cao và các ứng dụng đòi hỏi đáp ứng thời gian thực thì vấn đề độ trễ lại trở lên hết sức quan trọng [4]. Vì vậy, đòi hỏi người thiết kế phải giải quyết các vấn đề liên quan đến độ trễ đáp ứng trên các dây dẫn (cục bộ và toàn cục) và trên các cổng logic. Trong đó, trễ trên các cổng logic thường rất nhỏ còn trễ trên đường dây là rất lớn. Trong các trễ trên dây dẫn lại có sự khác biệt khá lớn giữa dây dẫn cục bộ (là trễ trên dây dẫn nối bên trong lõi IP) và dây dẫn toàn cục (là trễ trên các dây nối các lõi IP với nhau). Hơn nữa, trong cùng hệ thống thì độ trễ trên các dây nối lõi IP gần và - 5IP xa là khác nhau. Vì vậy, các nhà thiết kế cần phải tìm giải pháp để giải quyết vấn đề về độ trễ. Đồng bộ toàn cục: Vì quá trình xử lý trong chip được chia nhỏ thành các xử lý bên trong các lõi IP mà các lõi IP này hoạt động song song và độc lập với nhau (mỗi lõi IP hoạt động ở một xung clock riêng) nên để đạt được sự đồng bộ toàn cục giữa các xung clock của các lõi IP với nhau là rất khó. Chính vì vậy, người ta nghĩ ra một giải pháp mới gọi là hệ thống GALS (Globally Asynchronous - Locally Synchronous: đồng bộ cục bộ - dị bộ toàn cục). Với giải pháp này, mỗi lõi IP trong hệ thống làm việc với một xung clock riêng và đồng bộ cục bộ trong lõi, còn khi ra khỏi lõi, các lõi IP làm việc với nhau thông qua các phương thức bắt tay (handshaking) hay hỏi/đáp mà không liên quan đến các xung clock. Nhờ có giải pháp này mà việc xây dựng các hệ thống lớn hơn, với nhiều lõi IP làm việc với nhiều xung clock riêng sẽ trở lên dễ dàng hơn. Xuất phát từ những lý do trên tạo nên xu hướng thiết kế chia nhỏ các khối xử lý thành các khối con độc lập nhằm giảm chu kỳ thiết kế. Điều này giúp cho việc kiểm tra các khối trở lên dễ dàng hơn. Đặc biệt là kiểm tra ở mức trìu tượng thấp của các lõi IP, ở mức trìu tượng cao của cả hệ thống hay kết hợp cả hai. Khi làm việc ở mức trìu tượng cao người thiết kế thực hiện các thao tác linh hoạt hơn, uyển chuyển hơn ở mức trìu tượng thấp. Vì thế, trong thiết kế SoC gồm nhiều lõi IP người thiết kế không chỉ quan tâm đến vấn đề truyền thông trong lõi mà còn quan tâm đến cả truyền thông toàn cục, vậy nên phương pháp thiết kế hệ thống trên chip được chuyển đổi từ thiết kế tập trung sang xử lý đồng thời tại các lõi IP. Tóm lại, việc thiết kế một hệ thống được chia nhỏ thành các mô đun và được chuyên môn hóa. Từ đó, ta chỉ cần xây dựng kết nối giữa các mô đun và tạo lên sự truyền thông giữa chúng. 1.3. Từ hệ thống trên chip đến mạng trên chip Từ khi khái niệm hệ thống trên chip (SoC) được ra đời thì vấn đề truyền thông cũng dần được giải quyết. Các cấu trúc truyền thông của hệ thống trên chip có thể là cấu trúc liên kết điểm-điểm (point to point), cấu trúc bus hoặc là kết hợp cả hai cấu trúc đó (Hình 1.2). Trong đó, cấu trúc liên kết điểm-điểm đơn giản chỉ là nối dây trực tiếp giữa các lõi IP với nhau để tạo sự liên lạc giữa chúng. Với cấu trúc này cho phép sử dụng tối đa tài nguyên băng thông (bandwith), độ trễ đáp ứng thấp và rất đơn giản trong thiết kế, cũng như kiểm tra hay mô hình hóa. Tuy nhiên, khi tăng số lõi IP trên SoC thì số đường liên kết sẽ tăng theo cấp số mũ. Chính vì vậy mà nảy sinh vấn đề về không gian thực thi chip và vấn đề định tuyến các kết nối khi thực thi layout. - 6- CPU I/O I/O I/O Memory CPU Memory CPU I/O Memory BUS CPU I/O Memory Memory I/O Memory CPU DSP a. Cấu trúc liên kết điểm-điểm b. Cấu trúc bus c. Cấu trúc mạng Hình 1.2: Cấu trúc truyền thông trên chip. Để khắc phục các nhược điểm của kết nối điểm-điểm người ta thường kết nối theo kiểu bus, vì kết nối bus đem lại hiệu quả cao hơn và các thành phần trong hệ thống có thể chia sẻ chung kênh truyền thông. Bên cạnh đó thì giá thành thực hiện kết nối bus thấp hơn, đơn giản hơn và dễ thực hiện hơn. Tuy nhiên, khi công nghệ thiết kế hệ thống phát triển (gồm nhiều lõi IP) thì kết nối theo kiểu bus bộc lộ một số hạn chế như: khi số đơn vị xử lý trên hệ thống tăng dẫn đến dung lượng truyền thông trên chip tăng và năng lượng sử dụng cho truyền thông tăng lên đáng kể, đặc biệt là với các bus chủ. Ngoài ra, nếu kết nối quá nhiều sẽ rất khó khăn trong việc kiểm soát thông tin. Để hạn chế những nhược điểm này, người ta xây dựng hệ thống bus có sử dụng crossbar bus như AMBA [2]. Nhưng phương pháp này chưa giải quyết được triệt để các vấn đề của hệ thống bus. Một vấn đề nữa xuất phát từ đặc tính vật lý của công nghệ nhỏ hơn micro (deep submicron). Nếu bus kéo dài thì sẽ xuất hiện những vấn đề không mong muốn như (hiệu suất thấp; không dự đoán được cách thức hoạt động cũng như thông tin trên bus; công suất tiêu thụ cao; hiện tượng nhiễu bus ... ). Để hạn chế vấn đề này người ta đưa ra giải pháp là phân đoạn các bus dài để tránh suy giảm tín hiệu và các bus sẽ được thực thi như cấu trúc hợp kênh để giảm năng lượng và tăng độ phản ứng. Ý tưởng của giải pháp này là sử dụng nhiều bus trong cùng một hệ thống và kết nối chúng với nhau thông qua các cầu bus (bus bridge) [2]. Trong đó, cầu bus là nút định tuyến còn các bus là các đường liên kết, do đó hình thành nên một mạng truyền thông đơn giản (gồm có các nút định tuyến và các đường liên kết). Ưu điểm của giải pháp này là giảm đáng kể số lượng lõi IP và chiều dài các liên kết, nhưng lại khó khăn trong việc quản lý địa chỉ các lõi IP khi truyền dữ liệu qua các cầu bus. Tuy nhiên, giải pháp này vẫn chưa loại bỏ được các vấn đề cố hữu thuộc về bản chất của cấu trúc truyền thông dạng bus. - 7Một vấn đề nữa là trong tương lai gần, kết nối bus sẽ trở thành một rào cản cho sự phát triển các ứng dụng công nghệ vì rằng chúng ta sẽ rất khó khăn trong việc thiết kế cũng như kiểm tra truyền thông giữa các tác vụ trong một hệ thống. Chính vì những nguyên nhân đó, vào năm 1999 đã có một số nhóm nghiên cứu về phương pháp kết nối và trao đổi thông tin trên các SoC hiện tại và trong tương lai. Một trong những phương pháp được đề xuất đó là phương pháp truyền thông mạng trên chip (NoC: Network on Chip). Phương pháp truyền thông NoC ra đời được xem như một giải pháp đột phá cho vấn đề truyền thông trên chip [11], [5]. Có hai nhận thức về NoC: thứ nhất NoC là một tập con của SoC, thứ hai NoC là sự mở rộng của SoC. Trong nhận thức đầu, NoC được định nghĩa như là cấu trúc truyền thông chuyển tiếp dữ liệu (tức là mạng và các phương thức truy cập). Nhưng trong nhận thức thứ hai NoC được định nghĩa rộng hơn, bao quanh các vấn đề liên quan tới ứng dụng, cấu trúc hệ thống và ảnh hưởng của truyền thông hay ngược lại. 1.4. Quy trình thiết kế hệ thống trên chip Để làm rõ hơn phần thực nghiệm được trình bày về sau, mục này trình bày tóm lược quy trình thiết kế và chế tại một hệ thông vi mạch hiện tại. Quy trình thiết kế và chế tạo một hệ thống trên vi mạch cũng giống như quy trình thiết kế và chế tạo VLSI (Very Large Scale Integration), bao gồm nhiều công đoạn khác nhau, xuất phát từ yêu cầu bài toán đi đến xây dựng các đặc tả, thiết kế mạch dựa trên các đặc tả vừa xây dựng… cho đến thực hiện các mặt nạ cho thiết kế, chế tạo wafer, kiểm tra, đóng vỏ và xuất xưởng. Quy trình thiết kế hệ thống trên chip có thể được mô tả như Hình 1.3. Quy trình này có thể chia thành hai giai đoạn chính đó là giai đoạn thiết kế logic (logical design) và giai đoạn thiết kế vật lý (physical design). Mỗi giai đoạn lại được chia thành các công đoạn nhỏ hơn nhằm đơn giản và tối ưu quá trình thiết kế. * Giai đoạn thiết kế logic Giai đoạn này có thể chia thành 4 bước sau: Bước 1 (System design): Đây là bước thiết kế đặc biệt quan trọng, ở bước này người thiết kế phải lý giải được toàn bộ hệ thống mà mình sắp thiết kế. Ngoài ra, người thiết kế còn phải hiểu rõ nguyên lý hoạt động của toàn hệ thống, các đặc điểm về công nghệ, tốc độ xử lý mức độ tiêu thụ năng lượng, cách bố trí các chân, các lược đồ khối, các điều kiện vật lý như kích thước, nhiệt độ, điện áp... Bước này đòi hỏi - 8người thiết kế phải có sự am hiểu về hệ thống, có kiến thức chuyên môn sâu, rộng và có nhiều kinh nghiệm trong thiết kế. Hình 1.3: Quy trình thiết kế một hệ thống trên chip. Bước 2 (Funcion design): Sau bước thiết kế hệ thống, người thiết kế căn cứ vào yêu cầu của bài toán thiết kế, sử dụng các ngôn ngữ thiết kế phần cứng như VHDL, hoặc Verilog-HDL, hoặc System-C… để hiện thực các chức năng logic của thiết kế. Quá trình thiết kế mà chỉ quan tâm tới chức năng của mạch dựa trên kết quả tính toán cũng như sự luân chuyển dữ liệu giữa các register (flip-flop) được gọi là thiết kế mức RTL (Register Transfer Level). Để kiểm tra tính đúng đắn của mạch, người thiết kế có thể dùng một trong các công cụ mô phỏng như: VCS của hãng Synopsys, hay ModelSim của hãng Mentor Graphics. Bước 3 (Synthesis): Bước này có nhiệm vụ tổng hợp các file RTL thành các cổng (gate) cơ bản (NOT, NAND, XOR, MUX…). Sau đó ghép các cổng đó lại với - 9nhau để tạo thành các mô-đun lớn hơn, việc tổng hợp tiếp diễn cho đến khi cấu thành một SoC hoàn chỉnh. Quá trình này được thực hiện nhờ các công cụ hỗ trợ tổng hợp phần cứng (synthesis tool) của hãng Xilinx hay hãng Altera. Kết quả của quá trình tổng hợp không là duy nhất mà tùy thuộc vào công cụ hỗ trợ tổng hợp phần cứng, thư viện các cổng và macro của nhà sản xuất. Bước 4 (Prelayout simulation): Sau khi tổng hợp các mô-đun lại với nhau, ta tiến hành mô phỏng trước khi thực hiện layout. Đây là bước cuối cùng của giai đoạn thiết kế logic, sau khi mô phỏng, kiểm tra thiết kế không có lỗi thì tiến hành thực thi thiết kế vật lý. * Giai đoạn thiết kế vật lý Sau khi thiết kế logic xong ta thu được netlist mô tả thiết kế. Để tạo layout cho thiết kế ta phải thực hiện giai đoạn thiết kế vật lý. Giai đoạn này được thực hiện qua các bước sau: Bước 5 (Floorplanning): Bước này cho phép ta thực hiện việc quy hoạch bề mặt vi mạch, như việc bố trí các khối chức năng trên vi mạch với mục đích giảm thiểu không gian thực thi phần cứng và ảnh hưởng nhiễu giữa các khối. Bước 6 (Place & Route): Sau khi thực hiện quy hoạch các khối chức năng trên bề mặt vi mạch ta tiến hành đặt chỗ cho từng linh kiện trên vùng quy hoạch để đảm bảo giảm thiểu không gian thực thi và giảm nhiễu. Sau khi đặt linh kiện xong ta tiến hành nối dây cho các linh kiện, tức xây dựng các đường liên kết giữa các lối vào/ra của các linh kiện để tạo thành các netlist của hệ thống. Bước 7 (Postlayout Simulation): Bước này thường được đảm nhiệm bởi chuyên gia trong các hãng sản xuất bán dẫn. Họ sử dụng các công cụ tổng hợp để chuyển netlist sang kiểu data cho layout. Netlist sẽ trở thành bản vẽ cách bố trí các transistor, capacitor, resistor... Sau khi layout design xong ta tiến hành mô phỏng để kiểm chứng tính đúng đắn của hệ thống và mức độ đáp ứng của hệ thống so với yêu cầu đặt ra. Nếu không đạt thì quay lại các bước trên để chỉnh sửa và tối ưu thiết kế. Bước 8 (Tape out): Sau khi mô phỏng kiểm chứng thành công, toàn bộ quá trình thiết kế vật lý sẽ được tapeout ra một file (*.gds hay *.gds2 ) và gửi đến nhà máy sản xuất. Giai đoạn thiết kế này đòi hỏi người thiết kế phải là các chuyên gia thực thụ, có nhiều kinh nghiệm trong lĩnh vực này. Ngoài ra, còn cần phải có sự đầu tư về trang thiết bị chế tạo. - 10Tóm lại, chương này cho ta một cái nhìn tổng quan về một hệ thống trên vi mạch và các vấn đề gặp phải trong quá trình thiết kế hệ thống trên vi mạch, sự ra đời của mô hình mạng trên chip (NoC), và quy trình thiết kế một hệ thống trên vi mạch. Chương tiếp theo sẽ giới thiệu một mô hình mạng trên chip cụ thể, đồng thời sẽ làm rõ các khái niệm cơ bản về mạng trên chip. - 11- Chương 2. Mạng trên chip và các khái niệm cơ bản Chương này giới thiệu tổng quan về mô hình mạng trên chip, các thành phần cấu thành nên mạng. Các khái niệm cơ bản của mạng trên chip như tôpô mạng, kỹ thuật truyền thông, cơ chế truyền thông, thuật toán định tuyến, kỹ thuật điều khiển luồng dữ liệu và tắc nghẽn, chất lượng dịch vụ mạng. Sẽ lần lượt được đề cập nhằm làm rõ các yêu cầu thiết kế mô hình mạng trên chip về sau. Nội dung của chương được trình bày trên cơ sở tham khảo tài liệu [1]. 2.1. Mạng trên chip Như đã trình bày trong chương trước, mô hình hệ thống trên chip với cấu trúc truyền thông bus đã bộc lộ một số hạn chế như kém linh hoạt và khó thực hiện khi số lượng tài nguyên gia tăng. Vì vậy, mạng trên chip (NoC) ra đời với ý định giải quyết các khó khăn này bằng cách thực hiện một mạng truyền thông. NoC cho phép chia sẻ tài nguyên, nâng cao băng thông bằng việc chia sẻ các kênh truyền trên mạng, giảm nhỏ năng lượng tiêu thụ do các dây dẫn được thu ngắn, việc phân lớp khi thiết kế và khả năng sử dụng lại các tài nguyên là những đặc điểm thuận lợi khi thiết kế dựa trên NoC. Cấu trúc của NoC bao gồm các bộ định tuyến mạng (network router), các đường liên kết giữa các bộ định tuyến (link), bộ phối ghép mạng thích ứng (NA: Network Adapters) và tài nguyên tính toán (resource) còn được gọi là các lõi IP được minh họa ở Hình 2.1. Mạng trên chip được hiểu như là sự mở rộng của khái niệm hệ thống trên chip. - Bộ định tuyến (Router): là thành phần cơ bản của mạng, thực hiện việc định tuyến giữa các lối vào và lối ra. Nó có nhiệm vụ tính toán đích đến của dữ liệu, phân xử các tranh chấp trên đường truyền dữ liệu và cuối cùng truyền dữ liệu theo đường dẫn đã chọn. Mỗi bộ định tuyến thông thường kết nối một số các liên kết và một hay nhiều bộ ghép nối mạng NA. Các bộ định tuyến được sắp xếp trong một tôpô mạng và chúng bắt tay chuyển tiếp và điều khiển luồng dữ liệu giữa các NA. - 12- Hình 2.1: Một NoC hai hướng 3×3 [8]. - Bộ phối ghép mạng thích ứng (NA: Network Adapter): cung cấp giao diện kết nối giữa lõi IP và bộ định tuyến. NA thực hiện đóng gói dữ liệu được cung cấp bởi IP thành các gói, các gói lại được phân chia thành các đơn vị dữ liệu nhỏ hơn (gọi là flit) trước khi chúng được gửi vào mạng. Các flit được sử dụng cốt để tối thiểu nhu cầu sử dụng bộ đệm và dây dẫn trong mạng. - Các liên kết (Links): là nhóm các dây dẫn song song kết nối giữa các bộ định tuyến. Độ rộng dữ liệu của các đường liên kết phụ thuộc vào số các dây dẫn bó lại với nhau và số đường tín hiệu được sử dụng. Trên các đường liên kết, tại một thời điểm chỉ có một flit dữ liệu được truyền. Các đường liên kết có nhiệm vụ kết nối các bộ định tuyến với các bộ NA. 2.2. Các khái niệm cơ bản về mạng trên chip 2.2.1. Tôpô mạng Tôpô (topology) mạng là cách bố trí của các phần tử trong một hệ thống mạng. Nó quy định tổ chức vật lý của mạng và do đó thường được mô hình hoá bằng các cấu trúc hình học. Giống như trong mạng máy tính, tôpô mạng trên chip cũng có nhiều loại. Hình 2.2 giới thiệu một số tôpô mạng thường dùng cho mạng trên chip. - 13- (a) (d) (b) (c) (e) Hình 2.2: Các tôpô mạng thường dùng cho mạng trên chip: (a) chordal ring; (b) 2D-mesh; (c) 2D torus; (d) Binary tree; (e) Fat-tree. * Tôpô mạng chordal ring: thực chất là một tôpô mạng ring (các nút mạng nối với nhau thành một vòng kín) có bổ sung thêm các dây cung giữa các bộ định tuyến đối diện (Hình 2.2a). Ưu điểm của tôpô mạng này cho phép hiệu năng truyền thông cao hơn tôpô mạng ring, nhưng kết nối và định tuyến cũng phức tạp hơn. * Tôpô mạng 2D-mesh: là một dạng cấu trúc mạng lưới bao gồm m hàng và n cột, giao của các hàng và cột là các bộ định tuyến (Hình 2.2b). Tôpô này có ưu điểm là dễ dàng thực thi trên các công nghệ bán dẫn hiện tại, đơn giản trong chiến lược định tuyến, dễ dàng phát triển, dễ mở rộng mô hình mạng. Nhược điểm có độ trễ đáp ứng cao. * Tôpô mạng 2D torus: Mạng hình xuyến là một phiên bản cải tiến của mạng mắt lưới cơ bản. Trong đó phần đầu của cột được kết nối với phần cuối của cột và phía trái của hàng được kết nối với phía phải của hàng (Hình 2.2c). Mạng hình xuyến có các bộ định tuyến rất nhỏ và có tính đa dạng đường dẫn. Với tôpô mạng này cho phép giảm đường kính của mạng và tăng băng thông. Tuy nhiên nó có một số hạn chế như thực thi trên tôpô mạng này phức tạp hơn, các liên kết nối vòng các bộ định tuyến phía ngoài dài dẫn đến suy giảm hiệu năng truyền thông và độ trễ đáp ứng cao. * Tôpô fat-tree: Tôpô mạng hình cây lớn là một tôpô mạng có đường kính rất nhỏ nên độ trễ đáp ứng cũng giảm đi đáng kể (Hình 2.2e). Nhược điểm của tôpô này là có sự phân cấp bộ định tuyến và kết nối phức tạp do đó không gian thực thi phần cứng
- Xem thêm -