Các phương pháp thiết kế vi mạch số
Các phương pháp thiết kế vi mạch số
Có hai phương pháp cơ bản
được sử dụng để mô tả vi mạch số là mô tả bằng sơ đồ logic ( schematic ) và mô tả bằng ngôn ngữ mô tả phần
cứng HDL ( Hardware Description Language ).
Mô tả bằng
sơ đồ mạch: vi mạch được mô tả trực quan bằng cách ghép nối các phân tử logic
khác nhau một cách trực tiếp. Thông thường
các phần tử không đơn thuần là các đối tượng đồ họa mà còn có các đặc tính vật
lý gồm chức năng logic, thông số tải vào ra, thời gian trễ… Những thông tin này
được lưu trữ trong thư viện logic thiết kế, Mạch vẽ ra có thể được mô phỏng để
kiểm tra chức năng và phát hiện và sửa lỗi một cách trực tiếp.
Hình 1 : Cấu trúc mạch 74LS42, giải
mã 4 sang 10
Ưu điểm của phương pháp
này là cho ra sơ đồ các khối logic rõ rang thuận tiện cho việc phân tích mạch,
tuy vậy phương pháp này chỉ được sử dụng để thiết kế những mạch cỡ nhỏ, độ phức
tạp không cao. Đối với những mạch cơ lớn hàn tram ngàn cổng logic thì việc mô tả
đồ họa là gần như khồn thể và nếu có thể cũng tốn rất nhiều thời gian, chưa kể
những khó khan trong việc kiểm tra lỗi trên mạch sau đó.
Mô tả bằng HDL: HDL cho
phép mô tả vi mạch bằng các cú pháp tương tư như cú pháp của ngôn ngữ lập
trình. Có ba ngôn ngữ mô tả phần cứng phổ biến hiện này là:
Verilog: Ra đời năm 1983,
do hai kỹ sư Phil Moorby và Paubbu Goel làm việc tại Automated Integrated
Design Systems ( sau này thuộc sở hữu của Cadence ). Verilog được IEEE chính thức
tiêu chuẩn hóa vào năm 1995 và sau đó là các phiên bản năm 2001, 2005. Đây là một
ngôn ngữ mô tả phần cứng có cấu trúc và cú pháp gần giống với ngôn ngữ lập
trình C, ngoài khả năng hổ trợ thiết kế logic thì Verilog rất mạnh trong việc hỗ
trợ cho quá trình kiểm tra thiết kế.
VHDL: VHDL viết tắt của
Very-high-speed intergrated circuits Hardware Description Language, hay ngôn ngữ
mô tả cho các mạch tích hợp tốc độ cao. VHDL lần đầu tiên được phát triển bởi Bộ
Quốc Phòng Mỹ nhằm hỗ trợ cho việc thiết kế những vi mạch tích hợp chuyên dụng
(ASICs). VHDL cũng được IEEE chuẩn hóa vào các năm 1987, 1991, 2002,2006 và mới
nhất 2009. VHDL được phất triển dựa trên cấu trúc của ngôn ngữ lập trình Ada. Cấu
trúc của mô tả VHDL tuy phức tạp hơn Verilog nhưng mang tính logic chặt chẽ và
gần với phần cứng hơn.
AHDL: Altera HDL được
phát triển bởi công ty bán dẫn Altera với mục đích dung thiết kế cho các sản phẩm
FPGA và CPLD của Altera. AHDL có cấu trức hết sức chặt chẽ và là ngôn ngữ rất
khó sử dụng nhất so với 2 ngôn ngữ trên. Bù lại AHDL cho phép mô tả thực thể
logic chi tiết và chính xác hơn. Ngôn ngữ này ít phổ biến tuy vậy nó cũng được
rất nhiều chương tình phần mềm hỗ trợ mô phỏng biên dịch.
Bên cạch các ngôn ngữ
trên thì một loạt các ngôn ngữ khác đã và đang phát triển cũng hỗ trợ khả năng
mô tả phần cứng, đáng chú ý là System Verilog là phiên bản mở rộng của Verilog
hướng của C++ như hỗ trợ các kiểu dữ liệu khác nhau, sử dụng lớp Class và nhiều
hàm thiết kế hệ thống bật cao.
SystemC không hoàn toàn
phải là một HDL mà là một dạng mở rộng của C++ cho phép hổ trợ kiểm tra các thiết
kế bằng VHDL hay Verilog
Các yêu cầu đối với một thiết kế
logic
Yêu
cầu đối với một thiết kế IC bao gồm:
ü Yêu
cầu chức năng: mạch bao gồm có các đầu vào đầu ra như thế nào, thực hiện nhiệm
vụ gì…
ü Yêu
cầu về mặt công nghệ: mạch thiết kế sử dụng nền công nghệ bán dẫn nào PLD,
ASIC, FPGA…
ü Yêu
cầu về mặt tài nguyên: Giớ hạn về số lượng cổng, số lượng transistors, về diện
tích quy đổi chuẩn, về kích thước của IC thiết kế.
ü Yêu
cầu về khả năng làm việc ( performance ): là yêu cầu về các tham số thời gian của
mạch bao gồm độ trễ cổng vào, độ trễ cổng r, độ trễ logic với mạch tổ hợp, các
xung nhịp làm việc, số lượng xung nhịp cho một nhu trình xử lý dữ liệu, số lượng
dữ liệu xữ lý trên một đơn vị thời gian.
ü Yêu
cầu về mức tiêu hao năng lượng ( power consumtion )
ü Yêu
cầu về chi phí cho quá trình thiết kế va sáng tạo ( design cost )
Các yêu cầu kể trên có
quan hệ mật thiết với nhau và thông thường chúng không thể đồng thời đạt được tối
ưu. Ví dụ năng lượng tiêu thụ của mạch muốn nhỏ số lượng cổng sử dụng hạn chế
và sẽ hạn chế tốc độ làm việc, hoặc việc sử dụng các công nghệ rẻ tiền hơn hoặc
dùng các cổng công xuất thaao cũng là nhân tố giảm hiệu năng làm việc của mạch.
Trong
thực tế các IC phục vụ mục đích khác nhau thì có yêu cầu khác nhau và người lập
kế hoạch thiết kê IC cần phải cân đối giữa các tiêu chí để có một phương pháp tối
ưu nhất. Vd cùng là vi xử lý nhưng nếu
dùng thì không có yêu cầu đặc biệt về mặt tiêu hao năng lượng do nguồn cung cấp
là cố định, khi đó chip phải được thiết kế để có hiệu suất làm việc tối đa.
Trong khi vi xử lý cho máy tính xách tay thì cần phải thiết kế để có mức tiêu
thụ năng lượng thấp nhất có thể hoặc để có thể hoạt động ở nhiều mức thiêu thụ
năng lượng khác nhau nhằm kéo dài thời gian sử dụng. Chip điều khiển cho các
thiết bị di động thì cần phải tối ưu hết mức tiêu tốn năng lượng bằng cách thu
gọn thiết kế, giảm thiểu những tập lệnh không cần thiết và sử dụng các phần tử
tiết kiệm năng lượng nhất…
NGUỒN: THIẾT KẾ
LOGIC SỐ - HỌC VIỆN KỸ THUẬT QUÂN SỰ_ HÀ NỘI -2011
Post a Comment: