11
1. Thiết kế VLSI bao gm bao nhiêu mức, đó là những mc nào? Trình bày vni dung, nhim vca tng mc thiết kế. a.Thiết kế VLSI gm 6 mc: - Đặc điểm - Cu trúc - Chuyn giao thanh ghi - Logic - Mch - Sơ đồ b.Ni dung và nhim vca tng mc thiết kế: - Mức đặc điểm: mô tkhnăng làm việc ca chip, phân tích các đặc điểm vINPUT và OUTPUT. - Mc cu trúc: cha các mã ngun chính, bao gm các kết ni, các phn ng vi các phn tlogic. - Mc chuyn giao thanh ghi: cha các khi logic và các máy trng thái, các kết ni gia các thanh ghi trong hthng . - Mc logic: cha các cng, các mch flip-flop, latches, và các kết ni gia chúng. - Mc mch: gm các transistor, các thành phần điện trở, điện dung, điện cảm,… và kết ni gia chúng. - Mc layout: gm các lp mt nạ, đa chiều,… 2. Mô tvà trình bày vlung thiết kế VLSI. a. Mô t: gồm 9 bước như hình b. Trình bày: Bước 1: Design entry ( thiết kế li vào) Kết hp tt ccác thiết kế li vào thành mt hthng ASIC. Bước 2: Logic synthesis( tng hp logic) Sdng ngôn ngVHDL và các chun logic ca nhà sn xut quy định để to ra netlist thư viện phn tlogic chun, nhm kết ni các cell logic li vi nhau thành mi liên kết hoàn chnh Bước 3: System partitioning ( phân vùng hthng ) Chia hthng ln thành các hthống ASIC đơn.

Tra Loi Cau Hoi on Tap VLSI

  • Upload
    ga-mo

  • View
    15

  • Download
    9

Embed Size (px)

DESCRIPTION

Tra Loi Cau Hoi on Tap VLSI

Citation preview

Page 1: Tra Loi Cau Hoi on Tap VLSI

1. Thiết kế VLSI bao gồm bao nhiêu mức, đó là những mức nào? Trình bày về nội dung, nhiệm vụ của

từng mức thiết kế.

a.Thiết kế VLSI gồm 6 mức:

- Đặc điểm - Cấu trúc - Chuyển giao thanh ghi - Logic - Mạch - Sơ đồ

b.Nội dung và nhiệm vụ của từng mức thiết kế:

- Mức đặc điểm: mô tả khả năng làm việc của chip, phân tích các đặc điểm về INPUT và OUTPUT.

- Mức cấu trúc: chứa các mã nguồn chính, bao gồm các kết nối, các phản ứng với các phần tử logic.

- Mức chuyển giao thanh ghi: chứa các khối logic và các máy trạng thái, các kết nối giữa các thanh ghi

trong hệ thống .

- Mức logic: chứa các cổng, các mạch flip-flop, latches, và các kết nối giữa chúng.

- Mức mạch: gồm các transistor, các thành phần điện trở, điện dung, điện cảm,… và kết nối giữa chúng.

- Mức layout: gồm các lớp mặt nạ, đa chiều,…

2. Mô tả và trình bày về luồng thiết kế VLSI.

a. Mô tả: gồm 9 bước như hình

b. Trình bày:

Bước 1: Design entry ( thiết kế lối vào) Kết hợp tất cả các thiết kế lối vào thành một hệ thống ASIC.

Bước 2: Logic synthesis( tổng hợp logic) Sử dụng ngôn ngữ VHDL và các chuẩn logic của nhà sản xuất

quy định để tạo ra netlist – thư viện phần tử logic chuẩn, nhằm kết nối các cell logic lại với nhau thành

mối liên kết hoàn chỉnh

Bước 3: System partitioning ( phân vùng hệ thống ) Chia hệ thống lớn thành các hệ thống ASIC đơn.

Page 2: Tra Loi Cau Hoi on Tap VLSI

