1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tổng quan về HDL, VHDL, verilog và thiết kế bộ đếm đến 8 dùng verilog

33 187 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 1,28 MB

Nội dung

MỤC LỤC YYYYY YYYYY LỜI NÓI ĐẦU TỔNG QUAN VỀ HDL, VHDL, VERILOG VÀ THIẾT KẾ BỘ ĐẾM ĐẾN DÙNG VERILOG PHẦN I: TỔNG QUAN VỀ HDL VERILOG 1.6.7.Thiết kế từ xuống (top-down) 19 PHẦN II: TỔNG QUAN VỀ VHDL 27 2.1 Giới thiệu ngôn ngữ mô tả phần cứng VHDL 27 2.2.2 Cấu trúc mơ hình hệ thống mô tả VHDL 29 2.2.1 Thực (entity) mơ hình 30 2.2.2 Kiến trúc mơ hình 31 LỜI NĨI ĐẦU Hiện mạch tích hợp ngày thực nhiều chức hơn, chúng ngày trở nên phức tạp Các phương pháp thiết kế mạch truyền thống dùng tối thiểu hoá hàm Boolean hay dùng sơ đồ phần tử khơng cịn đáp ứng u cầu đặt thiết kế Hơn mạch thiết kế yêu cầu phải thử nghiệm kỹ lưỡng trước đưa vào chế tạo hàng loạt Mặt khác cần phải xây dựng tài liệu hướng dẫn vận hành hệ thống hoàn chỉnh dễ hiểu thống Chúng ta làm việc với số chương trình phần mềm hỗ trợ cho việc thực mô tả mạch hay hiểu cách thiết kế mạch Ví dụ: Proteus, HDL,VHDL, Verilog…Trong phần sử dụng hai ngôn ngữ phần cứng chuẩn công nghiệp VHDL Verilog Cả hai ngôn ngữ sử dụng rộng rãi IEE chấp nhận Dưới viết : “Tổng quan HDL, VHDL, Verilog thiết kế đếm đến dùng Verilog” Bài viết giúp hiểu cách tổng quan HDL, VHDL, Verilog biết cách thiết kế đếm đến sử dụng Verilog, thông qua phần mềm Quatus II TỔNG QUAN VỀ HDL, VHDL, VERILOG VÀ THIẾT KẾ BỘ ĐẾM ĐẾN DÙNG VERILOG PHẦN I: TỔNG QUAN VỀ HDL VERILOG 1.1 Giới thiệu HDL verilog: Lịch sử phát triển HDL: a) ISP (circa 1977) – dự án nghiên cứu CMU (Carnegie Mellon 1.1.1 University)  Mô không tổng hợp b) Abel (circa 1983) – triển Data-I/O  Mục tiêu dùng cho thiết bị luận lý khả lập trình  Khơng tốt cho máy trạng thái c) Verilog ( circa 1985) – phát triển Gateway ( now Cadence)  Đặc tả đưa từ 1985  Ban đầu phát triển cho mô phỏng, tương tự C Pascal  Hiệu dễ viết  Berkeley phát triển công cụ tổng hợp vào thập niên 80  Được IEEE chuẩn hóa • Verilog standardized (Verilog-1995 standard) • Verilog-2001 standard d) VHDL (circa 1987) - DoD sponsored standard  Dưa VHSIC phát triển DARPA  Tương tự Ada (Nhấn mạnh vào tái sử dụng bảo trì)  Ngữ nghĩa mơ rõ ràng  Rất tổng quát dài dòng  Được IEEE chuẩn hóa • VHDL standardized (’87 and ’93)  Cấu trúc nghiêm ngặt 1.1.2 Giới thiệu HDLs: a) HDLs (Hardware Description Languages)  Không ngôn ngữ lập trình  Tựa C  Thêm chức mơ hình hóa, mơ chức  Verilog vs VHDL b) Các bước thiết kế HDL  Mô tả mạch từ khóa  Biên dịch để kiểm tra cú pháp (syntax) c) Mô để kiểm tra chức mạch Verilog HDL: Verilog ngôn ngữ lớn Có nhiều tính cho tổng hợp mơ phần cứng Có thể biểu diễn đặc trưng mức thấp Transistor Có thể hoạt động ngơn ngữ lập trình Cấu trúc lặp Cấu trúc điều khiển… Các cơng cụ mơ chấp nhận tồn khái niệm Verilog Các công cụ tổng hợp công chấp nhận phần khái niệm d)    Verilog Chỉ tập trung nghiên cứu phần Sử dụng mức thích hợp Tập trung cấu trúc tổng hợp Tập trung tránh cấu trúc gây tổng hợp  1.1.3 a)   •  • • b) 1.2 Ngơn ngữ đặc tả phần cứng (HDL):  Là ngôn ngữ thuộc lớp ngơn ngữ máy tính ( computer language)  Dùng để miêu tả cấu trúc hoạt động vi mạch  Dùng mô phỏng, kiểm tra hoạt động vi mạch  Biểu diễn hành vi theo thời gian cấu trúc không gian mạch  Bao gồm ký hiệu biểu diễn thời trang đồng thời ( time and concurrence)  Ưu điểm:  Dễ quản lý mạch lớn phức tạp  Uyển chuyển độc lập với công nghệ  Cho phép tái sử dụng thiết kế có sẵn  Mạch dược tổng hợp tự động từ đặc tả  VerilogTM & VHDL  Được sử dụng rộng rãi công nghiệp  Theo chuẩn IEEE (Institute of Electrical and Electronics Engineerings)  Được hỗ trợ công cụ tổng hợp ASIC (appilcationspecific integrated circuits) FPGA (fieldprogrammable gate arrays) 1.3 Phương pháp luận thiết kế HDL: Kiểm tra: thiết kế yêu cầu chưa? Ánh xạ đặc tả thành thực Chức năng: Hành vi I/O Mức ghi (Kiến trúc) Mức lý luận (Cổng) Mức transistor (Điển tử) Timing: Waveform Behavior  Dưới lưu đồ thiết kế ASICs HDL: 1.3.1 Design spelification ( thiết kế ý niệm):  Đặc tả chi tiết:  Chức  Thời gian  Năng lượng tiêu hao  Biểu diễn:  Đồ thị trạng thái ( state transation graph)  Máy trạng thái (algorithmic state machine)  Ngôn ngữ cấp cao: system C , superLog… 1.3.2 Thiết kế phân hoạch ( design partition):  Mạch lớn phân chia thành mạch nhỏ  Mỗi mạch nhỏ đặc tả HDL  Mỗi mạch nhỏ tổng hợp thời gian chấp nhận  Phương pháp thiết kế từ xuống ( top – down design/ hierarchical design) 1.3.3 Design Entry:  Đặc tả thiết kế theo dạng chuẩn  Ngày dùng HDL  Mơ hình hành vi (behavioral modeling)  Được sử dụng nhiều công nghiệp  Chỉ mạch thực chức  Khơng cần xây dựng phần cứng  Các bước thiết kế dùng mơ hình hành vi:  Tạo hành vi nguyên mẫu cho thiết kế  Kiểm tra chức năng: Sử dụng công cụ tổng hợp tối ưu ánh xạ thiết kế vào công nghệ 1.3.4 Mô kiểm tra chức ( Simulation and function verification)  Quay bước phát lỗi  Ba bước tiến hành kiểm tra  Lập kế hoạch kiểm tra: chức cần kiểm tra kiểm nào?  Thiết kế mẫu kiểm tra ( testbench)  Thực kiểm tra 1.3.5 Thiết kế tích hợp kiểm tra ( design integration and verification)  Các mạch nhỏ tích hợp lại kiểm tra  Chức năng:  Cần có testbench riêng kiểm tra chức ngõ nhập – xuất hoạt động bus…  Đây bước định phải thực hoàn hảo để đảm bảo tính đắn q trình tổng hợp 1.3.6 Presynthesis Sign – off:  Bảo đảm tất chức thể testbench  Bảo đảm khác biệt chức biểu diễn mơ hình hành vi thiết kế giải hoàn toàn  Sign – off thực sau tất lỗi chức giải xong 1.3.7 Tổng hợp mức cổng ánh xạ công nghệ (Gate – level synthesis and technology mapping)  Sử dụng công cụ tổng hợp để tạo biểu diễn luận lý tối ưu thực theo cơng nghệ có  Cơng cụ tối ưu loại bỏ dư thừa giảm diện tích mạch logic cần dùng để thực 10 b) • • • • • c) Kiểu port định chiều truyền liệu Một chiều (Unidirectional) input output Hai chiều (Bidirectional) inout Kiểu module port phải khai báo tường minh không cần theo thứ tự xuất port list 1.6.6 Quy tắt Verilog  Phân biệt chữ hoa thường (Case sensitive)  Identifier: a-z, A-Z, 0-9, ‘_’ ‘$’  Tên biến không bắt đầu ‘$’ hay ký số tối đa 1024 ký tự  Một phát biểu kết thúc ‘;’  Chú thích • ‘//’ dịng thích • /*…*/ thích nhiều dịng  Các identifiers có phạm vi định  Có thể viết phát biểu dòng hay nhiều dòng 1.6.7 Thiết kế từ xuống (top-down) a) Hệ thống phức tạp phân chia thành đơn vị chức nhỏ  Dễ thiết kế  Dễ kiểm tra b) Các module lồng Verilog hỗ trợ thiết kế từ xuống c) Module tham khảo đến module khác gọi module “cha”, module module khác tham khảo đến gọi module “con” 19 d) Độ sâu module lồng không giới hạn e) Mỗi module phải có tên phạm vi module cha (trừ primitives) 1.6.8 Binary full adder 1.6.9 Thiết kế phân cấp tổ chức mã nguồn  Top-level module module cấp cao nhhất  Module mức thấp • Chứa primitives • Các module không phân chia nhỏ 20  Tất module đặt hay nhiều tập tin khác  Cơng cụ mơ tích hợp module từ tập tin 1.6.10 Mạch cộng 16-bit ripple carry 1.6.11 Cây phân cấp mạch cộng 16-bit ripple carry 21 1.6.12 Hiện thực mạch cộng 16-bit ripple carry 1.6.13 Vectors Verilog 22  Một vector biểu diễn ngoặc vng chứa dãy liên tiếp bit • sum[3:0] vector sum kích thước bit  Bit trái MSB  Bit phải LSB  Có thể truy xuất bit hay dãy bit vector • sum[1] bit thứ từ phải sang sum • sum[2:1] bit thứ từ phải sang sum  sum[4] giá trị x (không xác định)  Có thể gán, so sánh vector với 1.7 Mô luận lý, kiểm chứng thiết kế phương pháp luận kiểm tra 1.7.1 Các giá trị luận lý Verilog 23 1.7.2 a)   b)    Phương pháp luận kiểm tra Kiểm tra mạch thực chức Kiểm tra ngẫu nhiên phức tạp khơng xác Cần lập kế hoạch kiểm tra tỉ mỉ • Kiểm tra mạch lớn Kiểm tra tất trường hợp Mạch cộng 16 bit cần kiểm tra 223 trường hợp Kiểm tra phân cấp  half_adder  full_adder  Add_rca_4 cần kiểm tra 29 trường hợp  Chọn số trường hợp để kiểm tra kết nối  Add_rca_4 Add_rca_16 Kiểm tra theo chiều ngược so với phân cấp thiết kế 1.8 Thời gian trễ truyền lan 1.8.1 Thời gian trễ truyền lan  Ngõ vào thay đổi ngõ không thay đổi 24  Các phần tử verilog có thời gian trễ  Các vi mạch thực tế sản xuất dựa thư viện chuẩn định nghĩa trước  Người thiết kế quan tâm đến tính đắn mạch  Sử dụng công cụ tổng hợp để thực thiết kế thỏa mãn ràng buộc thời gian  ‘timescale / • Chỉ thị biên dịch • Chỉ đơn vị thời gian độ xác thời gian trễ • Phải khai báo trước module Ví dụ: Timecase 1.8.2 Các loại trễ lan truyền  Trễ quán tính (inertial delay) 25  • • • • Trễ truyền (transport delay) Gây dây nối 0.033ns/1cm Có thể bỏ qua wire #2 long_wire 1.9 Mơ hình bảng thật cho mạch luận lý tổ hợp với verilog 1.9.1     Bảng thật verilog Table Ngõ phải có kiểu vơ hướng (scalar) Dùng kí hiệu ‘?’ thay cho 0, 1, x Thứ tự cột tương ứng với thứ tự khai báo input module  Mạch tổ hợp • :  Mạch • :: • Ngõ phải khai báo kiểu ghi • Dùng kí hiệu ‘-’ biểu diễn ngõ không thay đổi 26 PHẦN II: TỔNG QUAN VỀ VHDL 2.1 Giới thiệu ngôn ngữ mô tả phần cứng VHDL  VHDL ngôn ngữ mô tả phần cứng cho mạch tích hợp tốc độ cao, loại ngôn ngữ mô tả phần cứng phát triển cho chương trình VHSIC ( Very High Speed Itergrated Circuit) quốc phòng Mỹ Mục tiêu việc phát triển VHDL có ngơn ngữ mơ phần cứng tiêu chuẩn thống cho phép thử nghiệm hệ thống số nhanh cho phép dễ dàng đưa hệ thống vào ứng dụng thực tế 27  VHDL phát triển ngôn ngữ độc lập không gắn với phương pháp thiết kế, mô tả hay cơng nghệ phần cứng Người thiết kế tự lựa chọn công nghệ, phương pháp thiết kế sử dụng ngôn ngữ Và đem so sánh với ngôn ngữ mô phần cứng khác kể ta thấy VHDL có số ưu điểm hẳn ngơn ngữ khác:  Thứ tính cơng cộng: VHDL phát triển bảo trợ phủ Mỹ tiêu chuẩn IEEE VHDL hỗ trợ nhiều nhà sản xuất thiết bị nhiều nhà cung cấp công cụ thiết kế mô hệ thống  Thứ hai khả hỗ trợ nhiều công nghệ phương pháp thiết kế VHDL cho phép thiết kế nhiều phương pháp ví dụ phương pháp thiết kế từ xuống, hay từ lên dựa vào thư viện sẵn có VHDL hỗ trợ cho nhiều loại công cụ xây dựng mạch sử dụng công nghệ đồng hay không đồng bộ, sử dụng ma trận lập trình hay sử dụng mảng ngẫu nhiên  Thứ ba tính độc lập với cơng nghệ: VHDL hồn tồn độc lập với cơng nghệ chế tạo phần cứng Một mô tả hệ thống dùng VHDL thiết kế mức cổng chuyển thành tổng hợp mạch khác tuỳ thuộc công nghệ chế tạo phần cứng đời áp dụng cho hệ thống thiết kế 28  Thứ tư khả mô tả mở rộng: VHDL cho phép mô tả hoạt động phần cứng từ mức hệ thống số mức cổng VHDL có khả mơ tả hoạt động hệ thống nhiều mức sử dụng cú pháp chặt chẽ thống cho mức Như ta mơ thiết kế bao gồm hệ mô tả chi tiết  Thứ năm khả trao đổi kết quả: Vì VHDL tiêu chuẩn chấp nhận, nên mơ hình VHDL chạy mô tả đáp ứng tiêu chuẩn VHDL Các kết mơ tả hệ thống trao đổi nhà thiết kế sử dụng công cụ thiết kế khác tuân theo tiêu chuẩn VHDL Cũng nhóm thiết kế trao đổi mô tả mức cao hệ thống hệ thống lớn (trong hệ thiết kế độc lập)  Thứ sáu khả hỗ trợ thiết kế mức lớn khả sử dụng lại thiết kế: VHDL phát triển ngơn ngữ lập trình bậc cao, sử dụng để thiết kế hệ thống lớn với tham gia nhóm nhiều người Bên ngơn ngữ VHDL có nhiều tính hỗ trợ việc quản lý, thử nghiệm chia sẻ thiết kế Và cho phép dùng lại phần có sẵn 2.2.2 Cấu trúc mơ hình hệ thống mơ tả VHDL  Thơng thường mơ hình VHDL bao gồm ba phần: thực thể, kiến trúc cấu hình Đơi ta xử dụng gói( packages) mơ hình kiểm tra hoạt động hệ thống( testbench) 29 2.2.1 Thực (entity) mơ hình  Phần khai báo thực thể rõ TÊN thực thể liệt kê lối vào và có dạng chung sau Entity tên_thực_thể is Generic (khai báo generic); Port (khai báo tín hiệu vào ra); End tên_thực_thể;  Một thực thể ln bắt đầu với từ khóa entity, theo sau tên thực thể từ khóa is Rồi đến khai báo cổng với từ khóa port Một thực thể ln kết thúc với từ khóa end tên thực thể  Tên thực thể tên thực thể người dùng đặt  Các tín hiệu vào ra: tên tín hiệu người dung đặt, ngăn cách với dấu phẩy, tín hiệu nối với bên ngồi  Các chế độ tín hiệu khai báo “port”: chiều tín hiệu, có mode sau:  in: tín hiệu tín hiệu vào  out: tín hiệu tín hiệu khỏi thực thể thực thể khác dùng đến tín hiệu đọc giá trị  buffer: tín hiệu tín hiệu giá trị đọc bên thực thể  inout: tín hiệu tín hiệu vào tín hiệu 30 Ví dụ 1: ENTITY Adder IS declares the generic identifier n having a default value GENERIC (n: INTEGER := 4); PORT ( the vector size is downto since n is A, B: IN STD_LOGIC_VECTOR(n-1 DOWNTO 0); Cout: OUT STD_LOGIC; SUM: OUT STD_LOGIC_VECTOR(n-1 DOWNTO 0)); S: OUT STD_LOGIC); END Siren; 2.2.2 Kiến trúc mơ hình  Cấu trúc sau: ARCHITECTURE tên_architecture OF tên_entity IS [các phần khai báo:signal, component…] BEGIN [code] END tên_architecture;  Trong kiến trúc mơ hình khai báo tất thứ liên quan tới chương trình, có process, chương trình với lời gọi hàm component, khai báo signal câu lệnh 31 “port map” để kết nối thành phần có kiến trúc Nói chung ngơn ngũ C kiến trúc(architecture) thân chương trình ta Ví dụ : using a FOR-GENERATE statement to generate four instances of the full adder component for a 4-bit adder LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY Adder4 IS PORT ( Cin: IN STD_LOGIC; A, B: IN STD_LOGIC_VECTOR(3 DOWNTO 0); Cout: OUT STD_LOGIC; SUM: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END Adder4; ARCHITECTURE Structural OF Adder4 IS COMPONENT FA PORT ( ci, xi, yi: IN STD_LOGIC; co, si: OUT STD_LOGIC); END COMPONENT; 32 SIGNAL Carryv: STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN Carryv(0)

Ngày đăng: 04/08/2020, 01:07

HÌNH ẢNH LIÊN QUAN

1.6.4. Mô hình cấu trúc trong Verilog - Tổng quan về HDL, VHDL, verilog và thiết kế bộ đếm đến 8 dùng verilog
1.6.4. Mô hình cấu trúc trong Verilog (Trang 17)
1.9. Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với verilog. - Tổng quan về HDL, VHDL, verilog và thiết kế bộ đếm đến 8 dùng verilog
1.9. Mô hình bảng sự thật cho mạch luận lý tổ hợp và tuần tự với verilog (Trang 26)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w