Friday, January 12, 2018


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: