ba191992
Trang 1IC
Bộ môn Kỹ thuật Máy tính
Viện Công nghệ thông tin và Truyền thông, ĐHBKHN
Msc Nguyễn Đức Tiến tiennd@soict.hut.edu.vn +84-91-313-7399
Trang 2Nắm bắt được kiến thức cơ bản và ứng dụng của các IC lập trình mô tả phần cứng được
Nắm bắt được các nguyên lý lập trình mô tả phần cứng và các cấu trúc lập trình cơ bản, minh họa
bằng ngôn ngữ VHDL
Có kiến thức và kỹ năng thiết kế mạch số
Hiểu biết về nguyên lý hoạt động phần cứng của
bộ vi điều khiển và có khả năng thiết kế bộ vi điều khiển
2
http://dce.hut.edu.vn
Trang 33
http://dce.hut.edu.vn
Trang 4NVIDIA Tegra INTEL Core i7
Đồ họa(Tính toán vector)
Trang 5dụng dựa trên mã nguồn mở
và tùy biến theo nhu cầu
Khuynh hướng tạo ra các giải
Card tăng tốc chuyên dụng
Chipset chuyên dụng
Trang 61/2
Nguyên lý mạch tích hợp Tống Văn
On NXB Lao động xã hội 2007
Thiết kế mạch số với VHDL & Verilog
Tống Văn On NXB Lao động xã hội
2007
Digital VLSI Systems Design Dr S
Ramachandran Springer 2007
Digital Integrated Circuits - A Design
Perspective Jan M Rabaey, Anantha
Chandrakasan, Borivoje Nikolic Mc
Graw Hill
6
http://dce.hut.edu.vn
Trang 7Analysis and Design of Digital IC David
A.Hodges, Horace G.jackson, Resve A.Saleh Mc Graw Hill
The Design Warrior‟s Guide to FPGA Clive Max
Trang 8FPGA4U, kit, usb-powered, altera, niosII & linux,
http://fpga4u.epfl.ch/wiki/Main_Page
SecretBlaze, bộ xử lý RISC 32bit dựa trên
MicroBlaze, Xilinx, mã mở VHDL, 5 công đoạn,
cache, ngắt
http://www.lirmm.fr/~barthe/index.php/page/SecretBlaze.html
Các project và module mã nguồn mở
Trang 9Phần I:
• Các linh kiện để thiết kế IC (3)
• Các qui trình sản xuất IC (1)
Trang 10IC, Integrated Circuit, là một mạch điện tử mà tất
cả các thành phần đều được đặt trên một đế bán
dẫn, không thể tách rời nhau được
10
http://dce.hut.edu.vn/
Vi điều khiển Intel 8742: CPU 12MHz, RAM 128B, EPROM 2KB
Trang 11Thực hiện một / vài chức năng điện tử cụ thể
Trang 12Tất cả các thành phần của IC được sản xuất đồng thời và hàng loạt, chứ không phải từng IC đơn lẻ
Ít tốn linh kiện
Được tối ưu về không gian, 1 triệu transitor/mm2
Module hóa quá trình thiết kế mạch điện tử
Giảm chi phí nghiên cứu, triển khai, nâng cấp
Giảm giá thành thiết bị, chức năng
12
http://dce.hut.edu.vn/
Trang 13Tiêu thụ ít năng lượng
Được tối ưu hóa về tốc độ
Trang 14Die: khuôn, chip sillicon
Leadframe: khung dẫn, chứa các chân nối ra ngoài
rắp ráp lên board dễ hơn
Wire: nối các chân IO trên die ra các chân tương
ứng trên leadframe
Vỏ: phủ kín, đóng gói leadframe & die bằng
ceramic, plastic… bảo vệ, tản nhiệt
14
http://dce.hut.edu.vn
Trang 152/2Liên kết khung dẫn
Liên kết khung dẫn (2)
15
http://dce.hut.edu.vn
Trang 16Vỏ - package - có nhiều hình dạng khác nhau
16
http://dce.hut.edu.vn
Ball Grid Array
Dual
Inline
Package
Small Outline Package
Tham khảo một số dạng vỏ
Trang 17Độ dài mỗi cạnh chừng vài mm
Kích thước IC được đo bằng số cổng
logic/transistor (cổng là đơn vị đo tương ứng
với cổng NAND 2 đầu vào)
Trang 18Quy trình xử lý N nm sẽ cho transistor nhỏ nhất
có chiều dài N nm Ví dụ, qui trình 28 nm
Kích thước đặc trưng nhỏ nhất λ ≈ ½ chiều dài transistor nhỏ nhất
Các bộ phận chức năng cấu thành IC được
phân vùng rõ ràng (FGPA hỗ trợ)
Trang 19Sử dụng các transistor có cực cổng kim loại,
Metal Oxide Semiconductor
Trang 22Mật độ tích hợp: tăng với tốc
độ nhanh chóng
Trang 23Thiết kế: mức đỉnh – logic, thiết kế mức RTL, Register Transfer Level
Tối ưu: về tốc độ, không gian, năng lượng, về công nghệ sản xuất ns
Tối ưu Sản xuất
Kiểm thử
Ứng dụng
ASIC
Trang 24In litô Rửa bề mặt Phủ kim loại Kiểm thử
Đóng gói
Trang 2525
http://dce.hut.edu.vn
Wafer thành phẩm
Trang 262/2Tạo cắt mài wafer
Cát và siliicon
Bài dịch tham khảo
Nhà máy
Trang 27• Qui trình thiết kế FPGA, ASIC (1)
• Giới thiệu công cụ thiết kế và triển khai (4)
Trang 29Tốc độ truy xuất (ns)
Mật độ (Mgate/cm 2 )
Năng lượng (W/cm 2 )
Trang 31ASIC ra đời so nhu cầu về các hoạt động thiết kế
ngày càng tăng
Hội nghị các vi mạch tùy biến theo khách hàng
của IEEE đưa ra các tài liệu hướng dẫn phát triển custom IC
Thiết kế = IC chuẩn + custom IC
Từ custom IC thuật ngữ Application Specific IC
31
http://dce.hut.edu.vn
Trang 32ASIC không đồng nhất với custom IC
IC chuẩn: ROM, RAM, DRAM, Processor, etc
ASIC: chip cho đồ chơi biết nói, chip cho 1 vệ tinh, chip cho bộ xử lý dưới dạng cell cùng với mạch logic
Qui tắc phổ biến: “Nếu một IC xuất hiện trong
sách tra cứu, thì đó không phải là ASIC”
ASIC, IC chuyên dụng
Application Specific Standard Product
Trang 33ASIC đem lại cơ hội sản xuất với số lượng lớn;
các bộ phận được tiêu chuẩn hóa để nhanh chóng trở thành sản phẩm thương mại
Giá thành giảm theo số lượng
None Reducing Cost
Quy trình Cost Down trong các nhà máy
Hiệu quả kinh tế trong thiết kế
Thực hiện prototype nhanh với số lượng thấp
Thiết kế theo nhu cầu, chuyên sâu, số lượng lớn
33
http://dce.hut.edu.vn
Trang 34Có công cụ CAD cần thiết để đạt được hiệu quả
trong chiến lược thiết kế:
Thiết kế mức hệ thống: VHDL Thiết kế mức vật lý, từ VHDL tới silicon, timing closure (Monterey, Magma, Synopsys, Cadence, Avant!)
Chiến lược thiết kế: Hierarchy - phân cấp;
Regularity; Modularity - mô đun; Locality
34
http://dce.hut.edu.vn
Trang 35Thiết kế là một quá trình liên tục cân đối các tham
số đầu vào, để đạt được hiệu quả mong đợi
• lập lịch và chi phí nghiên cứu Thời gian thiết kế
• lập lịch, chi phí nguồn lực, chi phí sản xuất Test và Stability Test
Trang 3636
http://dce.hut.edu.vn
Ý tưởng thiết kế Đặc tả thiết kế Thiết kế hệ thống
HDL Giả lập Thiết kế mức cổng
Tổng hợp Giả lập
Thư viện cell
Layout Kiểm tra Layout Sản xuất Kiểm thử chip Sản phẩm
Trang 3737
http://dce.hut.edu.vn
Mức thiết bị
Mức mạch Mức cổng
Mức mô-đun chức năng Mức hệ thống
Trang 38bộ xử lý đã được định nghĩa trước, được tái sử dụng lại,
• Sản xuất với số lượng 100k sản phẩm/
OR và một số Flip Flop
• Sản phẩm khá đơn giản với khoảng 1K gate
sử dụng các thư viện cell
và CAD
• Sản xuất đơn
lẻ được
FPGA CPLD
Trang 4040
http://dce.hut.edu.vn
Phát sinh thứ 1:
Một khi chip ASIC càng mạnh thì thiết kế càng
tinh vi, phức tạp, càng tiềm tàng những sai sót
lớn
Các phần mềm hỗ trợ, giả lập chưa thực sự
phản ánh hết được hoạt động thực tế của hệ
thống
Để kiểm tra thiết kế, người kĩ sư buộc phải đặt
các nhà sản xuất sản xuất chip đơn lẻ và kiểm
tra trên các ứng dụng, môi trường thực tốn
thời gian, và tiền bạc
cần hệ nền kiểm thử phần cứng nhanh chóng
Trang 4141
http://dce.hut.edu.vn
Năm 1984, Ross Freeman, Bernard
Vonderschmitt, đồng sáng lập công ty Xillinx
Năm 1985, Xilinx đưa ra dòng FPGA thương mại
đầu tiên, XC2064 Năm 2006, Freeman được
vinh danh tại National Inventors Hall of Fame vì
sáng chế này
FPGA dựa trên các công nghệ nền tảng như
PROM và PLD, nhưng với kiến trúc mới hiệu
quả hơn
Các thiết kế IC được thử nghiệm prototype trên
các chip FPGA ngay lập tức tiết kiệm thời
gian và tiền bạc
Trang 4242
http://dce.hut.edu.vn
Phát sinh thứ 2:
Các nhà sản xuất lớn chỉ cung cấp các chip
thông dụng trên thị trường, với số lượng lớn
bỏ qua nhu cầu về các IC chuyên dụng có số
lượng thấp, nhưng tổng nhu cầu thì rất lớn
Phát sinh thứ 3:
Ban đầu, các chip lập trình được có giá thành
khá cao và tốc độ chậm, chỉ sử dụng trong các
phòng thí nghiệm
Khi công nghệ sản xuất phát triển vượt bậc, thì
các chip lập trình được ngày càng mạnh và rẻ
ứng dụng đại trà
Trang 4343
http://dce.hut.edu.vn
Hệ quả: Chân trời mới
FPGA không chỉ là chip prototype trong các
phòng thí nghiệm, mà thực sự trở thành sản
phẩm thường mại đại chúng
Thị trường phần cứng được cung cấp một dòng
sản phẩm có thể thiết kế và sử dụng được ngay
Các công ty vừa nhỏ, các kỹ sư hoạt động độc
lập, không phải lệ thuộc vào các IC của các nhà
sản xuất lớn tự do sáng tạo
Trang 44Sản xuất lớn
Tối ưu tốc độ, năng
Chi phí chế tạo lớn
Trang 45Lowest Cost 17%
Lowest Power 3%
Complete Solution 18%
Quality, Reliability 9%
Easiest to use 4%
Other 3%
Nguyên nhân sử dụng chip ASIC prototyping
Trang 4747
http://dce.hut.edu.vn
Intel Core i7 die
Trang 48RCC, Reconfigurable Computing Ví dụ: RAM,
ROM, PLA, PAL
FPGA với tính chất lập trình được cao, ưu việt, là
đại diện của RCC
48
http://dce.hut.edu.vn
Input: Địa chỉ Output: Giá trị
Giá trị = f(Địa chỉ)
y = f(x)
Trang 4949
http://dce.hut.edu.vn
PAL thương mại
Lập trình
Programable
Array Logic (a)
Programable
ROM (b)
Trang 5050
http://dce.hut.edu.vn
Programable Logic Array, cả ma trận AND và OR
đều lập trình được
Tiết kiệm dung lượng ma trận
Bị hạn chế bởi số lượng các cổng AND khi số đầu vào của cổng OR lớn hơn số cổng AND
Trễ truyền lan lớn hơn và mật độ tích hợp nhỏ
Trang 51Generic Array Logic nâng
Tên gọi chung của các thiết
bị như PAL, PLA, GAL… là
Programable Logic Device
51
http://dce.hut.edu.vn
Ví dụ: Dùng GAL điều khiển đèn giao thông:
Trang 52FPGA gồm 3 thành phần chính
Khối logic – Logic Block (LB): đơn vị xử lý
Khối Vào ra – IO cell: giao tiếp với bên ngoài
Liên kết nối – Interconnection: liên kết các đơn vị xử lý
Thành phần khác
Buffer ClockDll
…
52
http://dce.hut.edu.vn
Configurable Logic Block
I/O Block Connec
t
Connect
Trang 53Cả 3 thành phần: khối logic, khối vào ra, liên kết
nối, đều lập trình được
Lập trình cho khối logic là hành động: “có kết nối
hay không phần tử logic A với phần tử logic B?”
hay không đầu ra logic A với chuẩn ngoại vi B?”
Lập trình cho liên kết nối là hành động: “có kết nối hay không khối logic A với khối logic/vào ra B?”
53
http://dce.hut.edu.vn
Trang 54tương ứng với trạng thái khóa đóng hay mở
Mỗi trạng thái của khóa đóng/mở ứng với một bit nhớ trạng thái 0/1 tương ứng
Tập hợp các bít nhớ tạo thành bộ nhớ cấu hình
cho FPGA
Trang 56Tất cả ASIC lập trình được, bao gồm FPGA, đều
chứa các khối logic (cell logic) cơ bản giống nhau tạo thành dải
I/O Cell
I/O Cell
I/O Cell
I/O Cell I/O Cell I/O Cell I/O Cell
I/O Cell I/O Cell I/O Cell
Dựa vào bảng tìm kiếm
(LUT – Lookup Table) Xilinx
Dựa vào bộ ghép kênh
(Multiplexers) Actel
Dựa vào PAL/PLA
Altera
Transistor Pairs
Trang 5757
http://dce.hut.edu.vn
Mux 2x1 có thể thực hiện được các hàm bên
S
0
1
MUX A0
A1
SA
Biểu diễn mức
transistor
Cấu trúc cell logic ACT 1 (đơn module)
Cell ACT 1 chỉ có một module logic Cell ACT 2, 3 có nhiều module logic hơn và có Flip Flop riêng
Cấu tạo Flip Flop
Trang 581
RAM 16bit
G3 G4
Trang 59Các LUT F và G tương đương và độc lập với
nhau, thực thi các hàm 4 biến và đưa kết quả tính toán ra ngoài CLB, hoặc nhớ vào FF
Nếu phép toán có nhiều hơn 4 biến thì LUT F, G
sẽ đưa kết quả tới LUT H để mở rộng thêm
theo sườn âm/dương…
Cấu trúc cơ bản của LB dạng LUT
Trang 603/3
60
http://dce.hut.edu.vn
Khối logic lập trình được, CLB, của XC4000 E/X
Số liệu đưa vào LB có thể được xử lý bởi các hàm
4 đầu vào, có thể được chốt ở thanh ghi, có thể
được chọn kênh, hoặc bởi cả 3 thao tác trên
Trang 62Còn được gọi là CrossPoint FPGA
Số lượng cổng ít, ~ 4000
62
http://dce.hut.edu.vn
Trang 63FPGA kế thừa nhiều ý tưởng thiết kế của các sản phẩm trước sự quen thuộc trong kiến trúc
Nhưng số chức năng, mức độ tích hợp, khả năng tính toán của từng đơn vị xử lý trong FPGA có
khác nhau, gồm Coarse /kɔ:s/ , và Fine
Coarse-grained: Đơn vị xử lý là một tập hợp của
các PLD, các khối cấu hình được CLB, thực thi
được hàm phức tạp, có yêu cầu tính toán lớn Ví
dụ: Actel Mux, Xilinx LUT
hình được CLB nhỏ, thực thi các hàm logic đơn
giản Ví dụ Transistor Pairs
63
http://dce.hut.edu.vn
Trang 64PLD PLD
Trang 67ma trận chuyển mạch (Switching Matrix), nằm
phân tán trong FPGA
67
http://dce.hut.edu.vn
SM
Trang 7070
http://dce.hut.edu.vn
Xilinx 36%
Altera 31%
Actel 10%
Vantis 7%
Lattice 6%
Lucent 6%
QuickLogic
2%
Trang 71Ngôn ngữ HDL phù hợp
Bộ công cụ CAD, EDA phù hợp
Ước lượng được số lượng các CLB cần thiết
Dự kiến số lượng các chân I/O cần thiết
Điện áp hoạt động Các FPGA mới sử dụng mức
điện áp thấp LVTTL, LVCMOS, đòi hỏi phải
chuyển đổi điện áp để tương thích với điện áp
TTL, cung cấp một hoặc nhiều vùng sử dụng đồng thời đa mức điện áp
Tốc độ FPGA
Khả năng tài chính
71
http://dce.hut.edu.vn
Trang 72Copyright (c) 10/2006 by NPB 72
1/4
Thiết kế hệ thống (System Design)
Tích hợp vào ra (I/O integration)
Đặc tả thiết kế (Design Specification)
Tổng hợp (Synthesis) Kiểm tra thiết kế (Design Verification)
Trang 73Bước 2 - Tích hợp vào ra với phần còn lại của hệ thống
Trang 74Copyright (c) 10/2006 by NPB 74
3/4
Bước 3 - Đặc tả thiết kế
Mô tả chức năng của thiết kế bằng:
Các trình soạn sơ đồ logic Các ngôn ngữ đặc tả phần cứng
Kết hợp mô phỏng
Bước 4 - Tổng hợp logic
Giống bước Tổng hợp logic trong quy trình đầy
đủ Kết hợp tối ưu:
trễ năng lượng hao phí
Trang 75Copyright (c) 10/2006 by NPB 75
4/4
Bước 5 - Kiểm tra thiết kế
Thực hiện các mô phỏng, phân tích cuối cùng (RTL, thời gian…)
Xác định các thông số của ASIC đã thiết kế (tần số xung nhịp…)
Nạp chip và chạy thử trên hệ thống!
Trang 76RS232
Userguide pdf
Trang 78IDE của nhà sản xuất FPGA
Chỉ có nhà sản xuất mới thấu hiểu nguyên tắc
hoạt động của FPGA của họ
chỉ có các IDE của nhà sản xuất mới routing,
timing, cấu hình được cho FPGA
EDA của bên thứ 3 chỉ xử lý mức logic, rồi gọi IDE của nhà sản xuất để đảm nhiệm mức vật lý
78
http://dce.hut.edu.vn
Atera Xilinx Actel
Trang 79Một số gói chương trình của bên thứ 3:
Leonardo Spectrum, CT tổng hợp của Mentor Graphics
Synplify, CT tổng hợp của Synplicity ModelSim , CT mô phỏng của Mentor Graphics
Active-HDL, CT thiết kế và mô phỏng của Aldec Active
79
http://dce.hut.edu.vn
Trang 8080
http://dce.hut.edu.vn
Trang 81• Tạo thực thể thiết kế bằng code mẫu, lấy từ Language Assistant
Diagram
81
http://dce.hut.edu.vn
Trang 82Phần III:
Very high speed integrated circuit Hardware Description Language
• Giới thiệu các ngôn ngữ HDL (2)
• Cấu trúc mã nguồn VHDL (2)
• Mô hình lập trình VHDL
• Các phương pháp thiết kế
Trang 85Cho phép giả lập các điều kiện đầu vào để kiểm thử thiết kế phần cứng -> thực hiện test-driven, unitest
Khi áp dụng source HDL lên 1 chip lập trình được nào đó thì các trình giả lập có thể tính toán chính xác độ trễ truyền lan, dạng sóng… tại mỗi điểm
Gợi ý: nếu không chắc chắn về thiết kế mạch số
từ các phần từ logic, có thể viết bằng VHDL rồi
tham khảo phân tích RTL
001100010
Trang 86Có 2 ngôn ngữ, được sử dụng rộng rãi và công
nhận bởi IEEE:
VHDL Verilog
Các ngôn ngữ khác như AHDL, JHDL, RHDL…
Ngoài HDL, còn có HVL – Hardware Verification
Language như OpenVera,Superlog
86
http://dce.hut.edu.vn
Trang 87Giảm chi phí kỹ thuật không
lặp lại None Recurring Enginnering
? cell ? tốc độ
? triger ? phần tử logic
Trang 8888
http://dce.hut.edu.vn
Mô tả phần cứng bằng HDL
Kiểm thử nguyên lý bằng giả lập trên HDL
Kiểm tra chi tiết bằng phân tích RTL
Chọn IC lập trình được
Gắn kết các chân IO của phần cứng HDL với IC
Biên dịch phần cứng HDL theo IC
Nạp phần cứng HDL lên IC
Trang 89Very high speed integrated circuit Hardware
Description Language
1980, ngôn ngữ HDL đầu tiên, VHDL được ra đời
theo mệnh lệnh của bộ quốc phòng Mỹ
VHDL dùng để ghi nhận cách hoạt động của các
ASIC mà các công ty cung cấp sử dụng trong thiết
bị quân sự
giống đặc tả cú pháp tài liệu
Bộ QP yêu cầu VHDL phải kế thừa cú
pháp và các định nghĩa của ngôn ngữ
Ada (mở rộng của Pascal) để tái sử dụng
89
http://dce.hut.edu.vn