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

Nội dung: Lịch sử phát triển ngôn ngữ VHDL, Cấu trúc chương trình VHDL, Kiến trúc dạng hành vi và dạng luồng dữ liệu

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

 

pptx 16 trang yennguyen 3580
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 1)", để 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 1)

Bài giảng Thiết kế logic số - Chương II: Ngôn ngữ VHDL (Phần 1)
Thiết kế logic số (Digital Logic design) 
Bộ môn KT Xung, số, Vi xử lý 
08/2013 
https://sites.google.com/site/bmvixuly/thiet-ke-logic-so 
Nội dung : Lịch sử phát triển ngôn ngữ VHDL, Cấu trúc chương trình VHDL, Kiến trúc dạng hành vi và dạng luồng dữ liệu 
Thời lượng : 3 tiết bài giảng. 
2 /16 
quangkien82@gmail.com 
Mục đích, nội dung 
VHDL VHSIC HDL (Very-High-Speed-Intergrated-Circuit Hardware Description Language) 
1981 : Phát triển bởi Bộ Quốc phòng Mỹ. 
1983-1985: Được phát triển thành một ngôn ngữ HDL chính thống bởi 3 công ty Intermetrics, IBM and TI. 
1986: Chuyển giao toàn bộ bản quyền cho Viện Kỹ thuật Điện và Điện tử (IEEE). 
1987: Công bố thành một chuẩn ngôn ngữ IEEE-1076 1987. 
2002: Công bố chuẩn VHDL IEEE-1076 2002 
2009: Công bố chuẩn VHDL IEEE-1076 2009 
3 /16 
quangkien82@gmail.com 
Lịch sử phát triển của VHDL 
Tính phổ biến 
Độc lập với công nghệ . 
Khả năng mô tả nhiều cấp độ. 
Khả năng trao đổi, tái sử dụng . 
4 /16 
quangkien82@gmail.com 
Đặc điểm VHDL 
HDL for Specification 
HDL for Simulation 
HDL for Synthesis 
5 /16 
quangkien82@gmail.com 
Các dạng mã nguồn VHDL 
Cấu trúc chương trình VHDL 
6 /16 
quangkien82@gmail.com 
0110 
0101 
0 1011 
+ 
7 /16 
quangkien82@gmail.com 
VD1– Khối cộng FULL_ADDER 
A 
B 
Cin 
S 
Cout 
0 
0 
0 
0 
0 
0 
0 
1 
1 
0 
0 
1 
0 
1 
0 
0 
1 
1 
0 
1 
1 
0 
0 
1 
0 
1 
0 
1 
0 
1 
1 
1 
0 
0 
1 
1 
1 
1 
1 
1 
8 /16 
quangkien82@gmail.com 
FULL_ADDER - Dataflow 
sum = (a xor b) xor Cin; 
Cout = (a and b) or (Cin and (a xor b)); 
9 /16 
quangkien82@gmail.com 
FULL_ADDER - Dataflow 
Trắc nghiệm 
Câu 1: Các thành phần bắt buộc của một thiết kế VHDL là: 
Khai báo thư viện 
Khai báo thực thể và mô tả kiến trúc 
Mô tả kiến trúc và khai báo cấu hình tương ứng 
Khai báo thư viện, thực thể và mô tả kiến trúc 
10 /16 
quangkien82@gmail.com 
Trắc nghiệm 
Câu 2: Mô tả kiến trúc dạng nào sau đây thể hiện bản chất mạch thiết kế rõ nhất: 
Dạng cấu trúc 
Dạng hành vi 
Dạng cấu trúc kết hợp hành vi 
Dạng luồng dữ liệu 
11 /16 
quangkien82@gmail.com 
Trắc nghiệm 
Câu 3: Phát biểu sau nào sau đây không chính xác: 
Cổng dạng linkage có thể đóng vai trò là bất cứ cổng dạng gì 
Cổng buffer đóng vai trò là cổng ra hoặc tín hiệu bên trong 
Cổng inout bắt buộc phải điều khiển dưới dạng cổng 3 trạng thái 
Không thể gán giá trị cho cổng dạng input. 
12 /16 
quangkien82@gmail.com 
Trắc nghiệm 
Câu 4 : Tham số tĩnh của một thiết kế là 
Các hằng số khai báo trong thiết kế đó 
Các cổng vào ra khai báo trong thực thể của thiết kế 
Các biến generic khai báo trong thực thể của thiết kế khi sử dụng thiết kế đó như một khối con thì buộc phải gán giá trị cố định. 
Các tín hiệu và khối con cài đặt trong mô tả kiến trúc . 
13 /16 
quangkien82@gmail.com 
Trắc nghiệm 
Câu 5 : Phát biểu nào sau đây không là đặc điểm của ngôn ngữ VHDL: 
Có tính phổ biến cao và được hỗ trợ rộng rãi bởi các công cụ thiết kế. 
Có khả năng mô tả những thiết kế với độ phức tạp không hạn chế 
Là một ngôn ngữ dùng để xây dựng các chương trình mô tả các khối số. 
Có khả năng mô tả ở nhiều dạng với các cấp độ chi tiết khác nhau. 
14 /16 
quangkien82@gmail.com 
Tìm lỗi sai ở đoạn code sau 
entity accumulator is 
 port ( 
 data : in std_logic_vector (3 downto 0); 
 nRST : in out std_logic ; 
 1acc : buffer std_logic_vector (3 down to 0 ); 
 CLK : in std_logic ; 
 ); 
end accumulator; 
15 /16 
quangkien82@gmail.com 
Tìm lỗi sai ở đoạn code sau 
begin 
 process(clk ) 
 begin 
 if clk = 1 and clk'event then 
 a <= inp; 
 outp <= b; 
 end if ; 
 end process ; 
 process (oe, bidir) 
 if ( oe = '0') then 
 bidir <= " ZZZZZZZZ“ 
 b <= bidir; 
 else 
 bidir <= a; 
 b <= bidir; 
 end ; 
 end process ; 
end maxpld; 
16 /16 
quangkien82@gmail.com 

File đính kèm:

  • pptxbai_giang_thiet_ke_logic_so_chuong_ii_ngon_ngu_vhdl_phan_1.pptx