Bước 4: Prelayout simulation ( Mô phỏng pre-layout) : Kiểm tra xem phần thiết kế hệ thống có chính xác

hay ko

Bước 5: Floor-planning (Tầng lập kế hoạch): Thiết lập các khối netlist trên chip.

Bước 6: Placement ( Tầng phân bố): Tầng này có nhiệm vụ xác định vị trí của từng ô trong một khối

Bước 7: Routing ( Tầng định tuyến): Thực hiện kết nối giữa các cell và các khối lại với nhau

Bước 8: Circuit extraction ( Tầng chiết tách mạch): Xác định các điện trở và tụ điện của các kết nối.

Câu 3: Trình bày sơ lược về các phương pháp thiết kế VLSI. Từ đó đưa ra so sánh giữa những phương

pháp này

*Gồm có 4 phương pháp chính:

- Full Custom

- ASIC - Application-Specific Integrated Circuit

- PLD, FPGA - Programmable Logic

- SoC - System-on-a-Chip

*Trình bày sơ lược:

- Phương pháp Full Custom: thì mỗi phần tử của mạch đều được thiết kế riêng biệt.

Hiệu suất

- Chi phí thiết kế cao

- Chi phí NRE (Non-Recurring Engineering) cao

- Hiệu năng cao

- Chi phí cho từng vi mạch thấp (nếu sản xuất với số

lượng lớn)

Ví dụ:

- Analog and Mixed-Signal

- Microprocessor.

- Phương pháp thiết kế ASIC: phương pháp thiết kế này bắt buộc sử dụng các thành phần được thiết kế

có sẵn ( và đôi khi được chế tạo sẵn), được lắp ráp và nối dây bởi công cụ CAD.

Standard cell (thiết kế cell có sẵn).

Gate array (các cell được chế tạo sẵn - chỉ cần nối thêm dây)

Structured ASIC (hàm phức được tùy biến dựa vào việc nối dây).

Hiệu suất

- Chi phí thiết kế thấp.

- Chi phí NRE (Non-Recurring Engineering)

cao

- Hiệu năng trung bình

- Chi phí cho từng vi mạch trung bình

Ví dụ:

- Điều khiển chip ở thiết bị di động

- Chip đồ họa cho máy tính để bàn ( ví dụ

như nVIDIA hay ATI)

Page 3: Tra Loi Cau Hoi on Tap VLSI

- Phương pháp thiết kế kiểu logic tái lập trình: các phần tử của mạch được chế tạo sẵn, liên kết với nhau

bởi các dây nối và được lập trình bằng công cụ CAD.

Hiệu suất:

Chi phí thiết kế thấp (Các công cụ CAD giảm đáng kể khả năng thiết kế).

Chi phí NRE thấp ( cơ bản gần như bằng 0).

Hiệu năng thấp

Chi phí cho từng vi mạch thấp

Ví dụ:

Bộ định tuyến mạng (Cisco,…).

- Phương pháp thiết kế kiểu SOC: ý tưởng của thiết kế là kết hợp nhiều khối block lớn lại với nhau

Nhân tùy biến được thiết kế sẵn, được gọi là nhân IP (ví dụ như bộ xử lý ARM, vi điều khiển,..)

Logic ASIC cho phần cứng chuyên dụng

Logic lập trình (PLD, FPGA)

Analog

Hiệu suất:

- Chi phí thiết kế trung bình

- Chi phí NRE cao

- Hiệu năng trung bình

- Chi phí cho từng vi mạch trung bình

Ví dụ:

- Thiết bị điện tử tiêu dùng (e.g., iPod)

- Cáp set-top boxes

- Chip đa năng cho thiết bị di động

*So sánh 4 phương pháp: ta đi so sánh về mặt hiệu suất của 4 phương pháp này

Hiệu suất Full custom ASIC Logic tái lập

trình

SOC

Chi phí thiết kế Cao Thấp Thấp Trung bình

