Thiết kế logic số (VLSI design)

Bộ môn KT Xung, số, VXL quangkien82@gmail.com https://sites.google.com/site/bmvixuly/thiet-ke- logic-so 08/2012

Mục đích, nội dung

• Nội dung: Phát biểu tuần tự

• Thời lượng: 3 tiết bài giảng

2/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

VHDL statements

3/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

Sequential statements

Đn: Phát biểu thực thi phụ thuộc vào vị trí xuất hiện trong chương trình.

Vị trí:

Trong khối quá trình Trong chương trình con

Ứng dụng:

Dùng mô tả cho mạch tuần tự Dùng mô tả mạch tổ hợp (not recommended) Dùng cho các cấu trúc mô phỏng kiểm tra

4/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

Sequential statements

1. IF, CASE

2. WAIT, ASSERT, REPORT

3. LOOP

4. Sequential Signal Assignment

5/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

PROCESS

[label]: Process (sensitive list) Begin -- sequential statements End process [label];

SENSITIVE LIST?

6/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

Lệnh IF

IF condition1 THEN sequence-of-statements ELSIF condition2 THEN [sequence-of-statements ] ELSIF condition3 THEN [sequence-of-statements ] .. ELSE [sequence-of-statements END IF;

7/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

IF Example 1-D-FlipFlop

SET

D

Q

CLK

CLR

Q

8/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

IF Example 2 - Register

D

clk, reset

REG1

Q

9/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

IF Example 3 - Simple Counter

Counter enable? Kd #= 2N

10/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

Lệnh CASE

CASE expression IS WHEN choice1 => [sequence-of-statements] WHEN choice2 => [sequence-of-statements] ...

WHEN others => -- optional if all choices covered [sequence-of-statements] END CASE;

11/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

CASE – Example: Multiplexer

IN2(n-bit)

IN1(n-bit)

Sel

MUX

Dout (n-bit)

12/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

Trắc nghiệm

Câu 1: Điểm đặc trưng nhất của câu lệnh tuần tự

A. Câu lệnh được thực thi một cách tuần tự theo thứ tự

trong VHDL

B. Lệnh tuần tự được biên dịch thành mã máy giống

xuất hiện

C. Lệnh tuần tự chỉ xuất hiện trong khối quá trình hoặc

như câu lệnh của phần mềm.

D. Câu lệnh tuần tự dùng để mô tả mạch tuần tự

chương trình con

13/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

Trắc nghiệm

A. Không có sự khác biệt, hai lệnh này có thể sử dụng

Câu 2: Đặc điểm khác biệt giữa lệnh IF và lệnh CASE

B. Điều kiện trong câu lệnh CASE là điều kiện cùng cấp

thay thế lẫn nhau.

còn điều kiện trong câu lệnh IF là điều kiện phân cấp

C. Lệnh CASE thường dùng cho các khối tổ hợp, còn

lệnh IF sử dụng cho khối mạch tuần tự.

D. Không có sự khác biệt rõ rệt giữa hai câu lệnh

14/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

Trắc nghiệm

Câu 3: Cơ chế ảnh hưởng của sensitive list trong khối

A. Giống như danh sách các tham biến đầu vào của khối

Process

B. Danh sách sensitive list kích thích cho quá trình thực

thiết kế

C. Bất kỳ sự thay đổi nào của các đối tượng trong danh

hiện

sách sensitive list đều làm cho quá trình tương ứng

được thực thi.

D. Giá trị của các tín hiệu trong danh sách sensitive list quy 15/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com

định giá trị của các tín hiệu đầu ra của khối quá trình

Trắc nghiệm

A. Lệnh Loop chỉ có ý nghĩa sử dụng trong mô phỏng thiết

Câu 4: Phát biểu nào sau đây không đúng

B. Lệnh IF và lệnh CASE có thể thay thế nhau trong một số

kế

C. Lệnh WAIT, ASSERT chỉ sử dung cho mục đích mô

trường hợp

D. Phần tử nhớ chỉ có thể mô tả bằng câu lệnh tuần tự

phỏng kiểm tra thiết kế.

16/16

Chương II: Ngôn ngữ VHDL quangkien82@gmail.com