Bài giảng Thiết kế logic số - Chương II: Ngôn ngữ VHDL (Phần 5)

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

Vị trí:

 Trực tiếp trong mô tả kiến trúc

Ứng dụng:

 Dùng mô tả cho mạch dạng cấu trúc hoặc dataflow

 

pptx 18 trang yennguyen 2180
Bạn đang xem tài liệu "Bài giảng Thiết kế logic số - Chương II: Ngôn ngữ VHDL (Phần 5)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Thiết kế logic số - Chương II: Ngôn ngữ VHDL (Phần 5)

Bài giảng Thiết kế logic số - Chương II: Ngôn ngữ VHDL (Phần 5)
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 
Nội dung : Phát biểu đồng thời 
Thời lượng : 3 tiết bài giảng 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
2 /18 
Mục đích, n ội dung 
VHDL statements 
VHDL statements 
Concurrent 
Sequential 
3 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
Concurrent statements 
Đn : Phát biểu được thực thi không phụ thuộc vào vị trí xuất hiện trong chương trình. 
Vị trí : 
	 Trực tiếp trong mô tả kiến trúc 
Ứng dụng : 
	 Dùng mô tả cho mạch dạng cấu trúc hoặc dataflow 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
4 /18 
Concurrent statements 
1. PROCESS 
2. COMPONENT INSTALLATION 
3. GENERATE 
4. Concurrent Signal Assignment 
5 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
PROCESS 
Mỗi khối câu lệnh PROCESS thực ra là một khối lệnh tuần tự 
Khối PROCESS không có danh sách Sensitive list thì bắt buộc phải xuất hiện lệnh WAIT 
Không giới hạn lệnh PROCESS trong một mô tả kiến trúc 
6 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
COMPONENT component_name IS 
 GENERIC (generic_variable_declarations ); 
 PORT (input and_output_variable declarations ); 
END COMPONENT component_name; 
COMPONENT INSTALLATION 
instant_name: COMPONENT component_name 
 GENERIC MAP ( generic_variables => generic values) 
 PORT MAP (input_and_output_variables => signals ); 
DECLARATION 
INSTALATION 
7 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
entity counter is 
generic ( 
 N : natural ; 
 top_value : std_logic_vector(15 downto 0); 
 SETTOP : boolean := FALSE ); 
port ( 
 count : out std_logic_vector(N-1 downto 0 ); 
 enable : in std_logic ; 
 clk : in std_logic ; 
 reset : in std_logic ); 
end entity ; 
EXAMPLE: configurable counter 
8 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
-- installation of 4 bit counter 
counter1 : counter 
generic map (4, x"000a", TRUE) 
port map (cnt1, enable, clk, reset);	 
counter2 : counter 
generic map (4, x"101a", FALSE) 
port map (cnt2, enable, clk, reset); 
counter3 : counter 
generic map (8, x"101b", TRUE) 
port map (cnt3, enable, clk, reset); 
EXAMPLE: configurable counter 
9 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
Syntax: 
target <= waveform1; 
Examples: 
A '0'); 
A <= B or C xor D; 
A <= "00" & B(k+m-1 downto m ); 
A '0'); 
CONCURRENT SIGNAL ASSIGNMENT 
10 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
target <= waveform1 when condition1 else 
 waveform2 when condition2 else 
 • 
 • 
 • 
 waveformN–1 when conditionN–1 else 
 waveformN when conditionN else 
 default_waveform; 
CONDITIONAL SIGNAL ASSIGNMENT 
11 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
WITH expression SELECT 
target <= options waveform1 
 WHEN choice_list1, 
 waveform2 WHEN choice_list2, 
 • 
 • 
 • 
 waveformN–1 WHEN choice_listN–1, 
 waveformN WHEN choice_listN, 
 default_value WHEN OTHERS ; 
CONDITIONAL SIGNAL ASSIGNMENT 
12 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
[ label]: for generate_parameter_specification 
generate 
{ concurrent_statement } 
end generate [label]; 
GENERATE 
[ label]: if condition 
generate 
{ concurrent_statement } 
end generate [label]; 
13 /18 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
Trắc nghiệm 
Câu 1 : Cấu trúc lệnh FOR .. GENERATE thường dùng trong trường hợp nào 
Dùng cho các cấu trúc chương trình lặp đi lặp lại giống nhau trong mô tả thiết kế. 
Dùng cho các cấu trúc mô tả lặp lại giống nhau hoặc có quy luật 
Dùng để mô tả cho vòng lặp cứng trong thiết kế. 
Dùng mô tả các cấu trúc phần cứng có tính tùy biến về số lượng các khối cài đặt . 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
14 /18 
Trắc nghiệm 
Câu 2 : Bản chất của câu lệnh PROCESS trong VHDL 
Tạo một quá trình trong mô tả kiến trúc của thiết kế. 
Là một khối lệnh tuần tự. 
Là một khối lệnh chứa là các lệnh tuần tự nhưng được xem như một cấu trúc lệnh đồng thời. 
Là một câu lệnh đồng thời sử dụng trong mô tả các quá trình . 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
15 /17 
Trắc nghiệm 
Câu 3 : Ưu điểm cơ bản của sử dụng câu lệnh gán tín hiệu đồng thời so với sử dụng cấu trúc tuần tự tương đương 
Mang lại kết quả thiết kế tối ưu hơn 
Mã chương trình đơn giản và ngắn gọn hơn 
Mô tả sát hơn cấu trúc của mạch và giảm thiểu khả năng gây lỗi 
Giảm thiểu khả năng gây ra lỗi chức năng của mạch . 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
16 /18 
Trắc nghiệm 
Câu 4 : Biến generic được sử dụng như thế nào trong thiết kế VHDL 
Là các tham biến tĩnh ví dụ độ rộng bit, quy định cấu hình chức năng . 
Sử dụng như tham biến khi thiết kế nhưng phải là hằng số khi sử dụng. 
Là một biến phát sinh ra trong quá trình sử dụng khối thiết kế như một khối con. 
Sử dụng để quy định cho các đặc tính của các tham biến động trong thiết kế . 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
17 /17 
Trắc nghiệm 
Câu 5 : Phân biệt tác dụng của lệnh IF tuần tự và IF GENERATE 
Lệnh IF tuần tự chỉ tác động lên các khối mô tả tuần tự còn lệnh IF  GENERATE tác động lên khối lệnh song song 
Lệnh IF tuần tự chỉ tác động lên các tham biến động còn lệnh IF  GENERATE tác động lên các tham biến tĩnh. 
Lệnh IF tuần tự là câu lệnh rẽ nhánh có điều kiện phân cấp còn IF GENERATE là lệnh với một giá trị điều kiện. 
Lệnh IF tuần tự làm thay đổi cấu trúc thiết kế hiện tại theo điều kiện logic của tham biến cài đặt còn IF  GENERATE cài đặt/hoặc không cài đặt theo điều kiện của tham biến tĩnh trong câu lệnh . 
Chương II: Ngôn ngữ VHDL quangkien82@gmail.com 
18 /18 

File đính kèm:

  • pptxbai_giang_thiet_ke_logic_so_chuong_ii_ngon_ngu_vhdl_phan_5.pptx