Có một phương pháp thiết kế đã ứng dụng công nghệ mới tạo ra thiết bị trên cơ sở các mạch logic tích hợp khả trình PLD, ở đó các nhiệm vụ logic đã được thực hiện bằng cách lập trình và k
Trang 1-
LUẬN VĂN THẠC SĨ KHOA HỌC
THIẾT KẾ CHÍP CHUYÊN DỤNG BẰNG CÔNG NGHỆ ASIC ỨNG DỤNG TRONG KHÍ TÀI QUÂN SỰ
NGÀNH : XỬ LÝ TÍN HIỆU VÀ TRUYỀN THÔNG
MÃ SỐ : ………
TÔ QUÝ KHOÁT
Người hướng dẫn khoa học : TS NGUYỄN KIM KHÁNH
HÀ NỘI 2005
Trang 2CHƯƠNG I - TỔNG QUAN VỀ CÔNG NGHỆ ASIC VÀ FPGA 1
1.2.1 Sự phát triển của các thiết bị lập trình được 3
CHƯƠNG II - PHƯƠNG PHÁP THIẾT KẾ ASIC VÀ PHẦN
MỀM MAX + PLUS II
30
2.1 Phương pháp thiết kế hệ thống số trên cơ sở ASIC 30
Trang 32.4 Ngôn ngữ mô tả phần cứng AHDL 41
2.5.3 Mô hình thời gian theo sự kiện rời rạc 50
CHƯƠNG III – GIỚI THIỆU VỀ HỆ THỐNG ĐỒNG BỘ ĐÀI
Trang 43.2.2.4 Rãnh tạo xung có chu kỳ biến đổi 62 3.2.2.5 Các rãnh tạo xung đồng bộ cự ly 65
CHƯƠNG IV- ỨNG DỤNG CÔNG NGHỆ FPGA ĐỂ THIẾT KẾ
HỆ THỐNG ĐỒNG BỘ ĐÀI ĐIỀU KHIỂN C-75M
Trang 5Từ viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt
APEX Advanced ProgrammablE logic
matriX
Ma trận logic lập trỡnh được
ASIC Application Specific IC IC ứng dụng chuyờn biệt
bởi máy tính
CICC Custom Integrated Circuits
Conference
Hội thảo về IC tuỳ biến
DRAM Dynamic Random-Access Memory Bộ nhớ động truy xuất ngẫu
nhiên - cũn gọi là RAM động
EEPROM Electrically Erasable Programmable
Read-Only-Memory
Bộ nhớ chỉ đọc lập trỡnh và xoá được bằng điện
EPROM Erasable Programmable
Read-Only-Memory
Bộ nhớ chỉ đọc lập trỡnh và xoỏ được
FLEX Flexible Logic Element matriX Ma trận phần tử logic linh hoạt
FPGA Field-Programmable Gate Array Ma trận cổng lập trỡnh được
tại chỗ
Trang 6PLA Programmable Logic Array Mảng logic lập trỡnh được
PROM Programmable Read-Only-Memory Bộ nhớ chỉ đọc lập trỡnh được
SRAM Static Random-Access Memory Bộ nhớ tĩnh truy xuất ngẫu
nhiờn - cũn gọi là RAM tĩnh
VHDL VHSIC Hardware Description
Trang 7Đất nước ta đang trong giai đoạn phát triển kinh tế Đi đôi với việc xây dựng đất nước, nhiệm vụ bảo vệ tổ quốc lại càng đặt ra yêu cầu nặng nề và quan trọng Việc bảo vệ vững chắc bầu trời tổ quốc đặt ra cho bộ đội tên lửa phòng không hết sức ngặt nghèo và khó khăn Trang thiết bị hoạt động cần phải luôn hoạt động với hệ số phẩm chất kỹ thuật bảo đảm đúng theo yêu cầu, độ tin cậy cao Các trang thiết bị đồng bộ luôn ở trạng thái tốt, đảm bảo hệ thống vũ khí luôn ở trạng thái sẵn sàng chiến đấu
Trong điều kiện đất nước ta hiện nay, việc chế tạo các đài điều khiển tên lửa phòng không là chưa được khả thi, nhưng nếu nhập các trang thiết bị của nước ngoài thì kinh phí lại rất đắt, cho nên việc này cũng rất hạn chế Vì vậy, hệ thống phòng thủ phòng không với các đài điều khiển tên lửa phòng không thế hệ
cũ vẫn là rất quan trọng, có vai trò to lớn Tuy nhiên, do thời gian sử dụng vượt qua thời gian cho phép, linh kiện bổ xung và thay thế hạn chế làm cho các thiết
bị này không còn đáp ứng được về mặt kỹ thuật và chiến thuật nữa Do đó, để tăng khả năng làm việc của các đài điều khiển tên lửa phòng không cần phải khôi phục và nâng cấp theo hướng vi mạch hoá và số hoá các khối chức năng bằng công nghệ tiên tiến hiện nay nhằm tạo ra nguồn vật tư thay thế sẵn có trong nước và nâng cao khả năng làm việc của đài điều khiển là một hướng đi quan trọng
Mặt khác, những thành tựu của kỹ thuật số và kỹ thuật vi xử lý ngày càng phát triển và nhanh chóng xâm nhập vào mọi lĩnh vực của cuộc sống Tiến bộ khoa học trong lĩnh vực vi điện tử số giúp chúng ta ngày càng tiếp cận sâu với các thiết bị hiện đại phục vụ đắc lực trong việc tạo ra các thiết bị theo yêu cầu của con người
Trang 8cậy nhưng chưa thực sự hiệu quả và tối ưu như tạo ra thiết bị cồng kềnh, dư thừa
về tài nguyên, hạn chế tính tác động nhanh, thiết kế công phu mất nhiều thời gian
Có một phương pháp thiết kế đã ứng dụng công nghệ mới tạo ra thiết bị trên cơ sở các mạch logic tích hợp khả trình (PLD), ở đó các nhiệm vụ logic đã được thực hiện bằng cách lập trình và kết nối các phần tử logic thông dụng với các khối để cấu thành cấu trúc bên trong PLD của thiết bị Đó là công nghệ FPGA, là công nghệ tiên tiến nhất hiện nay đáp ứng được yêu cầu về kinh tế, phẩm chất kỹ thuật của thiết bị trong việc thiết kế các ứng dụng trong quân sự cũng như đối với dân sự
Để ứng dụng kỹ thuật xử lý số hiệu quả vào việc thiết kế các khối của hệ thống đài điều khiển tên lửa phòng không bằng công nghệ mới Với sự hướng dẫn thầy giáo, Tiến sĩ Nguyễn Kim Khánh, tôi nhận thực hiện luận văn tốt
nghiệp với đề tài: “Thiết kế chíp chuyên dụng bằng công nghệ ASIC ứng dụng trong khí tài quân sự” với mục đích ứng dụng công nghệ FPGA vào để
thiết kế hệ đồng bộ của đài điều khiển tên lửa C-75M làm cơ sở cho việc thiết kế các khối khác của đài, làm giàu tài nguyên thay thế trang thiết bị sau này Đề tài được tổ chức thành các chương sau:
Chương I - Tổng quan về công nghệ ASIC và FPGA
Chương II - Phương pháp thiết kế ASIC và phần mềm MAX + PLUS II Chương III - Giới thiệu về hệ thống đồng bộ đài điều khiển C-75M
Chương IV- Ứng dụng công nghệ FPGA để thiết kế hệ thống đồng bộ đài
điều khiển C-75M
Trang 9CHƯƠNG I TỔNG QUAN VỀ CÔNG NGHỆ ASIC VÀ FPGA
1.1 Tổng quan về công nghệ ASIC
1.1.1 Khái quát chung về công nghệ ASIC
Những năm đầu của thập niên 1970, nền công nghiệp bán dẫn đã phát triển và đã đạt được các vi mạch điện tử tích hợp IC (Intergrated Circuit) đem lại những ứng dụng to lớn trong đời sống xã hội và khoa học kỹ thuật Cùng với sự phát triển của ngành vật liệu điện tử, kỹ thuật tích hợp mạch điện tử ngày một tăng từ SSI (Small Scale Intergreated), MSI (Medium Scale Intergreated), LSI (Large Scale Intergreated) đến đầu thập kỷ 80 mật độ tích hợp đã là VLSI (Very Large Scale Intergreated) Sự ra đời của các vi mạch điện tử đã làm cơ sở cho việc phát triển phần cứng và phần mềm của các hệ thống tính toán Việc tăng liên tục mức độ tích hợp trên một nền đơn đã đưa tới việc chế tạo những hệ thống số với độ phức tạp ngày càng tăng Ban đầu mật độ tích hợp chỉ là vài cổng logic với công nghệ SSI thì ngày nay với công nghệ VLSI mật độ tích hợp đã đạt đến con số vài triệu phần tử Mật độ tích hợp lớn cho phép chúng ta thiết kế nhiều modul hơn, tốc độ xử lý ngày càng cao và kích thước sản phẩm ngày càng nhỏ
Thời đại của các IC có độ tích hợp cỡ rất lớn VLSI hiện nay cung cấp các bộ vi xử lý 64-bit, bổ xung bộ nhớ truy cập nhanh (cache memory) và các đơn vị số học dấu chấm động (floating-point arithmetic unit), có trên 1 triệu transistor chỉ trên một miếng silic nhỏ
Tuy nhiên, do nhu cầu phát triển các ứng dụng thật phức tạp trong thuật toán và cần đến tính bảo mật và tự chủ cao trong một số lĩnh vực như an ninh, quốc phòng, vũ trụ,… cần đến những ứng dụng đặc biệt thì việc sử dụng các IC tiêu chuẩn chỉ có trong phạm vi cho phép là rất hạn chế Do vậy, cần có một
Trang 10công nghệ mới ra đời để chỉ tạo ra các IC “trắng”, tức là các IC chưa có chức năng gì mà chỉ tích hợp sẵn các phần tử logic còn phần tính năng hoàn toàn do người thiết kế lập ra Đồng thời, nó phải đảm bảo kế thừa được tính ưu việt của các công nghệ đi trước và có tính năng vượt trội Đó chính là nhu cầu ra đời công nghệ IC mới đang được sử dụng và phát triển mạnh mẽ trên thế giới-công nghệ ASIC (Application Specific Intergrate Circuit-IC có ứng dụng chuyên biệt hay còn gọi là IC chuyên dụng) Nhờ công nghệ này chúng ta có thể làm chủ được thiết kế logic đến chế tạo và lắp ráp hoàn thiện một hệ thống vi điện tử cho riêng mình
Các IC thuộc dòng ASIC bao gồm : các chíp dùng trong công nghiệp giải trí; các chip dùng trong công nghệ vệ tinh, vũ trụ, các chip được thiết kế dùng để giao tiếp giữa bộ nhớ và bộ xử lý CPU của máy tính, các chip chứa
bộ tiền xử lý bên trong cùng với các phần tử logic khác
1.1.2 Phân loại ASIC
Ngày nay, các IC được chế tạo trên một miếng silic (silicon wafer) dạng tròn, mỏng khoảng vài trăm micromet, với mỗi miếng silic chứa vài trăm khuôn (die) Các transistor và việc nối dây được chế tạo từ nhiều lớp (layer) thông thường từ 10 đến 15 lớp phân biệt Mỗi một lớp kế tiếp nhau có một kiểu mẫu bằng cách sử dụng một lớp mặt nạ giống như bản kính dương chụp ảnh Khoảng sáu lớp đầu tiên xác định các transistor, khoảng sáu lớp tiếp theo xác định các dây kim loại giữa các transistor mà ta gọi là các liên kết nối Các IC hoàn toàn tuỳ biến vào khách hàng (full-custom IC), bao gồm nhiều cell logic theo yêu cầu của khách hàng và tất cả các lớp mặt nạ cũng hoàn toàn tuỳ thuộc vào khách hàng Một bộ vi xử lý là một ví dụ cho loại IC này, những người thiết kế phải mất vài giờ để nhét phần lớn trong số mỗi một micromet vuông sau cùng trong không gian chip xử lý theo cách thủ công Việc làm theo yêu cầu của khách hàng mọi tính chất của IC theo cách này cho phép
Trang 11các nhà thiết kế tạo ra các mạch tưong tự, các cell nhớ tối ưu hoá, hoặc cấu trúc
cơ khí trên một IC Thời gian sản xuất một IC loại này (không kể thời gian thiết kế) hết khoảng 8 tuần, các IC loại này thông thường được dùng trong một ứng dụng cụ thể
Các ASIC tuỳ thuộc một phần vào khách hàng (semicustom ASIC) Các semicustom ASIC đều có các cell logic được thiết kế trước và một số lớp mặt nạ tuỳ thuộc vào khách hàng Việc sử dụng các cell logic được thiết kế trước từ một thư viện cell làm cho chúng ta với tư cách là một nhà thiết kế được dễ dàng hơn
Có hai loại semicustom ASIC mà ta sẽ khảo sát là: các ASIC dựa trên cell chuẩn (standard cell-based ASIC) và các ASIC dựa trên dải cổng (gate array-based ASIC) Ngoài ra, còn có các loại ASIC lập trình được đều có các cell logic được thiết kế trước và không có lớp mặt nạ nào tuỳ thuộc vào khách hàng Có hai loại ASIC lập trình được: Chip logic lập trình được PLD (programmable logic device) và thành viên mới nhất của họ ASIC đó là dải cổng hiệu ứng trường lập trình được hay dải cổng lập trình được dạng trường FPGA (field-programmable gate arrays)
1.2 Tổng quan về công nghệ FPGA
1.2.1 Sự phát triển của các thiết bị lập trình được
Các thiết bị lập trình được đóng vai trò quan trọng trong thiết kế hệ thống số Chúng là các chip đa dụng có thể được cấu hình theo nhiều cách cho nhiều ứng dụng Loại đầu tiên là PROM (Programmable Read- Only Memory) Đây là thiết bị lập trình được một lần, một dãy ô nhớ chỉ đọc PROM có thể thực hiện bất kỳ một hàm locgic nào bằng cách sử dụng các đường địa chỉ như các ngõ nhập, ngõ xuất được xác định nội dung các bit nhớ
Có hai loại PROM cơ bản, một loại được lập trình bởi người sản xuất và một loại có thể được lập trình bởi người dùng Loại thứ nhất được gọi là
Trang 12mask- programmable và loại thứ hai được gọi là field-programmable Các chip mask- programmable có hiệu suất tốc độ cao vì kết nối bên trong được thực hiện băng phần cứng Ngược lại, các chip field-programmable luôn cần đến một số loại chuyển mạch lập trình được và vì vậy tốc độ chậm hơn Tuy nhiên, thiết bị field-programmable chứa đựng các ưu điểm có giá trị hơn về hạn chế tốc độ
• Các chip field-programmable có thể lập trình được trong vài phút, trong khi các chip mask- programmable phải mất vài tuần hoặc hàng tháng
• Các chip field-programmable rẻ hơn các chip mask- programmable khi sản xuất với số lượng nhỏ
Hai biến thể field-programmable của PROM đó là Erasable Programmable Read-Only Memory (EPROM) và Electric Erasable Programmable Read-Only Memory (EEPROM) cung cấp ưu điểm: cả hai đều có thể xoá và lập trình lại nhiều lần
Một loại thiết bị lập trình khác được thiết kế đặc biệt để thực hiện các mạch logic là Programmable Logic Device (PLD) Một PLD thông thường gồm một dãy các cổng AND được nối với một dãy các cổng OR Mạch logic
có thể thực hiện được trong PLD theo dạng tổng của tích (sum-of-products) Loại cơ bản nhất của PLD là Programable Array Logic (PAL) PAL là một khối các cổng AND lập trình được nối đến một khối các cổng OR cố định Một loại PAL linh hoạt hơn là Programable Logic Array (PLA) PLA cũng có cấu trúc giống PAL nhưng kết nối là lập trình được PLA có cả hai loại field-programmable và mask- programmable
Cả hai loại PLD trên cho phép thực hiện các mạch logic có tốc độ cao, tuy nhiên thì cấu trúc đơn giản của chúng chỉ cho phép thực hiện các mạch logic nhỏ
Trang 13Loại thiết bị lập trình tổng quát nhất gồm một dãy các phần tử rời rạc có thể kết nối với nhau theo mô tả của người sử dụng Loại thiết bị này được gọi
là Mask- Programmable Gate Array (MPGA) Các MPGA này phổ biến nhất gồm các hàng transistor có thể được kết nối để thực hiện các mạch logic Field- Programmable Gate Array (FPGA) đã kết hợp khả năng lập trình của PLD và cấu trúc kết nối có thể mở rộng của MPGA Do đó, các thiết bị lập trình có mật độ tích hợp cao hơn
1.2.2 Khái quát về FPGA
Một FPGA gồm một dãy các phần tử rời rạc có thể được kết nối với nhau theo một cách chung (giống như MPGA) và các kết nối giữa các phần tử
có thể lập trình được (giống như PLA)
Một FPGA tổng quát gồm một dãy hai chiều các cell logic cơ bản có thể lập trình được, có thể được kết nối bằng các nguồn kết nối chung Các nguồn kết nối gồm các đoạn dây nối (segment) có thể có chiều dài khác nhau Bên trong các kết nối là các chuyển mạch lập trình được dùng để nối các cell logic với các đoạn dây, hoặc các đoạn dây với nhau Mạch logic được cài đặt trong FPGA bằng các ánh xạ logic vào các cell logic riêng rẽ và sau đó nối các cell logic cần thiết qua các chuyển mạch
Trang 14
Đặc tính chung chủ yếu của một FPGA:
• Không có lớp mặt nạ nào tuỳ thuộc vào khách hàng
• Phương pháp lập trình các cell logic cơ bản và liên kết nối
• Lõi là dải có hệ thống các cell logic cơ bản lập trình được, có thể thực hiện hệ tổ hợp cũng như hệ tuần tự (các flipflop)
• Ma trận liên kết nối lập trình được bao quanh các cell logic cơ bản
• Các cell I/O lập trình được bao quanh lõi
• Thời gian thay đổi hoàn toàn thiết kế trong khoảng vài giờ
Các cell logic: có cấu trúc và nội dung được gọi là kiến trúc của nó Kiến trúc logic của cell logic có thể được thiết kế theo nhiều cách khác nhau Một số cell logic có thể chỉ đơn giản là các cổng AND 2 ngõ nhập Các logic cell khác
có cấu trúc phức tạp hơn như các multiplexer hay các bảng tìm kiếm table) Trong một số loại FPGA, các cell logic có thể có cấu trúc hoàn toàn giống như PAL Hầu hết các cell logic chứa một số flip-flop, để hỗ chợ cho việc thực hiện các mạch tuần tự
(lookup-I/O cell Cell logic Tài nguyên kết nối
Hình 1.1 mô hình lý thuyết của một FPGA
Trang 15Các nguồn kết nối: Cấu trúc và nội dung của các nguồn kết nối trong FPGA được gọi là kiến trúc Routing (routing archictecture) Kiến trúc routing gồm các đoạn dây nối và các chuyển mạch lập trình được Các chuyển mạch lập trình được có thể có nhiều cấu tạo khác nhau như: pass transistor được điều khiển bởi cell RAM, các cầu chì nghịch (anti-fuse), EPROM transistor,
và EEPROM transistor Giống như cell logic, có nhiều cách khác nhau để thiết kế các kiến trúc routing Một số FPGA cung cấp nhiều kết nối đơn giản giữa các cell logic, một số cung cấp ít kết nối hơn nên routing phức tạp hơn
1.2.3 Ứng dụng của FPGA
FPGA có thể ứng dụng trong hầu hết các ứng dụng dùng MPGA, PLD
và các mạch tích hợp nhỏ SSI FPGA là một phương tiện tổng quát nhất để hiện thực các mạch logic số Chúng đặc biệt thích hợp cho việc thực hiện các ASIC Một số ví dụ đã được công bố : bộ điều khiển FIFO 1 megabit, giao tiếp vi kênh IBM PS/2 …
1 Thiết kế mạch ngẫu nhiên
Mạch logic ngẫu nhiên thường được hiện thực bằng PAL, nếu tốc độ không đòi hỏi khắt khe thì mạch có thể thực hiện bằng FPGA, một FPGA có thể hiện thực một mạch cần từ 10 đến 20 PAL
2 Thay thế các chip SSI cho mạch ngẫu nhiên
Các mạch ngẫu nhiên trong các sản phẩm thương mại thường chứa nhiều chip SSI, các chip này có thể được thay thế bởi một FPGA và có thể giảm nhỏ kích thước sản phẩm
Trang 16Một loại máy tính hoàn toàn mới có thể được chế tạo với các FPGA, có thể tái lập trình Ý tưởng là một chương trình phần mềm có thể được ‘biên dịch’ vào phần cứng Phần cứng này được thực hiện bằng cách lập trình lên
bo mạch FPGA
5 Tái cấu hình phần cứng trực tuyến
FPGA cho phép có thể thay đổi theo mong muốn cấu trúc của một máy đang hoạt động
Tóm lại, FPGA có thể sử dụng hiệu quả trong nhiều ứng dụng thực tế Nếu so sánh với MPGA thì có hai lợi điểm quan trọng: FPGA có giá thành tạo mẫu thấp hơn, thời gian chế tạo mẫu ngắn hơn
1.2.4 Quá trình cài đặt
Người thiết kế muốn tạo ra FPGA tốt phải sử dụng hệ thống CAD (Computer- Aided-Design) gọi là công cụ trợ giúp thiết kế bằng máy tính Điểm bắt đầu cho quá trình thiết kế là mạch logic ban đầu cần thiết kế Đòi hỏi một sơ đồ biểu diễn mạch, hay một mô tả AHDL, VHDL, hoặc đặc tả biểu thức Boolean Từ các ngõ vào ban đầu, mô tả mạch được chuyển thành dạng chuẩn như là các biểu thức Boolean
Sau đó, biểu thức Boolean được xử lý bằng công cụ tối ưu logic, rút gọn biểu thức logic để tối ưu về diện tích, tốc độ của mạch cuối cùng
Trang 17Tiếp theo, các biểu thức Boolean đã được tối ưu truyền tới cell logic của FPGA thông qua chương trình ánh xạ công nghệ (technology mapping) Bộ ánh
xạ cố gắng tối thiểu số khối được dùng tức là tối ưu diện tích hoặc có thể được tối thiểu số lượng tầng cell logic hoặc giảm đường dẫn tức là tối ưu về độ giữ chậm Khi ánh xạ mạch vào các cell logic cần phải quyết định đặt mỗi khối ở đâu trong dãy FPGA Chương trình Placement được sử dụng để giải quyết vấn
đề này Các giải thuật của Placement cố gắng tối thiểu tổng số độ dài dây nối yêu cầu để tạo kết quả
Bước cuối cùng trong hệ thống CAD được thực hiện bằng phần mềm routing, chúng ấn định các đoạn dây FPGA và chọn các chuyển mạch có thể lập trình được phù hợp với các kết nối trong cell logic, bước này yêu cầu phần mềm phải xử lý 100% các kết nối yêu cầu nếu không thì mạch không thiết kế được một FPGA, và yêu cầu routing thực hiện sao cho giữ chậm lan truyền tại các kết nối là tối thiểu
Tối ưu logic
ánh xạ công nghệ Placement
Routing Mạch logic ban đầu
Đơn vị lập trình
Configured FPGA Hình 1.2 Hệ thống CAD tiêu biểu cho FPGA
Trang 18Ngõ ra của hệ thống CAD được nạp vào đơn vị lập trình ra chip FPGA cuối cùng Toàn bộ quá trình cài đặt mạch trong FPGA mất khoảng vài phút đến một giờ, tuỳ thuộc vào loại FPGA đang dùng
1.2.5 Phân loại FPGA
Các loại FPGA của nhiều công ty khác nhau có đặc tính riêng, tuy nhiên chúng có thể chia làm 4 loại chính: cấu trúc mảng đối xứng (symmetrical array), cấu trúc hàng (row-based), cấu trúc PLD phân cấp (hierachical PLD),
và cấu trúc đa cổng (sea-of-gates)
1.2.6 Công nghệ lập trình chip
Hiện nay, các công nghệ lập trình đang được sử dụng là: RAM tĩnh, cầu chì nghịch (anti-fuse), EPROM transistor, EEPROM transistor Mặc dù các công nghệ lập trình này khác nhau, nhưng tất cả các phần tử lập trình đều có chung tính chất là có thể cấu hình được ở một trong hai trạng thái: ON hoặc OFF
Các phần tử lập trình được dùng để thực hiện các kết nối lập trình được giữa các cell logic của FPGA, một FPGA thông thường có thể hơn 100.000 phần tử lập trình
Các phần tử lập trình có các tính chất sau:
Hình 1.3 Bốn loại FPGA trên thực tế
Đa cổng PLD phân cấp
Nối kết
Cell logic
Cell ogic
Nối kết Cấu trúc hàng
Cell logic
Nối kết
Mảng đối xứng
Kết nối phủ lên cell logic PLD Cell
Trang 19• Chiếm càng ít diện tích chip càng tốt
• Có trở kháng thấp ở trạng thái ON và trở kháng cao ở trạng thái OFF
• Có điện dung ký sinh thấp khi kết nối các đoạn dây
• Có thể chế tạo tin cậy số lượng lớn phần tử lập trình trên một chip
Giới thiệu về công nghệ lập trình EPROM và EEPROM
Công nghệ lập trình EPROM được sử dụng trong các FPGA của Altera
Corp và của Plus Logic, công nghệ này giống như sử dụng trong bộ nhớ
EPROM Không giống với MOS transistor đơn giản, một EPROM transistor
gồm hai cổng, một cổng treo (floating-gate) và một cổng chọn (select-gate)
Cổng treo đặt giữa cổng chọn và kênh của transistor, nó được gọi như thế vì
không có kết nối điện đến bất kỳ mạch nào
Ở trạng thái bình thường không được lập trình, không có điện tích giữa
cổng treo và transistor có thể được chuyển sang trạng thái ON một cách bình
thường bằng cổng chọn Khi transistor được lập trình bằng dòng lớn chạy qua
giữa nguồn và kênh, một điện tích được giữ lại ở cổng treo Điện tích này làm
cho transistor chuyển sang trạng thái OFF Một EPROM transistor có thể
được tái lập trình bằng cách huỷ bỏ lớp điện tích được giữ lại ở cổng treo Một đường dây gọi là “word line” nối với cổng chọn của EPROM
transistor
điện trở lên nguồn
+5v
EPROM transistor Bit line
gnd Word line
Floating Gate
Select gate
Hình 1.4 Công nghệ lập trình EPROM
Trang 20Khi chưa được lập trình transistor ở trạng thái ON, “word line” có thể làm cho “bit line” không được nối với một ngõ nhập của cell logic vì bị kéo
về mức 0 Nhiều EPROM ứng với nhiều “word line” khác nhau được nối với cùng một “bit line”, khi một điện trở kéo lên nguồn, mô hình này không những hiện thực các kết nối mà còn thực hiện các chức năng logic AND nối dây (wired-AND)
1.2.7 Giới thiệu họ FLEX 10K của ALTERA
Các tính chất của họ FLEX 10K
• Họ linh kiện logic nhúng lập trình được (embedded programmable logic device hay embedded PLD) đầu tiên của công nghiệp, cho ta khả năng tích hợp hệ thống trên một chip lập trình được SOPC (system-on-a-Programmable-Chip)
− Dải nhúng (embedded array) dùng để thực hiện các hàm lớn (megafunction), chẳng hạn như bộ nhớ hiệu suất cao (efficient memory) và các hàm logic chuyên dụng (specialized logic function)
− Dải logic (logic array) dùng để thực hiện các hàm logic phổ biến
• Mật độ tích hợp cao
− 10.000 đến 250.000 cổng
Lên đến 40960 bit RAM; 2048 bit cho mỗi một khối dải nhúng EAB (embedded array block), tất cả có thể được sử dụng mà không làm giảm dung lượng logic (logic capacity)
• Các tính chất ở mức hệ thống
− Hỗ chợ giao diện I/O nhiều điện áp (MultiVoltTM)
− Các chân ngõ vào 5V có dung sai trong các chip FLEX 10KA
− Tiêu thụ công suất thấp
− Hỗ chợ liên kết nối thành phần ngoại vi PCI
Trang 21− Các chip FLEX 10KA chứa diod kẹp kéo lên (pull-up clamping diod), có khả năng chọn trên cơ sở từng chân (pin-by-pin) theo PCI 3.3V
− Khả năng tự cấu hình lại ngay trên mạch ICR (in-circuit reconfigurability) thông qua thiết bị bên ngoài, bộ điều khiển thông minh hoặc port JTAG
Bảng 1: Các tính chất của chip FLEX 10K Tính chất EPF10K10
Số cổng điển hình logic và RAM 10.000 20.000 30.000 40.000 50.000
Số cổng tối đa của hệ thống 31.000 63.000 69.000 93.000 116.000
Số phần tử logic LE 576 1152 1728 2304 2880
Số khối dải logic LAB 72 144 216 288 360
Số khối dải nhúng EAB 3 6 6 8 10
Số bit RAM tổng cộng 6144 12.288 12.288 26.384 20.480
Số chân I/O cực đại 150 198 246 189 310
Bảng 2: Các tính chất của chip FLEX 10K Tính chất EPF10K70 EPF10K100
EPF10K100A
EPF10K30V EPF10K250A
Số cổng điển hình logicvà RAM) 70.000 100.000 130.000 250.000
Số cổng tối đa của hệ thống 118.000 158.000 211.000 310.000
Số phần tử logic LE 3744 4992 6656 12160
Số khối dải logic LAB 468 624 832 1520
Số khối dải nhúng EAB 9 23 16 20
Số bit RAM tổng cộng 18.432 24.576 32.768 40.960
Số chân I/O cực đại 358 406 470 470
• Liên kết nối linh hoạt
− Cấu trúc định tuyến liên kết nối FastTrack cho phép ta các trì hoãn liên kết nối nhanh, có thể đoán trước
Trang 22− Chuỗi nhớ liên tục (carry chain ) thực hiện các hàm số học như là các
bộ cộng nhanh, các bộ đếm, các bộ so sánh (tự động sử dụng được công cụ phần mềm và các hàm lớn)
− Chuỗi nối tầng (cascade chain) chuyên dụng thực hiện các hàm logic tốc độ cao, fan-in lớn (tự động được sử dụng bởi phần mềm, và hàm lớn)
− Mô phỏng 3 trạng thái thực hiện các Bus 3 trạng thái nội (trong chip)
− Có 6 tín hiệu xung clock toàn cục và 4 tín hiệu xoá toàn cục
• Các chân I/O đa năng
− Điều khiển cho phép ngõ ra 3 trạng thái riêng rẽ đối với một chân
− Tuỳ chọn cực máng hở (open-drain) trên mỗi chân
− Điều khiển tốc độ chuyển trạng thái ngõ ra lập trình được (programmable output slew-rate control) để giảm nhiễu do chuyển mạch
− FLEX 10KA hỗ chợ việc lắp chip vào đế cắm nóng (hot-socketing)
1.2.8 Mô tả tổng quát
Các chip FLEX 10K của Altera là các PLD nhúng đầu tiên của công nghiệp dựa trên các phần tử CMOS SRAM cấu hình lại được, kiến trúc ma trận phần tử logic linh hoạt FLEX (Flexible Logic Element Matrix) kết hợp chặt chẽ mọi tính chất cần thiết để thực hiện các hàm lớn dải cổng (gate array megafunction) phổ biến, FLEX 10K cung cấp mật độ, tốc độ và các tính chất
để tích hợp toàn bộ các hệ thống, bao gồm nhiều bus 32-bit
Các linh kiện FLEX 10K có thể cấu hình lại được, cho phép kiểm tra 100% trước khi gửi đi Kết quả là người thiết kế không cần tạo ra các véctơ kiểm tra cho các mục đích bao phủ khuyết điểm Các chip FLEX 10K có thể được cấu hình trên bo mạch theo chức năng cụ thể theo yêu cầu
Kiến trúc FLEX 10K giống với kiến trúc các dải cổng nhúng Cũng như với các dải cổng chuẩn, các dải cổng nhúng thực hiện mạch logic tổng quát
Trang 23trong kiến trúc nhiều cổng (sea-of-gate) qui ước Thêm vào đó các dải nhúng
có các tầm (hay diện tích) khuôn chuyên dụng để thực hiện các hàm lớn Nhờ các hàm nhúng trong miếng silic, các dải cổng nhúng cung cấp tốc độ tăng so với các dải cổng chuẩn Tuy nhiên, các hàm lớn được nhúng không thể tuỳ thuộc vào khách hàng; làm giới hạn tuỳ chọn của người thiết kế Ngược lại các FLEX 10K có thể lập trình được, cung cấp cho người thiết kế sự điều khiển đầy đủ trên các hàm lớn được nhúng và mạch logic tổng quát trong khi
đó làm thuận tiện các thay đổi thiết kế lặp đi lặp lại trong thời gian gỡ rối Mỗi một FLEX 10K chứa một dải nhúng và một dải logic Dải nhúng thực hiện các chức năng bộ nhớ khác nhau hoặc các hàm logic phức tạp (xử lý tín hiệu số, bộ vi điều khiển,…) Dải logic thực hiện hàm có dạng “nhiều cổng” trong dải cổng: được dùng để thực hiện mạch logic tổng quát (bộ đếm, bộ cộng, máy trạng thái, …) Việc kết hợp này cung cấp hiệu suất cao và mật độ cao của dải cổng nhúng, cho phép người thiết kế thực hiện đầy đủ hệ thống trên một chip duy nhất
FLEX 10K được cấu hình lúc cấp điện cho hệ thống với dữ liệu được giữ trong thiết bị cấu hình nối tiếp của Altera hoặc được cung cấp bởi bộ điều khiển hệ thống Altera đưa ra các thiết bị cấu hình EPC1, EPC2, EPC16 và EPC1441, các thiết bị này cấu hình các chip FLEX 10K thông qua dòng giữ liệu nối tiếp, hoặc cũng có thể được tải xuống từ RAM hệ thống hoặc từ cáp tải xuống nối tiếp BitBlasterTM của Altera hoặc cáp tải xuống dạng port song song Byte-BlasterMVTM FLEX 10K được cấu hình, thì nó có thể được cấu hình lại ngay trên mạch (in-circuit) bằng cách xoá chip và nạp dữ liệu mới trong thời gian ít hơn 30 ms, các thay đổi theo thời gian thực có thể được thực hiện trong thời gian hoạt động của hệ thống FLEX 10K cho phép các bộ vi xử lý cấu hình theo kiểu nối tiếp hoặc song song, đồng bộ hoặc không đồng bộ
Trang 24Các chip FLEX 10K được hỗ chợ bởi các hệ thống mở rộng của Altera, các gói tích hợp đơn cung cấp khả năng nhập thiết kế bằng sơ đồ, văn bản (AHDL, VHDL…), và dạng sóng, biên dịch và tổng hợp logic mô phỏng hoàn toàn và phân tích định thời trong trường hợp xấu nhất và cấu hình chip
1.2.9 Mô tả chức năng của họ FLEX 10K
Một chip FLEX 10K chứa một dải nhúng để thực hiện bộ nhớ và các hàm logic chuyên dụng, một dải logic để thực hiện mạch logic phổ biến
Dải nhúng chứa một chuỗi các khối dải nhúng EAB Khi thực hiện các chức năng bộ nhớ thì một EAB cung cấp 2048 bit, có thể đựơc sử dụng để tạo RAM, ROM, RAM 2-port hoặc chức năng FIFO Khi thực hiện mạch logic mỗi một EAB có thể đóng góp từ 100 đến 600 cổng cho các hàm logic phức tạp (ví dụ như bộ nhân, vi điều khiển, máy trạng thái, các hàm DSP,…) Các EAB có thể được sử dụng độc lập hoặc kết hợp với nhau để thực hiện các hàm lớn hơn
Dải logic bao gồm các khối dải logic LAB (logic array block) Mỗi một LAB chứa 8 LE và một liên kết nối cục bộ Một LE bao gồm một bảng tìm kiếm LUT (look-up-table) 4-ngõ vào, một flipflop lập trình được và các
đường tín hiệu chuyên dụng cho các chức năng (truyền số) nhớ và nối tầng
8 LE có thể được sử dụng để tạo ra các khối logic có kích thước trung bình, các bộ đếm 8 bit, các bộ giải mã địa chỉ hoặc được kết hợp qua các LAB để tạo ra các khối logic lớn hơn Mỗi một LAB tương ứng với khoảng 96 cổng logic khả dụng
Các liên kết nối tín hiệu bên trong và từ các chân chip được cung cấp bởi liên kết nối FastTrack, một chuỗi các kênh hàng và cột liên tục, chạy khắp chiều dài và chiều rộng của toàn bộ chip
Mỗi chân I/O được nối với một phần tử I/O IOE (I/O element) đặt ở cuối mỗi hàng và cột của liên kết nối FastTrack Mỗi một IOE chứa một mạch đệm
Trang 25I/O hai chiều và một flipflop có thể sử dụng hoặc làm bộ ghi ngõ ra (output register) hoặc bộ ghi ngõ vào (input register) để cung cấp tín hiệu vào, tín
hiệu ra, hoặc tín hiệu hai chiều Khi sử dụng chân xung clock chuyên dụng,
các bộ ghi này cung cấp hiệu suất ngoại lệ Các IOE cung cấp nhiều tính chất khác nhau như hỗ chợ JTAG BST, điều khiển tốc độ chuyển trạng thái, các mạch đệm 3-trạng thái và các ngõ ra cực máng (open-drain)
Mỗi một nhóm LE được kết hợp thành một LAB, các LAB xắp xếp theo các hàng, và các cột Mỗi một hàng cũng chứa một EAB đơn, các LAB và EAB được liên kết nối bởi liên kết nối FastTrack Các IOE được đặt ở cuối mỗi hàng và mỗi cột của liên kết nối FastTrack
Các chip FLEX 10K cung cấp 6 ngõ vào chuyên dụng kích các ngõ vào điều khiển của các flipflop để đảm bảo phân bố hữu hiệu các tín hiệu các tín hiệu điều khiển tốc độ cao và độ lệch thấp Các tín hiệu này sử dụng các kênh định tuyến (routing chanel) chuyên dụng cung cấp các chì hoãn ngắn hơn và
độ lệch thấp hơn so với liên kết nối FastTrack Bốn tín hiệu toàn cục được
Embedded Array Block (EAB)
IOE IOE IOE IOE IOE IOE IOE IOE IOE IOE
IOE IOE
IOE IOE
IOE IOE IOE IOE IOE IOE IOE IOE IOE IOE
IOE IOE
IOE IOE
Logic Interconnect
Logic Array Block (LAB) Logic Array
Hình 1.5 Sơ đồ khối của chip FLEX10K
Trang 26kích bởi bốn tín hiệu vào chuyên dụng hoặc nó cũng có thể được kích mạch logic bên trong ; cung cấp một giải pháp lý tưởng cho bộ chia xung clock hoặc tín hiệu xoá không đồng bộ được tạo ra bên trong dùng để xoá nhiều bộ ghi của chip
A Khối dải nhúng
Khối dải nhúng EAB là khối RAM linh hoạt có các bộ ghi ở các port ngõ
vào và ngõ ra, được sử dụng để thực hiện các hàm lớn dải cổng tổng quát EAB cũng thích hợp với các hàm như là các bộ nhân, các vô hướng véc tơ và các mạch sửa sai, do EAB lớn và linh hoạt Các hàm này có thể được kết hợp trong các ứng dụng như các bộ lọc số, các bộ vi điều khiển
Các hàm logic được thực hiện bằng cách lập trình EAB với biểu đồ chỉ đọc trong thời gian cấu hình, tạo ra LUT lớn Với các LUT, các hàm tổ hợp được thực hiện bằng cách tìm kiếm các kết quả, thay vì phải tính toán chúng Dung lượng lớn của EAB cho phép người thiết kế thực hiện các hàm phức tạp trong một mức logic mà không có các chì hoãn định tuyến kết hợp với các LE liên kết hoặc các khối RAM dải cổng lập trình được dạng trường FPGA, các EAB có thể được sử dụng để thực hiện các khối RAM chuyên dụng và lớn Các EAB có thể được sử dụng để thực hiện các RAM đồng bộ, khi được sử dụng làm RAM, thì mỗi một EAB có thể được cấu hình theo các kích thước sau : 256x8, 512x4,1024x2 và 2048x1 Các RAM lớn hơn tạo ra bằng cách kết hợp nhiều EAB Nếu cần các EAB trong chip có thể ghép nối tầng để tạo ra khối RAM duy nhất
Các EAB cung cấp các tuỳ chọn linh hoạt để kích và điều khiển các tín
hiệu xung clock Các xung clock có thể được sử dụng cho các ngõ vào và ngõ
ra của EAB Các bộ ghi có thể được chèn độc lập trên ngõ vào dữ liệu, ngõ ra của EAB hoặc các ngõ vào địa chỉ và WE (ngõ vào cho phép ghi)
Trang 27Mỗi một EAB được dàng buộc bởi một liên kết nối hàng và có thể kích đến hai kênh hàng và hai kênh cột; kênh hàng chưa sử dụng có thể được kích bởi các LE khác Tính chất này làm tăng các tài nguyên có sẵn cho các ngõ ra của EAB
B Khối dải logic
Mỗi một LAB gồm 8LE, các chuỗi nhớ và các chuỗi nối tầng kết hợp của chúng, các tín hiệu điều khiển và liên kết nối cục bộ của LAB LAB cung cấp cấu trúc thớ thô (coarse-grained structure) cho kiến trúc của FLEX 10K, tạo thuận lợi cho việc định tuyến hữu hiệu cùng với việc sử dụng chip tối ưu và hiệu suất cao
Mỗi một LAB cung cấp 4 tín hiệu điều khiển có đảo mức logic lập trình được, có thể được sử dụng cho cả 8 LE Hai trong số các tín hiệu này có thể
Data
In
Data out
Address
WE
Colum Intercorect
256x8 512x4 1024x2 2048x1 RAM/ROM
Trang 28được sử dụng làm xung clock, hai tín hiệu còn lại có thể được sử dụng làm tín hiệu điều khiển xoá/đặt trước (clear/preset control) Các xung clock của LAB có thể được kích bởi các chân ngõ vào xung clock chuyên dụng, các tín hiệu toàn cục, các tín hiệu I/O hoặc các tín hiệu bên trong thông qua liên kết nối cục bộ của LAB
Các tín hiệu điều khiển xoá và đặt trước của LAB có thể được kích bởi các tín hiệu toàn cục, các tín hiệu I/O hoặc các tín hiệu bên trong thông qua liên kết nối cục bộ của LAB Điển hình, các tín hiệu điều khiển có thể được
sử dụng làm các tín hiệu xung clock, xoá và đặt trước toàn cục do bởi chúng cung cấp điều khiển không đồng bộ có độ lệch thấp ngang qua chip Nếu mạch logic yêu cầu một tín hiệu điều khiển, tín hiệu này có thể được tạo ra trong một hoặc nhiều LE trong một LAB bất kỳ và được kích vào liên kết nối cục bộ của LAB đích Ngoài ra, các tín hiệu điều khiển toàn cục có thể được
tạo ra từ các ngõ ra của LE
Trang 29C Phần tử logic
Phần tử logic LE (logic element), đơn vị nhỏ nhất của mạch logic trong kiến trúc FLEX 10K, có kích thước cô đọng cho phép ta sử dụng hiệu quả mạch logic Một LE chứa một LUT 4 ngõ vào, đây là bộ tạo hàm có thể tính nhanh chóng bất kỳ hàm 4 biến nào Thêm vào đó, mỗi một LE chứa một flipflop lập trình được cùng với tín hiệu cho phép đồng bộ, chuỗi nhớ và chuỗi nối tầng Mỗi một LE kích cả hai, liên kết nối cục bộ và liên kết nối FastTrack
Row Interconnect
Dedicated Input
& Global Signals
Colum Interconnect
Colum-to-Row Interconnect
Hình 1.7 LAB của FLEX 10K
Trang 30Flipflop lập trình được trong LE có thể được cấu hình để hoạt động giống như flipflop D, T, JK hoặc SR Các tín hiệu điều khiển xung clock, xoá
và đặt trước trên flipflop có thể kích bởi các tín hiệu toàn cục, các chân I/O nhiều mục đích hoặc mạch logic bên trong nào đó Đối với hàm tổ hợp, flipflop được bỏ qua và ngõ ra của LUT kích ngõ ra của LE
LE có hai ngõ ra kích liên kết nối: một ngõ ra kích liên kết nối cục bộ và ngõ ra còn lại hoặc kích liên kết nối FastTrack hàng hoặc liên kết nối FastTrack cột Hai ngõ ra này có thể được điều khiển độc lập Thí dụ, LUT có thể được kích một ngõ ra trong khi đó bộ ghi kích ngõ ra còn lại Tính chất này, được goi là đồng bộ ghi (register packing), có thể cải tiến việc sử dụng
LE do bộ ghi LUT có thể được sử dụng cho các hàm không liên quan nhau Kiến trúc FLEX 10K cung cấp hai đường dữ liệu tốc độ cao và chuyên dụng, kết nối các LE kề nhau mà không cần sử dụng các đường liên kết nối cục bộ : chuỗi nhớ và chuỗi nối tầng Chuỗi nhớ hỗ chợ các bộ đếm và các bộ cộng tốc độ cao; chuỗi nối tầng thực hiện các hàm nhiều ngõ vào với trì hoãn tối thiểu Các chuỗi nhớ và chuỗi nối tầng kết nối tất cả các LE trong LAB và
Carry-In Cascade-In Register Bypass
Programmable Register
To FastTrack Interconnect
To LAB Local Interconnect
Carry-Out Cascade-Out
Clock Select
Carry Chain Cascade Chain
Look-Up Table (LUT)
data 1 data 2
labctr2
data 3 data 4
labctr1
Chip-Wire
Reset
labctr3 labctr4
Clear/
Preset Logic
PRN
D Q ENA CLRN
Hình 1.8 : Phần tử logic LE của FLEX
10K
Trang 31tất cả các LAB trên cùng một hàng Việc sử dụng các chuỗi nhớ và các chuỗi nối tầng có thể làm giảm tính linh hoạt của việc định tuyến Do vậy, cần được giới hạn đối với các phần có tốc độ tới hạn của thiết kế
D Chuỗi nhớ
Chuỗi nhớ (carry chain) cung cấp chức năng truyền tiếp số nhớ forward function) rất nhanh giữa các LE Tín hiệu ngõ vào số nhớ (carry-in signal) từ bit bậc thấp kích tiếp vào bit bậc cao thông qua chuỗi nhớ và cung cấp cho cả Look-Up Table lẫn phần kế tiếp của chuỗi nhớ
(carry-Tính chất này cho phép thực hiện các bộ đếm, bộ cộng và bộ so sánh tốc
độ cao có độ rộng(số bit) tuỳ ý một cách hiệu quả Mạch logic chuỗi nhớ có thể được tạo ra tự động nhờ trình biên dịch Compiler trong thời gian xử lý thiết kế, hoặc thủ công nhờ người thiết kế trong quá trình nhập thiết kế Các hàm biểu hiện bằng thông số như : các hàm LPM và DesignWare tự động tận dụng các chuỗi nhớ
Chuỗi nhớ dài hơn 8LE được tự động thực hiện bằng cách liên kết các LAB với nhau Chuỗi nhớ dài bỏ qua các LAB xen kẽ trên một hàng Chuỗi nhớ dài hơn một LAB bỏ qua hoặc từ LAB được đánh số chẵn đến LAB được đánh số chẵn, hoặc từ LAB được đánh số lẻ đến LAB được đánh số lẻ
Một phần tử LUT tạo ra tổng của 2 bit bằng cách sử dụng các tín hiệu ngõ vào số nhớ (carry-in), tổng này được định tuyến đến ngõ ra của LE Mạch logic chuỗi nhớ tạo ra tín hiệu ngõ ra số nhớ (carry-out), tín hiệu này được định tuyến đến một LE
Trang 32Hình 1.9 : hoạt động của chuỗi nhớ (bộ cộng đầy đủ n-bit)
E Chuỗi nối tầng
Các chuỗi nối tầng dài hơn 8 bit có thể đựơc thực hiện tự động bằng các liên kết vài LAB với nhau Để việc định tuyến được dễ dàng thì chuỗi nối tầng dài bỏ qua mỗi một LAB khác trên một hàng Chuỗi nối tầng dài hơn một LAB bỏ qua hoặc từ LAB được đánh số chẵn đến LAB được đánh số chẵn, hoặc từ LAB được đánh số lẻ đến LAB được đánh số lẻ
Carry-In
LUT Carry Chain
LUT Carry Chain
LUT Carry Chain
LUT Carry Chain
Register
Register Register
Register
a1 b1
a2 b2
LE n
LE n +1
Trang 33Hình 1.10 : Hoạt động của chuỗi nối tầng
muốn Ba ngõ vào đến LE cung cấp các tín hiệu điều khiển xung clock, xoá và
đặt trứơc cho bộ ghi
Phần mềm của Altera, cùng với các biểu hiện bằng tham số như các hàm LPM và Design Ware, tự động chọn chế độ thích hợp cho các hàm phổ biến như
là các bộ đếm, các bộ cộng và các bộ nhân Nếu cần, người thiết kế cũng có thể tạo ra các hàm đặc biệt sử dụng chế độ hoạt động cụ thể của LE để có hiệu suất tối ưu
Trang 34Kiến trúc này cho phép tín hiệu xung clock đồng bộ đến bộ ghi trong cả
4 chế độ Phần mềm của Altera cũng có thể thiết lập DATA1 để cho phép bộ ghi thưo cách đồng bộ, cho phép thực hiện dễ dàng các thiết kế hoàn toàn đồng bộ
F Liên kết nối FastTrack
Trong kiến trúc FLEX 10K, các kết nối giữa các LE và các chân I/O của chip được cung cấp bởi liên kết nối FastTrack, đây là một chuỗi các kênh định tuyến dọc và ngang liên tục trải khắp chip Cấu trúc định tuyến toàn cục này cung cấp hiệu suất đoán trước được, ngay cả trong thiết kế phức tạp Ngược lại, việc định tuyến phân đoạn trong FPGA yêu cầu các ma trận chuyển mạch để kết nối một số thay đổi các đường định tuyến làm tăng trì hoãn giữa các tài nguyên logic và giảm hiệu suất
Liên kết nối FastTrack bao gồm các kênh liên kết nối hàng và cột trải ra trên toàn bộ chip Một hàng các LAB được phục vụ bởi một liên kết nối hàng chuyên dụng Liên kết nối hàng có thể kích các chân I/O và cung cấp cho các LAB khác trong chip Liên kết nối cột định tuyến các tín hiệu giữa các hàng và có thể kích các chân I/O
Kênh hàng có thể được kích bởi một LE hoặc bởi một trong 3 kênh cột Bốn tín hiệu này cung cấp cho hai bộ ghép kênh 4→1nối đến hai kênh hàng
cụ thể Các bộ ghép kênh này được kết nối đến một LE
Mỗi một cột các LAB được phục vụ bởi một liên kết nối chuyên dụng.Liên kết nối này có thể kích các chân I/O hoặc liên kết nối của hàng khác để đinhh tuyến tín hiệu đến các LAB khác trong chip Một tín hiệu từ liên kết nối cột hoặc có thể là ngõ ra của LE hoặc là ngõ vào từ chân I/O, phải được định tuyến đến liên kết nối trước khi có thể đưa đến LAB hoặc EAB Mỗi một kênh hàng được kích bởi một IOE hoặc EAB có thể kích một kênh cột cụ thể
Trang 35Việc truy cập đến các kênh hàng và cột có thể được chuyển đổi giữa các
LE trong các cặp LAB kề nhau Tính linh hoạt của việc định tuyến này cho phép các tài nguyên định tuyến được sử dụng hiệu quả hơn
Để cải tiến việc định tuyến, liên kết nối hàng bao gồm một kết hợp các kênh dài trọn vẹn (full-lenght channel ) và các kênh dài phân nửa (half-lenght channel) Các kênh dài chọn vẹn nối đến tất cả các LAB trong một hàng ; các kênh dài phân nửa nối đến các LAB trong nửa hàng EAB có thể được kích bởi các kênh dài phân nửa trong nửa trạng trái của hàng và bởi các kênh dài chọn vẹn Cùng với việc cung cấp nhiều liên kết nối nhiều hàng, đoán trước được, kiến trúc này cung cấp tài nguyên định tuyến được gia tăng Hai LAB gần nhau
From adjacent LAB
To adjacent LAB
Row channels
Column channels
To other columns
Each LE can swich Interconnect access with an
LE in the adjacent LAB
To LAB local interconnect
To other row
LE1 LE2
Trang 36có thể được kết nối bằng cách sử dụng kênh hàng dài phân nửa, bằng cách này tiết kiệm cho phân nửa khác của hàng
G Phần tử I/O
Một phần tử I/O (IOE) chứa mạch đệm I/O hai chiều và bộ ghi có thể được
sử dụng hoặc làm bộ ghi ngõ vào cho dữ liệu bên ngoài yêu cầu thời gian thiết lập nhanh; hoặc làm bộ ghi ngõ ra cho dữ liệu yêu cầu hiệu suất từ ngõ vào xung clock đến ngõ ra nhanh Trong một số trường hợp, việc sử dụng bộ ghi của LE làm bộ ghi ngõ vào sẽ dẫn đến thời gian thiết lập nhanh hơn so với việc sử dụng
bộ ghi của IOE Các IOE có thể được sử dụng làm các chân ngõ vào, ngõ ra và hai chiều
Với thực hiện I/O hai chiều có bộ ghi, bộ ghi ngõ ra sẽ ở trong IOE và bộ ghi ngõ vào dữ liệu và cho phép ngõ ra sẽ là các bộ ghi của LE được đặt kề với chân hai chiều Trình biên dịch Compiler sử dụng tuỳ chọn đảo mức logic lập trình được để đảo mức các tín hiệu từ liên kết nối hàng và cột một cách tự động
ở nơi thích hợp
Mỗi một IOE chọn các tín hiệu điều khiển xung clock, xoá, cho phép xung clock và cho phép ngõ ra từ một mạng các tín hiệu diều khiển I/O gọi là
bus điều khiển ngoại vi (peripheral control bus)
Bus điều khiển ngoại vi sử dụng các mạch kích tốc độ cao để tối thiểu
hoá tốc độ lệch tín hiệu ngang qua chip; bus này cung câp đến 12 tín hiệu điều
khiển ngoại vi, có thể được cấp phát như sau:
− Lên đến 8 tín hiệu cho phép ngõ ra
− Lên đến 6 tín hiệu cho phép xung clock
− Lên đến 2 tín hiệu xung clock
Trang 37− Lên đến 2 tín hiệu xoá
Nếu có nhiều hơn 6 tín hiệu cho phép xung clock hoặc 8 tín hiệu cho
phép ngõ ra được cần đến, mỗi một IOE trên chip có thể được điều khiển bởi
các tín hiệu cho phép xung clock và cho phep ngõ ra được kích bởi các LE cụ
thể Cùng với 2 tín hiệu xung clock có sẵn trên các bus điều khiển ngoại vi, mỗi một IOE có thể sử dụng một trong hai chân xung clock chuyên dụng Mỗi một tín hiệu điều khiển ngoại vi có thể được kích bởi bất kỳ chân ngõ vào chuyên dụng nào hoặc LE đầu tiên của mỗi một LAB trên một hàng riêng biệt
Trang 38Ngoài ra, một LE trong một hàng khác có thể kích liên kết nối cột, điều này làm cho liên kết nối hàng kích tín hiệu điều khiển ngoại vi Tín hiệu xoá chip tổng quát sẽ xoá tất cả các bộ ghi của các IOE, tín hiệu này quan trọng hơn tất cả các tín hiệu khác
Các kết nối từ hàng đến IOE
2 Dedicade Clock Inputs
Row and Column
Chip-Wire Reset
Chip-Wire Output Enable
VCC
VCC
D Q
ENA CLRN VCC
VCC
Chip-Wire Reset Intput Register Output Register
VCC
Chip-Wire Reset
D Q
ENA CLRN
Open-Drain Output Slew-Rate Control
Trang 39Hình 1.13 Các kết nối từ hàng đến IOE của FLEX 10K
Khi một IOE được sử dụng làm ngõ vào tín hiệu, IOE có thể kích hai kênh hàng riêng biệt Tín hiệu này truy xuất được bởi tất cả các LE trong hàng đó Khi một LE được sử dụng như một ngõ ra, ngõ ra tín hiệu này được kích bởi một bộ ghép kênh, bộ này chọn một tín hiệu từ các kênh hàng, có thể lên đến 8 IOE kết nối đến một bên của mỗi một kênh hàng
Các kết nối từ cột đến IOE
Hình 1.14 Các kết nối từ cột đến IOE của FLEX10K Khi một IOE được sử dụng làm ngõ vào, IOE có thể kích đến hai kênh cột riêng biệt Khi một IOE được sử dụng như một ngõ ra, ngõ ra tín hiệu này được kích bởi một bộ ghép kênh, bộ này chọn một tín hiệu từ các kênh cột 2
two row channels
Row FastTrack
Interconnect
n
Trang 40IOE kết nối đến mỗi một bên của một kênh cột Mỗi một IOE có thể được kích bởi các kênh cột thông qua bộ ghép kênh Tập các kênh cột ma mỗi một IOE có thể truy xuất, khác với mỗi một IOE
KẾT LUẬN CHƯƠNG I
Chương I là chương tổng quan về công nghệ ASIC và FPGA, nội dung của chương I đã trình bày các công nghệ chế tạo, cấu trúc của ASIC và FPGA, các đặc điểm nổi bật của công nghệ ASIC và FPGA cũng như khả năng ứng dụng to lớn trong kinh tế quốc phòng và an ninh Đây là nội dung quan trọng nhưng do giới hạn của luận văn, cũng như phạm vi đề cập rộng cho nên có những nội dung chỉ giới thiệu mang tính khái niệm Chương II sau đây là cụng cụ để thực hiện các mô tả cho thiết kế và cho phép mô phỏng thiết kế trước khi đưa vào sản xuất