Chi phí NRE Cao Cao Thấp Cao

Hiệu năng Cao Trung bình Thấp Trung bình

Chi phí cho từng

vi mạch

Thấp (nếu xs với

số lượng lớn)

Trung bình Cao Trung bình

Câu 4: FPGA là gì? Mô tả cấu trúc chung của một FPGA.

a. FPGA:

- Field-programmable gate array (FPGA) là vi mạch dùng cấu trúc mảng phần tử logic mà người dùng

có thể lập trình được. Vi mạch FPGA được cấu thành từ các bộ phận:

Các khối logic cơ bản lập trình được (logic block)

Page 4: Tra Loi Cau Hoi on Tap VLSI

Hệ thống mạch liên kết lập trình được

Khối vào/ra (IO Pads)

Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý...

- FPGA được lập trình bằng cách:

Sử dụng một sơ đồ mạch logic

Sử dụng ngôn ngữ mô tả phần cứng (Hardware Description Language - HDL)

b.Cấu trúc chung của một FPGA:

Các khối logic cấu hình được (configurable logic blocks - CLB):

Mục đích của việc lập trình khối logic trong FPGA là để cung cấp các tính toán và các phần tử nhớ

cơ bản được sử dụng trong hệ thống số.

Một phần tử logic cơ bản gồm một mạch tổ hợp có thể lập trình, một Flip-Flop hoặc một chốt

(latch).

Ngoài khối logic cơ bản đó, nhiều Chip FPGA hiện nay gồm một hỗn hợp các khối khác nhau, một

số trong đó chỉ được dùng cho các chức năng cụ thể, chẳng hạn như các khối bộ nhớ chuyên dụng,

