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: Kiến trúc kiểu cấu trúc, Mô
phỏng trên ModelSim, Đối tượng dữ liệu, kiểu dữ liệu
• Thời lượng: 3 tiết bài giảng
2/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Adder 4 bit
A
4
B Cin 4
Cout
Σ
4
Sum
b3
a3
b2
a2
b1
a1
b0
a0
C(2)
C(1)
C(0)
CI
FULL_ADDER
FULL_ADDER
FULL_ADDER
FULL_ADDER
CO
S2
S1
S0
S3
3/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Configuration
Một thực thể có bao nhiêu kiến trúc ?
Kiến trúc nào được biên dịch vào thư viện Work?
Kiến trúc nào sẽ được mô phỏng bằng lệnh Vsim?
4/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Configuration
Dataflow
ADDER4 = 4 Full_adder
?
Behavioral
configuration behav of adder4 is for structure -- one of architecture for all: full_adder use entity work.full_adder(behavioral); end for; end for; end configuration;
-- select architecture for u0: full_adder use entity work.full_adder(behavioral); for u1: full_adder use entity work.full_adder(behavioral); for u2: full_adder use entity work.full_adder(dataflow); for u3: full_adder use entity work.full_adder(dataflow);
5/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Object Types Đối tượng dữ liệu
6/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Object Types
Hằng là những đối tượng dữ liệu dùng khởi tạo để chứa các giá trị xác định trong quá trình thực hiện. Hằng có thể được khai báo trong các gói, thực thể, kiến trúc, chương trình con, các khối và quá trình.
Biến là những đối tượng dữ liệu dùng để chứa các kết quả trung gian, biến chỉ có thể được khai báo bên trong các quá trình hoặc chương trình con.
Tín hiệu là các đối tượng dữ liệu dùng để kết nối giữa các quá trình (khối logic) hoặc để đồng bộ các quá trình
7/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Data types
8/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Data types
Name
‘U’ 'X' '0' '1' 'Z' Driver Strength - Strong Strong Strong -
STD_LOGIC_11 64 Value Unsolved X 0 1 High impedance
'W' 'L' 'H' '-' X 0 1 Don’t care Weak Weak Weak -
9/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Trắc nghiệm
Câu 1: Kiểu dữ liệu tiền định nghĩa nào được xem
A. Kiểu BIT và NUMERIC
B. Kiểu BIT
C. Kiểu STD_LOGIC
D. Kiểu NUMERIC và STD_LOGIC
là kiểu dữ liệu cơ bản nhất trong VHDL
10/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Trắc nghiệm
A. Biến là đối tượng dữ liệu dùng để lưu trữ các giá trị
Câu 2: Phát biểu sau nào sau đây không chính xác:
B. Biến thường không tương ứng với một thực thể vật lý
trung gian trong quá trình tính toán.
C. Hằng số là đối tượng dữ liệu dùng để lưu trữ các giá
nào trong vi mạch mô tả.
D. Giá trị của một tín hiệu được xác định từ nhiều điều
trị không đổi trong chương trình
kiện logic độc lập với nhau..
11/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Trắc nghiệm
A. Quy định về sử dụng kiến trúc cụ thể của các thiết kế
B. Quy định về cấu hình các cổng vào ra của một thiết
Câu 3: Mục đích của khai báo cấu hình là:
C. Thiết lập các tham số tĩnh cho thiết kế
D. Cấu hình cho các dữ liệu vào ra của một thiết kế.
kế.
12/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Trắc nghiệm
Câu 4: Mục đích của việc sử dụng các giá trị 9 mức
A. Đảm bảo mô tả đầy đủ các trạng thái vật lý của mạch số
B. Đảm bảo có thể mô phỏng được chính xác chức năng
logic của kiểu dữ liệu STD_LOGIC
C. Đảm bảo mô tả đầy đủ các dạng tín hiệu thật trong mạch
của vi mạch số.
D. Phục vụ yêu cầu mở rộng cho đặc tính của vi mạch tích
và phục vụ mục đích mô phỏng kiểm tra
hợp số so với các mạch thông thường
13/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Tìm lỗi sai ở đoạn code sau
entity logic_expample is port( A : in std_ulogic_vector(8 downto 0); U : out std_ulogic_vector(8 downto 0) ); end logic_expample; ----------------------------------------- architecture dataflow of logicexpample is Begin A <= “XXXX01ZWLH"; U <= A; U <= "X01ZWLH-1"; end dataflow;
14/15
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com
Viết mô tả thực thể cho khối thiêt kế sau
Cin
B(N-bit )
A(N-bit)
Cout
Σ
Sum (N-bit)