Bài giảng Thiết kế hệ thống nhúng - Chương 6: Tổng hợp phần cứng và phần mềm - Bài 12: Công nghệ thiết kế
CHƢƠNG 6: TỔNG HỢP PHẦN CỨNG
VÀ PHẦN MỀM
Bài 12: Công nghệ thiết kế
1
Tổng quan
• Tự động: tổng hợp
• Kiểm thử: đồng mô phỏng phần cứng/phần mềm
• Sử dụng lại: nền tảng dựa trên sở hữu trí tuệ
intellectu
• Mô hình quá trình thiết kế
2
Giới thiệu
• Nhiệm vụ thiết kế
– Định nghĩa chức năng của hệ thống
– Biến đổi các chức năng thành việc thực hiện vật lý, trong khi phải
• Đảm bảo các thông số ràng buộc
• Tối ƣ
• Thiết kế hệ thống nhúng là một việc khó
– Phức tạp về chức năng
• Hàng triệu điều kiện làm việc khác nhau
• Nhiều ràng buộc
– Khoảng
• Khoảng 10 dòng code hoặc 100 transistors đƣợc sản xuất mỗi ngày
3
Cải thiện tính sản xuất
• Thiết kế các công nghệ để tăng tính sản xuất
• Chúng ta tập trung vào các công nghệ để đồng thiết kế phần
cứng/phần mềm
Specification
– Tự động
Automation
• Các chƣơng trình thay thế cho việc
thiết
Verification
Reuse
Implementation
• Tổng hợp
– Tái sử dụng
• Các bộ phần đƣợc thiết kế trƣớc
• Các lõi (Cores)
• Bộ xử
– Kiểm thử
• Đảm bảo tính đúng đắn, tính hoàn thiện của mỗi bƣớc thiết kế
• Đồng mô phỏng phần cứng/phần mềm
4
Tự động: tổng hợp
• Các thiết kế trƣớc chủ yếu là phần cứng
• Độ phức tạp về phần mềm tăng cùng
với sự ra đời của bộ xử ý chức năng
chung
Đồng thiết kế
Sequential program code (e.g., C, VHDL)
• Các kỹ thuật khác nhau cho thiết kế
phần cứng và
Behavioral synthesis
(1990s)
Compilers
(1960s,1970s)
– Tạo ra sự phân biệt giữa hai lĩnh vực
Register transfers
• Lĩnh vực thiết kế phần cứng và phần
mềm tái hợp lại
RT synthesis
(1980s, 1990s)
Assembly instructions
Logic equations / FSM's
– Cả hai có thể đƣợc bắt đầu từ mức mô
tả trạng thái của hệ thống nhúng
Assemblers, linkers
(1950s, 1960s)
Logic synthesis
(1970s, 1980s)
– Quá trình
Machine instructions
Logic gates
Microprocessor plus
program bits
VLSI, ASIC, or PLD
implementation
Implementation
5
Tiến hóa song song của phần cứng và phần mềm
• Tiến hóa thiết kế phần mềm
– Các lệnh máy
– Assemblers
Đồng thiết kế
• Biến đổi chƣơng trình assembly thành mã
máy
Sequential program code (e.g., C, VHDL)
– Compilers
• Biến đ
Behavioral synthesis
(1990s)
Compilers
(1960s,1970s)
• Tiến hóa thiết kế phần cứng
Register transfers
– Các cổng logic đƣợc kết nối
RT synthesis
– Tổng hợp logic
Assembly instructions
(1980s, 1990s)
• Biến đổi phƣơng trình logic thành các cổng
Logic equations / FSM's
– Tổng hợp mức chuyển đổi thanh ghi
Assemblers, linkers
(1950s, 1960s)
Logic synthesis
(1970s, 1980s)
(Register-transfer: RT)
• Biến đ
Machine instructions
Logic gates
logic, các thành phần RT đƣợc thiết kế trƣớc
(thanh ghi, bộ công, vv…)
Microprocessor plus
program bits
VLSI, ASIC, or PLD
implementation
Implementation
– Tổng hợp trạng thái
• Biến đổi chƣơng trình tuần tự thành FSMDs
6
Tổng hợp logic
• Trạng thái mức logic sang cấu trúc thực hiện
– Phƣơng trình logic và/hoặc FSM sang các cổng logic
• Tổng hợp logic tổ hợp
– Tối ƣu hai mức (Tổng các tích/tích các tổng)
• Chất lƣợng tốt nhất có thể
– ổng AND)
• Kích cỡ tối thiểu
– Tổi thiểu đầu vào/ra
– Tối ƣu nhiều mức
• Bù chất lƣợng và kích thƣớc
• Tối ƣu
–
• Tổng hợp FSM
– Tối ƣu trạng thái
– Mã hóa trạng thái
7
Tối ƣu hai mức
• Diễn tả hàm logic dạng tổng của
tích (hoặc tích của tổng)
– Cổng AND cho mỗi tích
Tổng các tích
F = abc'd' + a'b'cd + a'bcd + ab'cd
– Cổng OR cho mỗi tổng
Thực hiện trực tiếp
• Chất lƣợng tốt nhất có thể
– Trễ tối đa qua hai cổng
a
b
c
F
• Mục tiêu: tối thiểu kích thƣớc
d
– Tối thiểu số cổng AND (tổng của các
tích)
4 4-input AND gates and
1 4-input OR gate
– Tối thiểu số đầu vào của mỗi cổng
AND (tổng của các tích)
→ 40 transistors
8
Tối thiểu: Phƣơng pháp Karnaugh
• Bản đồ Karnaugh (K-map)
K-map: sum of products
cd
K-map: minimum cover
cd
– 1 diễn tả minterm
00 01 11 10
00 01 11 10
ab
ab
00
00
0 0 1 0
0 0 1 0
– Vòng tròn diễn tả các nhóm
01
01
0 0 1 0
0 0 1 0
11
11
• Tối thiểu
1 0 0 0
1 0 0 0
10
0 0 1 0
– Hình bê
Minimum cover
F=abc'd' + a'cd + ab'cd
Minimum cover implementation
2 4-input AND gate
b
c
1 3-input AND gates
1 4 input OR gate
F
→ 28 transistors
d
9
Tối ƣu logic nhiều mức
• Cân bằng chất lƣợng và kích thƣớc
– Vùng màu xám diễn tả các giải pháp có
thể thực hiện
– Hình tròn với dấu X diễn tả giải pháp
tối ƣu
• Thông thƣờng không thể thực hiện
đƣợc
– Thiết kế hai mức đạt chất lƣợng tốt nhất
• Trễ cực đại = 2 gates
• Giải bài toán kích thƣớc nhỏ nhất
– Tối ƣu nhiều mức
2-level minim.
size
• Trễ nhỏ nhất với kích thƣớc cho trƣớc
• Kích thƣớc nhỏ nhất với trễ cho trƣớc
10
Ví dụ
• Tối thiểu hàm logic hai mức:
2-level minimized
– F = adef + bdef + cdef + gh
– Yêu cầu 5 cổng với tổng số 18 đầu vào cổng
• 4 AND và 1 OR
a
d
b
e
c
F
• Sau khi biến đổi đại số:
– F = (a +
g
h
– Chỉ yêu cầu 4 cổng với tổng số 11 đầu vào
cổng
• 2 AND và 2 OR
– Ít đầu vào/cổng hơn
– Giả sử mỗi đầu vào cổng = 2 transistors
• Giảm
multilevel minimized
a
b
e
– 36 (18 * 2) xuống còn 22 (11 * 2)
f
F
g
– Hy sinh chất lƣợng để đạt kích thƣớc
h
• Đầu vào a, b, và c có mức trễ 3 cổng
11
Tổng hợp FSM
• Chuyển FSM sang cổng
• Tối thiểu trạng thái
– Giảm số trạng thái
• Nhận dạng và ghép các trạng thái tƣơng đƣơng
– vào
– Dùng bảng
• Lập bảng tất cả các cặp trạng thái có thể
• Nếu có n trạng thái, bảng có n2 tham số
• Mã hóa trạng thái
– Tuần tự bit duy nhất cho mỗi trạng thái
– Nếu có n trạng thái, cần log2(n) bits
– n! phƣơng pháp mã hóa
12
Mô phỏng
• Tạo ra mô hình máy tính cho thiết kế
– Cung cấp đầu vào mẫu
– Kiểm tra đầu ra
• Ví dụ kiểm tra tính đúng đắn
– ALU
• Cung cấp tất cả các đầu vào có thể (kết hợp)
• Kiểm tra tính đúng đắn của kết quả đầu ra
• Ví dụ về tính hoàn thiện
– Cửa thang máy đóng khi di chuyển
• Cung cấp tất cả các đầu vào tuần tự có thể
• Kiểm tra cửa luôn đóng khi thang máy di chuyển
13
Tái sử dụng: Sử dụng các sản phẩm sở hữu trí tuệ
(intellectual property – IP)
• Các thành phần có sẵn (COST)
– Đƣợc thiết kế trƣớc, IC đƣợc đóng gói trƣớc
– Thực hiện GPP hoặc SPP
– Giảm t
• Hệ on-chip (SOC)
– Tất cả các thành phần của hệ đƣợc thực hiện trên một chip
đơn
– Làm tă
14
Các thách thức với nhà cung cấp bộ xử lý
• “Lõi đã làm thay đổi đáng kể mô hình kinh doanh
– Mô hình giá
• Quá khứ
– Các nhà sản xuất bán sản phẩm IC cho ngƣời thiết kế
– Nhà thiết kế phải mua thêm các bản copy
• Hiện
– Các nhà sản xuất bán sản phẩm là các IP
– Nhà thiết kế có thể tạo nhiều bản copy
• Các nhà sản xuất có thể dùng mô hình giá khác nhau
– Mô hình dựa trên bản quyền
• Tƣơng tự mô hình IC cũ
– Mô hình giá cố định
• Giá duy nhất cho IP và các bản copy cần thiết khác
– Nhiều mô hình khác
15
Các thách thức với ngƣời sử dụng bộ xử lý
• Đàm phán về cấp phép
– Không đơn giản nhƣ mua IC
– Mô hình giá và bảo vệ IP
• Yêu cầu trợ giúp của pháp luật, bản quyền
• Nỗ lực thiết kế bổ sung
– Đặc biệt v
• Phải đƣợc tổng hợp và kiểm tra
• Sự thay đổi nhỏ trong thiết kế có thể gây vấn đề lớn
• Yêu cầu kiểm tra khó khăn hơn
– Extensive testing for synthesized soft cores and soft/firm cores mapped to particular
technology
• Ensur
• Timing and power vary between implementations
– Early verification critical
• Cores buried within IC
• Cannot simply replace bad core
16
Tóm tắt
• Công nghệ thiết kế nhằm giảm khoảng cách giữa khả
năng của IC và tính sản xuất
• Quá trình tổng hợp đã thay đổi thiết kế số
• Tăng khả ần sw/hw
cùng tồn tại trên một chip
• Quá trình thiết kế dịch chuyển sang thiết kế dựa trên
“lõi”
• Mô phỏng là cần thiết nhƣng rất khó
• Thiết kế quá trình xoắn ốc là phổ biến
17
Bạn đang xem tài liệu "Bài giảng Thiết kế hệ thống nhúng - Chương 6: Tổng hợp phần cứng và phần mềm - Bài 12: Công nghệ thiết kế", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_thiet_ke_he_thong_nhung_chuong_6_tong_hop_phan_cun.pdf