các bộ nhân (multipliers) hoặc các bộ ghép kênh (multiplexers

Các liên kết khả trình (Programmable Interconnect)

Các liên kết trong một FPGA dùng để liên kết các khối logic và I/O lại với nhau để tạo thành một

thiết kế. Bao gồm các bộ ghép kênh, các transistor và cổng đệm ba trạng thái.

Nhìn chung, các transistor và bộ ghép kênh được dùng trong một cụm logic để kết nối các phần tử

logic lại với nhau, trong khi đó cả ba đều được dùng cho các cấu trúc định tuyến bên trong FPGA.

Một số FPGA cung cấp nhiều kết nối đơn giản giữa các khối logic, một số khác cung cấp ít kết nối

hơn nên định tuyến phức tạp hơn.

Các khối I/O cấu hình được (configurable I/O blocks)

I/O cung cấp giao tiếp giữa các khối logic và kiến trúc định tuyến đến các thành phần bên ngoài.

Một trong những vấn đề quan trọng nhất trong thiết kế kiến trúc I/O là việc lựa chọn các tiêu chuẩn

điện áp cung cấp và điện áp tham chiếu sẽ được hỗ trợ.

Page 5: Tra Loi Cau Hoi on Tap VLSI

Câu 5: Cấu trúc chung của một chương trình VHDL bao gồm bao nhiêu phần, đó là những phần

nào? Nêu rõ chức năng, nhiệm vụ và cú pháp chung của từng phần.

Cấu trúc chung của VHDL gồm 3 phần:

Khai báo Library: chứa các khai báo về những thư viện được dùng trong chương trình.

Khai báo ENTITY: khai báo về các cổng vào ra của mạch điện.

Khai báo Architecture: chứa mã VHDL mô tả hành vi của mạch điện( chức năng của mạch)

Chức năng, nhiệm vụ, cú pháp của từng phần:

Khai báo Library:

Chức năng, nhiệm vụ:

Tập hợp các đoạn code thường hay được sử dụng.

Cho phép tái sử dụng và chia sẻ các đoạn mã trong nhiều thiết kế khác nhau.

Các thành phần của LIBRARY

PACKAGES

FUNCTIONS

PROCEDURES

COMPONENTS

Cú pháp:

LIBRARY library_name;

USE library_name.package_name.package_parts;

Có 3 gói, từ 3 thư viện khác nhau thường được sử dụng trong thiết kế là:

ieee.std_logic_1164 (từ thư viện ieee): gói này cho biết một hệ logic đa mức.

standard (từ thư viện std): là một thư viện tài nguyên ( kiểu dữ liệu, I/O test,…) cho môi

trường thiết kế VHDL.

work ( từ thư viện work): được sử dụng khi chúng ta lưu thiết kế.

Khai báo ENTITY:

Chức năng, nhiệm vụ: entity là một danh sách mô tả các chân vào/ra (các PORT) của mạch

điện.

Các mode của tín hiệu:

IN: tín hiệu vào

OUT: tín hiệu ra

INOUT: tín hiệu vào ra hai hướng

BUFFER: tín hiệu ra có nhớ đệm

Page 6: Tra Loi Cau Hoi on Tap VLSI

Các kiểu tín hiệu:

BIT

STD_LOGIC, STD_LOGIC_VECTOR

INTEGER

Tên của ENTITY không được trùng với các từ khoá trong VHDL

Cú pháp:

ENTITY entity_name IS

PORT (

Port_name: IN signal_mode signal_type;

Port_name:OUT signal_mode signal_type;

…);

END entity_name;

Khai báo ARCHITECTURE:

Chức năng, nhiệm vụ: ARCHITECTURE là một mô tả mạch dùng để quyết định mạch sẽ làm

việc như thế nào (có chức năng gì)

Không được sử dụng các từ khoá của VHDL để làm tên của ARCHITECTURE

Có thể trùng tên với ENTITY

Cú pháp:

ARCHITECTURE architecture_name OF entity_name IS

[khai báo]

BEGIN

(code)

END architecture_name;

Câu 6: Các kiểu dữ liệu: Data type

- Các kiểu dữ liệu cho phép tổng hợp phần cứng được:

BIT và BIT_VECTOR: kiểu logic 2 mức ‘0’ và ‘1’.

STD_LOGIC và STD_LOGIC_VECTOR: 8 giá trị logic của hệ thống được giới thiệu trong

chuẩn IEEE1164.

STD_ULOGIC và STD_ULGIC_VECTORL: 9 giá trị logic của hệ thống được giới thiệu trong

chuẩn IEEE1164

Page 7: Tra Loi Cau Hoi on Tap VLSI

SIGNED và UNSIGED: tương tự như STD_LOGIC và STD_LOGIC_VECTOR nhưng có thể

thực hiện được các phép toán số học.

- Kiểu dữ liệu vô hướng:

Kiểu logic BOOLEAN: một giá trị thuộc kiểu BOOLEAN là một đại lượng nhận một trong hai

giá trị logic TRUE hay FALSE. Kiểu BOOLEAN cũng định nghĩa sẵn quan hệ thứ tự FALSE <

TRUE.

Kiểu số nguyên INTEGER: 32-bit số nguyên (từ -2,147,483,647 tới + 2,147,483,647).

Kiểu NATURAL: 32-bit số nguyên không âm (từ 0 tới + 2,147,483,647).

Kiểu số thực REAL: từ -1.0E38 tới +1.0E38

- Kiểu dữ liệu không tổng hợp phần cứng được:

Kiểu vật lý: mô tả các thông số vật lý (thời gian, điện áp, dòng điện,…). Chỉ sử dụng trong mô

phỏng mà không tổng hợp phần cứng được.

Kiểu kí tự: mô tả các kí tự trong bảng mã ASCII và không thể tổng hợp phần cứng được.

- Kiểu dữ liệu do người dùng định nghĩa:

Kiểu dữ liệu do người dùng định nghĩa, cho phép tạo ra kiểu dữ liệu cho riêng mình.

Cú pháp: TYPE name_type IS RANGE begin_poin TO end_poin

Có hai dạng dữ liệu do người dùng tự định nghĩa:

Kiểu integer: tập hợp con của INTEGER

Kiểu enumerated: tập enumerated được lựa chọn bởi người dùng

- Kiểu dữ liệu khác:

Kiểu con (subtypes): Là kiểu dữ liệu được trích xuất từ một kiểu dữ liệu khác với những điều

kiện ràng buộc cụ thể. Lý do sử dụng kiểu con: một số phép toán thì không cho phép sử dụng 2

kiểu dữ liệu khác nhau nhưng có thể cho phép khi sử dụng kiểu con

Kiểu mảng –Array: tập hợp các đối tượng có cùng kiểu dữ liệu.

TYPE type_name IS ARRAY (specification) OF data_type;

Kiểu bảng ghi – Record: chứa các đối tượng khác kiểu dữ liệu

TYPE birthday IS RECORD

day: INTEGER RANGE 1 TO 31;

month: month_name;

END RECORD;

Kiểu mảng cổng – PORT ARRAY:

Câu 7: Thế nào là logic tuần tự và logic kết hợp? Nêu ví dụ.

a. Logic tổ hợp (Combinational logic):

Page 8: Tra Loi Cau Hoi on Tap VLSI

Giá trị đầu ra của mạch điện chỉ phụ thuộc vào giá trị đầu vào hiện tại

Mạch điện không có thành phần nhớ

Có thể được thực thi bằng các phần tử cổng logic

Ví dụ: Cho mạch logic tuần tự như bên dưới, các giá trị đầu ra led0-led7 chỉ phụ thuộc vào các giá trị đầu vào

sw0-sw2, mạch không có các thành phần nhớ.

b. Logic tuần tự (Sequential Logic):

Giá trị đầu ra phụ thuộc không chỉ giá trị đầu vào hiện tại mà còn cả giá trị đầu vào trước đó.

Mạch điện phải bao gồm các thành phần nhớ.

Ví dụ: Một ví dụ phổ biến của một mạch logic tuần tự là sử dụng các flip-flop, hay còn gọi là

cổng ổn định kép. Một mạch điện flip-flop đơn giản có hai trạng thái ổn định. Flip-flop duy trì

trạng thái của nó vô thời hạn cho đến khi một xung đầu vào được kích hoạt . Nếu một trigger

được kích hoạt, kết quả đầu ra flip-flop thay đổi trạng thái theo quy tắc nhất định, và trạng thái đó

được duy trì cho đến khi trigger khác được kích hoạt.

Ví dụ với trigger D:

Page 9: Tra Loi Cau Hoi on Tap VLSI

Câu 8: Thế nào là mã song song và mã tuần tự? Nêu ví dụ hoặc phân tích một đoạn mã xem đó là

loại mã gì.

a. Mã song song và mã tuần tự:

Mã song song:

Thông thường, mã lệnh của VHDL thuộc dạng mã song song.

Với mã song song, mạch điện được tổng hợp như nhau, bất chấp thứ tự của câu lệnh trong chương

trình.

Các loại mã lệnh thuộc dạng mã song song

Các toán tử

Câu lệnh WHEN

WHEN/ELSE

WITH/SELECT/WHEN

Câu lệnh GENERATE

Câu lệnh BLOCK.

Mã tuần tự:

Chỉ các mã lệnh nằm trong PROCESS, FUNCTION, PROCEDURE là mã tuần tự. Các khối này được

thực hiện một cách tuần tự.

Các câu lệnh if/else; case; loop phải được viết bên trong một process, function, procedure

b. Nêu ví dụ hoặc phân tích một đoạn mã xem đó là loại mã gì.

- Mã song song:

Page 10: Tra Loi Cau Hoi on Tap VLSI

- Mã tuần tự:

Thanh ghi 8 bit với tín hiệu reset đồng bộ

Page 11: Tra Loi Cau Hoi on Tap VLSI