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.
Trực tiếp trong mô tả kiến trúc
Dùng mô tả cho mạch dạng cấu trúc hoặc dataflow
18 trang |
Chia sẻ: Mr Hưng | Lượt xem: 1007 | Lượt tải: 0
Nội dung tài liệu Thiết kế logic số (VLSI design) - Phát biểu đồng thời, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Thiết kế logic số (VLSI design)Bộ môn KT Xung, số, VXLquangkien82@gmail.comhttps://sites.google.com/site/bmvixuly/thiet-ke-logic-so08/2012Nội dung: Phát biểu đồng thờiThời lượng: 3 tiết bài giảngChương II: Ngôn ngữ VHDL quangkien82@gmail.com2/18Mục đích, nội dungVHDL statements3/18Chương II: Ngôn ngữ VHDL quangkien82@gmail.comConcurrent 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 dataflowChương II: Ngôn ngữ VHDL quangkien82@gmail.com4/18Concurrent statements1. PROCESS2. COMPONENT INSTALLATION3. GENERATE4. Concurrent Signal Assignment5/18Chương II: Ngôn ngữ VHDL quangkien82@gmail.comPROCESSMỗ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 WAITKhông giới hạn lệnh PROCESS trong một mô tả kiến trúc6/18Chương II: Ngôn ngữ VHDL quangkien82@gmail.comCOMPONENT component_name IS GENERIC (generic_variable_declarations ); PORT (input and_output_variable declarations);END COMPONENT component_name;COMPONENT INSTALLATIONinstant_name: COMPONENT component_name GENERIC MAP( generic_variables => generic values) PORT MAP (input_and_output_variables => signals);DECLARATIONINSTALATION7/18Chương II: Ngôn ngữ VHDL quangkien82@gmail.comentity 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 counter8/18Chươ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 counter9/18Chương II: Ngôn ngữ VHDL quangkien82@gmail.comSyntax:target '0');A '0'); CONCURRENT SIGNAL ASSIGNMENT 10/18Chương II: Ngôn ngữ VHDL quangkien82@gmail.comtarget <= waveform1 when condition1 else waveform2 when condition2 else • • • waveformN–1 when conditionN–1 else waveformN when conditionN else default_waveform;CONDITIONAL SIGNAL ASSIGNMENT 11/18Chương II: Ngôn ngữ VHDL quangkien82@gmail.comWITH expression SELECTtarget <= 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/18Chương II: Ngôn ngữ VHDL quangkien82@gmail.com[label]:for generate_parameter_specificationgenerate{ concurrent_statement }end generate [label];GENERATE[label]: if conditiongenerate{ concurrent_statement }end generate [label];13/18Chương II: Ngôn ngữ VHDL quangkien82@gmail.comTrắc nghiệmCâu 1: Cấu trúc lệnh FOR .. GENERATE thường dùng trong trường hợp nàoDù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ậtDù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.com14/18Trắc nghiệmCâu 2: Bản chất của câu lệnh PROCESS trong VHDLTạ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.com15/17Trắc nghiệmCâ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 đươngMang lại kết quả thiết kế tối ưu hơnMã chương trình đơn giản và ngắn gọn hơnMô tả sát hơn cấu trúc của mạch và giảm thiểu khả năng gây lỗiGiả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.com16/18Trắc nghiệmCâu 4: Biến generic được sử dụng như thế nào trong thiết kế VHDLLà 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.com17/17Trắc nghiệmCâu 5: Phân biệt tác dụng của lệnh IF tuần tự và IF GENERATELệ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 songLệ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.com18/18
Các file đính kèm theo tài liệu này:
- lecture2_5_0485.pptx