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

73 341 1

Đ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 73
Dung lượng 2,22 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

b Các công cụ mô phỏng chấp nhận toàn bộ khái niệm của Verilog c Các công cụ tổng hợp công chỉ chấp nhận một phần các khái niệm của Verilog d Chỉ tập trung nghiên cứu một phần  Sử dụng

Trang 1

LỜI NÓI ĐẦU

Hiện nay các mạch tích hợp ngày càng thực hiện được nhiều chức năng hơn,

do đó chúng ngày càng trở nên phức tạp hơn Các phương pháp thiết kế mạchtruyền thống như dùng tối thiểu hoá hàm Boolean hay dùng sơ đồ các phần tửkhông còn đáp ứng được các yêu cầu đặt ra khi thiết kế Hơn nữa các mạch thiết

kế ra yêu cầu phải được thử nghiệm kỹ lưỡng trước khi đưa vào chế tạo hàng loạt

Mặt khác cần phải xây dựng một bộ tài liệu hướng dẫn vận hành hệ thốnghoàn chỉnh dễ hiểu và thống nhất Chúng ta đã làm việc với một số chương trìnhphần mềm hỗ trợ cho việc thực hiện mô tả mạch hay hiểu được cách thiết kếmạch Ví dụ: Proteus, HDL,VHDL, Verilog…Trong phần này chúng ta sử dụnghai ngôn ngữ phần cứng chuẩn công nghiệp là VHDL và Verilog Cả hai ngôn ngữnày đều được sử dụng rộng rãi và đã được IEE chấp nhận

Dưới đây là bài viết : “Tổng quan về HDL, VHDL, Verilog và thiết kế bộ đếmđến 8 dùng Verilog” Bài viết này sẽ giúp chúng ta hiểu một cách tổng quan nhất

về HDL, VHDL, Verilog và biết cách thiết kế bộ đếm đến 8 sử dụng Verilog,thông qua phần mềm Quatus II

Trang 2

PHẦN I: TỔNG QUAN VỀ HDL VERILOG 5

1.1.GIỚI THIỆU VỀ HDL VÀ VERILOG : 5

1.1.1.Lịch sử phát triển HDL: 5

1.1.2.Giới thiệu về HDLs: 6

1.1.3.Verilog HDL: 6

1.2.N GÔN NGỮ ĐẶC TẢ PHẦN CỨNG (HDL): 7

1.3.P HƯƠNG PHÁP LUẬN THIẾT KẾ HDL: 8

1.3.1.Design spelification ( thiết kế ý niệm): 9

1.3.2.Thiết kế phân hoạch ( design partition): 10

1.3.3.Design Entry: 11

1.3.4.Mô phỏng và kiểm tra chức năng ( Simulation and function verification) 12

1.3.5.Thiết kế tích hợp và kiểm tra ( design integration and verification) 12

1.3.6.Presynthesis Sign – off: 12

1.3.7.Tổng hợp mức cổng và ánh xạ công nghệ (Gate – level synthesis and technology mapping) 13

1.3.8.Thiết kế sau tổng hợp ( Post – synthesis design validation): 13

1.3.9 Kiểm tra thời gian sau tổng hợp ( Post – synthesis timing verification): 15

1.3.10.Kiểm tra sản phẩm và mô phỏng lỗi ( test generation and fault simulation) 15

1.3.11.Sắp đặt và nối dây ( placement ang routing) 15

1.3.12 Kiểm tra vật lý và điện ( Physical and electrical design rule checks) 16

1.3.13.Loại bỏ ký sinh ( Parasitic extraction) 17

1.3.14.Design sign – off: 17

1.4.M Ô HÌNH CẤU TRÚC VÀ MÔ HÌNH HÀNH VI TRONG HDL S : 17

1.5.N HỮNG NGUY HIỂM TRONG THIẾT KẾ V ERILOG : 18

1.6.M Ô HÌNH CẤU TRÚC CHO MẠCH LUẬN LÝ TỔ HỢP : 19

1.6.1.Mô hình mạch tổ hợp 19

1.6.2.Mô hình cấu trúc mạch tổ hợp 19

1.6.3.Verilog primitives 20

1.6.4.Mô hình cấu trúc trong Verilog 21

1.6.5.Module ports 22

1.6.6.Quy tắt trong Verilog 22

1.6.7.Thiết kế từ trên xuống (top-down) 23

1.6.8.Binary full adder 23

Trang 3

1.6.9.Thiết kế phân cấp và tổ chức mã nguồn 24

1.6.10.Mạch cộng 16-bit ripple carry 24

1.6.11.Cây phân cấp mạch cộng 16-bit ripple carry 25

1.6.12.Hiện thực mạch cộng 16-bit ripple carry 25

1.6.13.Vectors trong Verilog 25

1.7.M Ô PHỎNG LUẬN LÝ , KIỂM CHỨNG THIẾT KẾ VÀ PHƯƠNG PHÁP LUẬN KIỂM TRA 26

1.7.1.Các giá trị luận lý trong Verilog 26

1.7.2.Phương pháp luận kiểm tra 26

1.8.T HỜI GIAN TRỄ TRUYỀN LAN 27

1.8.1.Thời gian trễ truyền lan 27

1.8.2.Các loại trễ lan truyền 28

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 29

1.9.1.Bảng sự thật trong verilog 29

PHẦN II: TỔNG QUAN VỀ VHDL 31

2.1 G IỚI THIỆU VỀ NGÔN NGỮ MÔ TẢ PHẦN CỨNG VHDL 31

2.2 C ẤU TRÚC MỘT MÔ HÌNH HỆ THỐNG MÔ TẢ BẰNG VHDL 33

2.2.1 Thực thế (entity) của mô hình 33

2.2.2.cấu trúc (Arrchitecture) 35

2.2.3 Cấu hình 37

2.2.4 Môi trường kiểm tra 37

2.3 M Ô TẢ HÀNH VI 38

2.4 MÔ TẢ LUỒNG DỮ LIỆU 40

2.5.C HƯƠNG TRÌNH CON VÀ GÓI 41

2.5.1 Thủ tục 41

2.5.2 hàm 44

2.5.3 gói 44

2.6.Đ ỐI TƯƠNG DỮ LIỆU , KIỂU DỮ LIỆU 47

2.6.1 Đối tượng dữ liệu 47

2.6.2 Hằng 47

2.6.3 Biến 47

2.6.4 Tín hiệu 48

2.7 K IỂU DỮ LIỆU 49

2.7.1 Các kiểu dữ liệu tiền định nghĩa 49

Trang 4

2.7.2 Các kiểu dữ liệu vô hướng 50

2.7.3.Kiểu liệt kê 50

2.7.3.1.Kiểu số nguyên 51

2.7.3.3.Kiểu số thực 51

2.7.3.4.Kiểu giá trị đại lượng vật lý 51

2.7.4 Dữ liệu phức hợp 52

2.8 T OÁN TỬ VÀ BIỂU THỨC 52

2.8.1 Toán logic 52

2.8.2.Các phép toán quan hệ 53

2.8.3 Các phép toán dịch 53

2.8.4 Các phép toán cộng trừ và hợp 53

2.8.5.Các phép dấu 54

2.8.6.Các phép toán nhân chia ,lấy dư 54

2.8.7 Các phép toán khác 55

CHƯƠNG 3: TỔNG QUAN VỀ FPGA 56

3.1.FPGA LÀ GÌ? 56

3.2 LỊCH SỬ RA ĐỜI FPGA: 58

3.3.ỨNG DỤNG 59

3.4.A I SẢN XUẤT FPGA: 59

3.4.1 ALTERA: 60

3.4.2 Lattice, Actel, Quicklogic 60

3.4.3 Đặc điểm của FPGA 60

3.4.4 FPGA HOẠT ĐỘNG NHƯ THẾ NÀO 61

3.4.5 Các chân tính năng đặc biệt 62

3.4.6 Các chân dành cho người sử dụng 62

3.4.7 Khối logic bên trong 63

3.4.8.RAM nội : 63

3.5 CẤU TRÚC MỘT FPGA 63

3.5.1 Khối logic FPGA 64

3.6 C ÁC PHẦN TỬ TÍCH HỢP SẴN 65

3.6.1.Mô tả ban đầu về thiết kế 66

3.6.2.Thực thi 68

3.6.3 Quá trình Nạp (download) và lập trình (program) 69

Trang 5

PHẦN I: TỔNG QUAN VỀ HDL VERILOG.

1.1.Giới thiệu về HDL và verilog:

1.1.1.Lịch sử phát triển HDL:

 ISP (circa 1977) – dự án nghiên cứu CMU (Carnegie Mellon University)

 Mô phỏng nhưng không tổng hợp

 Abel (circa 1983) – được triển bởi Data-I/O

 Mục tiêu dùng cho các thiết bị luận lý khả lập trình

 Không tốt cho máy trạng thái

a) Verilog ( circa 1985) – phát triển bởi Gateway ( now Cadence)

 Đặc tả được đưa ra từ 1985

 Ban đầu được phát triển cho mô phỏng, tương tự C và Pascal

 Hiệu quả và 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)

Trang 6

 Verilog-2001 standard

b) VHDL (circa 1987) - DoD sponsored standard

 Dưa trên VHSIC phát triển bởi DARPA

 Tương tự như Ada (Nhấn mạnh vào tái sử dụng và bảo trì)

Ngữ nghĩa phỏng mô rõ ràng

 Rất tổng quát nhưng dài dòng

 Được IEEE chuẩn hóa

 Biên dịch để kiểm tra cú pháp (syntax)

 Mô phỏng để kiểm tra chức năng của mạch

Trang 7

1.1.3.Verilog HDL:

a) Verilog là một ngôn ngữ lớn

 Có nhiều tính năng cho tổng hợp và mô phỏng phần cứng

 Có thể biểu diễn những đặc trưng mức thấp

 Transistor

Có thể hoạt động như ngôn ngữ lập trình

 Cấu trúc lặp

 Cấu trúc điều khiển…

b) Các công cụ mô phỏng chấp nhận toàn bộ khái niệm của Verilog

c) Các công cụ tổng hợp công chỉ chấp nhận một phần các khái niệm của

Verilog

d) Chỉ tập trung nghiên cứu một phần

 Sử dụng ở một mức thích hợp

 Tập trung trên những cấu trúc tổng hợp được

 Tập trung tránh những cấu trúc gây khi tổng hợp

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 và hoạt động của một vi mạch

 Dùng mô phỏng, kiểm tra hoạt động của vi mạch

 Biểu diễn hành vi theo thời gian và cấu trúc không gian của mạch

Trang 8

 Bao gồm những ký hiệu biểu diễn thời trang và sự đồng thời ( time andconcurrence).

 Được sử dụng rộng rãi trong công nghiệp

 Theo chuẩn IEEE (Institute of Electrical and ElectronicsEngineerings)

 Được hỗ trợ bởi các công cụ tổng hợp ASIC (appilcationspecificintegrated circuits) và FPGA (field-programmable gate arrays)

Trang 9

1.3.Phương pháp luận thiết kế HDL:

Kiểm tra: thiết kế đã đúng yêu cầu chưa?

Timing: Waveform Behavior

 Dưới đây là lưu đồ thiết kế ASICs bằng HDL:

Trang 10

1.3.1.Design spelification ( thiết kế ý niệm):

Trang 11

 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 được phân chia thành các mạch nhỏ hơn

 Mỗi mạch nhỏ này được đặc tả bằng HDL

 Mỗi mạch nhỏ có thể được tổng hợp trong thời gian chấp nhận được

 Phương pháp thiết kế từ trên xuống ( top – down design/ hierarchicaldesign)

Trang 12

1.3.3.Design Entry:

 Đặc tả thiết kế theo một dạng chuẩn

 Ngày nay dùng HDL

 Mô hình hành vi (behavioral modeling)

 Được sử dụng nhiều trong công nghiệp

 Chỉ ra mạch sẽ thực hiện chức năng gì

 Không cần chỉ ra xây dựng phần cứng như thế nào

 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ế

Trang 13

 Kiểm tra chức năng: Sử dụng những công cụ tổng hợp tối ưu vàánh xạ thiết kế vào một công nghệ.

1.3.4.Mô phỏng và kiểm tra chức năng ( Simulation and function verification).

 Quay về bước 3 nếu phát hiện lỗi

 Ba bước tiến hành kiểm tra

 Lập kế hoạch kiểm tra: chức năng nào cần kiểm tra và kiểm ra thếnào?

 Thiết kế mẫu kiểm tra ( testbench)

 Thực hiện kiểm tra

1.3.5.Thiết kế tích hợp và kiểm tra ( design integration and verification).

 Các mạch nhỏ được tích hợp lại và kiểm tra

Trang 14

1.3.6.Presynthesis Sign – off:

 Bảo đảm tất cả các chức năng được thể hiện trong testbench

 Bảo đảm những khác biệt giữa các chức năng biểu diễn bằng mô hình hành

vi và thiết kế được giải quyết hoàn toàn

 Sign – off được thực hiện sau khi tất cả các lỗi chức năng đã giải quyếtxong

1.3.7.Tổng hợp mức cổng và ánh xạ công nghệ (Gate – level synthesis and

1.3.8.Thiết kế sau tổng hợp ( Post – synthesis design validation):

 Bộ so sánh được thực hiện bằng phần mềm hoặc bằng đồ họa

Trang 15

 Tìm hiểu và giải quyết sự khác biệt một cách cẩn thận.

 Verilog behavioral description: Phần mô tả hành vi của verilog

 Logic Synthesis: logic tổng hợp

 Gate – level description: Phần mô tả mức cổng

 Stimulus generation: máy kích thích

 Testbench for post – synthesis design validation: Mẫu kiểm tra cho thiết kếsau tổng hợp

Trang 16

 Response Comparation: Đáp ứng lại sự so sánh.

 Check signal: Kiểm tra tín hiệu

1.3.9 Kiểm tra thời gian sau tổng hợp ( Post – synthesis timing verification):

 Thời gian trên mạch phải phù hợp với thiết kế trên những đường then chốt(critical path)

 Bước này được lặp lại sau bước loại bỏ điện dung không mong muốn( parasitic extraction)

 Thực hiện tổng hợp lại nếu thời gian không phù hợp với thiết kế

 Thay đổi kích thước transitor

 Thay đổi kiến trúc mạch

 Thay đổi công nghệ

1.3.10.Kiểm tra sản phẩm và mô phỏng lỗi ( test generation and fault

Trang 17

1.3.11.Sắp đặt và nối dây ( placement ang routing).

 Sắp xếp các linh kiện (cell) lên một vùng giới hạn và kết nối các đường tínhiệu giữa chúng

 Chèn tín hiệu clock vào mạch sao cho không xảy ra lệch xung clock ( clockskew)

1.3.12 Kiểm tra vật lý và điện ( Physical and electrical design rule checks).

 Layout vật lý của thiết kế phải được kiểm tra các ràng buộc

 Độ dày vật liệu ( material width)

 Chồng lấp ( overlap)

 Tách biệt ( separation)

+ Kiểm tra điện:

 Fan – out

Trang 18

 Các tín hiệu không trỗn lẫn với nhau (compromise).

 Nhiễu

 Tiêu hao năng lượng

1.3.13.Loại bỏ ký sinh ( Parasitic extraction)

 Điện dung ký sinh ( Parasitic capacitance)

 Không có trong thiết kế

 Ảnh hưởng xấu đến hoạt động của mạch

 Làm giảm băng thông

 Sử dụng phần mềm để tạo ra các kiểm tra chính xác về các đặc tính điện vàthời gian ( electrical characteristics and timing performance)

1.3.14.Design sign – off:

 Các ràng buộc được thỏa mãn

 Đặc tả bao gồm hình dạng hình học cho quá trình sản xuất

 Các tài nguyên được mở rộng để chip sản xuất ra thỏa mãn thiết kế vềhiệu suất và chức năng

Trang 19

1.4.Mô hình cấu trúc và mô hình hành vi trong HDLs:

a) Cấu trúc (Structural) chỉ tra cấu trúc phần cứng thật sự của mạch

 Mức trừu tượng thấp

 Các cổng cơ bản ( ví dụ and, or, not)

 Cấu trúc phân cấp thông qua các module

 Tương tự lập trình hợp ngữ

b) Hành vi (Behavioral) chỉ ra hoạt động của mạch

c) trên các bits

 Mức trừu tượng cao hơn

 Biểu diễn bằng các biểu thức (ví dụ out = (a & b) | c)

 Không phải tất cả các đặc tả hành đều tổng hợp được

 Không sử dụng: + - * / % > >= < <= >> <<

1.5.Những nguy hiểm trong thiết kế Verilog:

 Chương trình tuần tự, bộ tổng hợp có thể sẽ phải thêm phần nhiều chi tiết cứng

Trang 20

 Tạo ra nhiều trạng thái không dự dịnh trước

 Các biểu thức Boolean đơn giản

 Mô hình chuyển đổi mức thanh ghi ( Register Transfer Level – RTL)

 Một giải thuật

Trang 21

 Primitives là các đối tượng cơ bản có thể được sử dụng trong thiết kế

 26 đối tượng chức năng được định nghĩa trước

Trang 22

1.6.4.Mô hình cấu trúc trong Verilog.

 Module

Ví dụ:

Trang 23

1.6.5.Module ports.

a) Giao tiếp với “môi trường” bên ngoài

b) Kiểu của port quyết định chiều truyền liệu

Trang 24

c) Kiểu của module port phải được khai báo tường minh và không cần theo thứ tự xuất hiện trong port list

1.6.6.Quy tắt trong Verilog

 Phân biệt chữ hoa thường (Case sensitive)

 Identifier: a-z, A-Z, 0-9, ‘_’ và ‘$’

 Tên biến không được bắt đầu bằng ‘$’ hay ký số và có thể tối đa là 1024 kýtự

 Có thể viết các phát biểu trên một dòng hay nhiều dòng

1.6.7.Thiết kế từ trên xuống (top-down)

a) Hệ thống phức tạp được phân chia thành những đơn vị chức năng nhỏ hơn

 Dễ thiết kế

 Dễ kiểm tra

b) Các module lồng nhau trong Verilog hỗ trợ thiết kế từ trên xuống

c) Module tham khảo đến module khác được gọi là module “cha”, moduleđược module khác tham khảo đến gọi là module “con”

d) Độ sâu của các module lồng nhau không giới hạn

Trang 25

e) Mỗi module con phải có tên duy nhất trong phạm vi module cha (trừ cácprimitives)

1.6.8.Binary full adder

1.6.9.Thiết kế phân cấp và tổ chức mã nguồn

 Top-level module là module ở cấp cao nhhất

 Module ở mức thấp nhất

 Chứa các primitives

 Các module không phân chia nhỏ hơn

 Tất cả các module được đặt trong một hay nhiều tập tin khác nhau

Trang 26

 Công cụ mô phỏng tích hợp các module từ các tập tin

1.6.10.Mạch cộng 16-bit ripple carry

Trang 27

1.6.11.Cây phân cấp mạch cộng 16-bit ripple carry.

1.6.12.Hiện thực mạch cộng 16-bit ripple carry.

1.6.13.Vectors trong Verilog.

 Một vector được biểu diễn bằng ngoặc vuông chứa dãy liên tiếp các bit

 sum[3:0] vector sum kích thước 4 bit

Trang 28

 Bit trái nhất là MSB

 Bit phải nhất là LSB

 Có thể truy xuất từng bit hay từng dãy bit trong vector

 sum[1] bit thứ 2 từ phải sang của sum

 sum[2:1] bit thứ 2 và 3 từ phải sang của sum

 sum[4] giá trị x (không xác định)

Có thể gán, so sánh 2 vector với nhau

1.7.Mô phỏng luận lý, kiểm chứng thiết kế và phương pháp luận kiểm tra

1.7.1.Các giá trị luận lý trong Verilog.

Trang 29

1.7.2.Phương pháp luận kiểm tra.

a) Kiểm tra mạch thực hiện đúng chức năng

 Kiểm tra ngẫu nhiên phức tạp và không chính xác

 Cần lập kế hoạch kiểm tra tỉ mỉ

 Kiểm tra mạch lớn

b) Kiểm tra tất cả các 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 một số trường hợp để kiểm tra kết nối của các

 Add_rca_4 trong Add_rca_16

 Kiểm tra theo chiều ngược so với cây 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õ ra không thay đổi ngay lập tức

 Các phần tử cơ bản của verilog có thời gian trễ là 0

 Các vi mạch thực tế được sản xuất dựa trên các thư viện chuẩn được định nghĩa trước

Trang 30

 Người thiết kế chỉ quan tâm đến tính đúng đắn của mạch

 Sử dụng các công cụ tổng hợp để hiện thực các thiết kế thỏa mãn các ràng buộc thời gian

‘timescale <time_unit base>/<precision base>

 Chỉ thị biên dịch

 Chỉ ra đơn vị thời gian và độ chính xác thời gian trễ

 Phải được khai báo trước khi các module

Ví dụ: Timecase

Trang 31

1.8.2.Các loại trễ lan truyền.

Trễ quán tính (inertial delay)

Trễ truyền (transport delay)

 Gây ra do các dây nối

Trang 32

 Dùng kí hiệu ‘?’ thay cho 0, 1, x

 Thứ tự các cột trong <input_list> tương ứng với thứ tự trong khai báo input của module

 Mạch tổ hợp

 <input_list>:<output>

 Mạch tuần tự

 <input_list>:<state>:<output/next_state>

 Ngõ ra phải được khai báo kiểu thanh ghi

 Dùng kí hiệu ‘-’ biểu diễn ngõ ra không thay đổi

Trang 33

PHẦN II: TỔNG QUAN VỀ VHDL

2.1 Giới thiệu về ngôn ngữ mô tả phần cứng VHDL

 VHDL là ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độcao, là một loại ngôn ngữ mô tả phần cứng được phát triển cho chươngtrình VHSIC ( Very High Speed Itergrated Circuit) của bộ quốc phòng

Mỹ Mục tiêu của việc phát triển VHDL là có được một ngôn ngữ môphỏng phần cứng tiêu chuẩn và thống nhất cho phép thử nghiệm các hệthống số nhanh hơn cũng như cho phép dễ dàng đưa các hệ thống đó vàoứng dụng trong thực tế

 VHDL được phát triển như một ngôn ngữ độc lập không gắn với bất

kỳ một phương pháp thiết kế, một bộ mô tả hay công nghệ phần cứng nào.Người thiết kế có thể tự do lựa chọn công nghệ, phương pháp thiết kế trongkhi chỉ sử dụng một ngôn ngữ duy nhất Và khi đem so sánh với các ngônngữ mô phỏng phần cứng khác đã kể ra ở trên ta thấy VHDL có một số ưuđiểm hơn hẳn các ngôn ngữ khác:

Thứ nhất là tính công cộng: VHDL được phát triển dưới sự bảo trợ

của chính phủ Mỹ và hiện nay là một tiêu chuẩn của IEEE VHDL được sự

Trang 34

hỗ trợ của nhiều nhà sản xuất thiết bị cũng như nhiều nhà cung cấp công cụthiết kế mô phỏng hệ thống

Thứ hai là khả năng hỗ trợ nhiều công nghệ và phương pháp thiết

kế VHDL cho phép thiết kế bằng nhiều phương pháp ví dụ phương phápthiết kế từ trên xuống, hay từ dưới lên dựa vào các thư viện sẵn có VHDLcũng hỗ trợ cho nhiều loại công cụ xây dựng mạch như sử dụng côngnghệ đồng bộ hay không đồng bộ, sử dụng ma trận lập trình đượchay sử dụng mảng ngẫu nhiên

Thứ ba là tính độc lập với công nghệ: VHDL hoàn toà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 có thể được chuyển thành các bản tổng hợp mạch khác nhau tuỳthuộc công nghệ chế tạo phần cứng mới ra đời nó có thể được áp dụngngay cho các hệ thống đã thiết kế

Thứ tư là khả năng mô tả mở rộng: VHDL cho phép mô tả hoạt động

của phần cứng từ mức hệ thống số cho đến mức cổng VHDL có khả năng

mô tả hoạt động của hệ thống trên nhiều mức nhưng chỉ sử dụng một cúpháp chặt chẽ thống nhất cho mọi mức Như thế ta có thể mô phỏng mộtbản thiết kế bao gồm cả các hệ con được mô tả chi tiết

Trang 35

Thứ năm là khả năng trao đổi kết quả: Vì VHDL là một tiêu chuẩn

được chấp nhận, nên một mô hình VHDL có thể chạy trên mọi bộ mô tảđáp ứng được tiêu chuẩn VHDL Các kết quả mô tả hệ thống có thể đượctrao đổi giữa các nhà thiết kế sử dụng công cụ thiết kế khác nhau nhưngcùng tuân theo tiêu chuẩn VHDL Cũng như một nhóm thiết kế có thể traođổi mô tả mức cao của các hệ thống con trong một hệ thống lớn (trong đócác hệ con đó được thiết kế độc lập)

Thứ sáu là khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại

các thiết kế: VHDL được phát triển như một ngôn ngữ lập trình bậc cao, vìvậy nó có thể được sử dụng để thiết kế một hệ thống lớn với sự tham giacủa một nhóm nhiều người Bên trong ngôn ngữ VHDL có nhiều tính năng

hỗ trợ việc quản lý, thử nghiệm và chia sẻ thiết kế Và nó cũng cho phépdùng lại các phần đã có sẵn

2.2 Cấu trúc một mô hình hệ thống mô tả bằng VHDL.

 Thông thường một mô hình VHDL bao gồm ba phần: thực thể, kiếntrúc và các cấu hình Đôi khi ta xử dụng các gói( packages) và mô hìnhkiểm tra hoạt động của hệ thống( testbench)

Trang 36

2.2.1 Thực thế (entity) của mô hình

 Phần khai báo thực thể chỉ rõ TÊN của thực thể và liệt kê các lối vào và ra

và có dạng chung như sau

Entity tên_thực_thể is

Generic (khai báo generic);

Port (khai báo các tín hiệu vào ra);

End tên_thực_thể;

 Một thực thể luôn bắt đầu với từ khóa entity, theo sau là tên của thực thể và

từ khóa is Rồi đến các khai báo cổng với từ khóa port Một thực thể luônkết thúc với từ khóa end và tên của thực thể

 Tên thực thể là tên của thực thể do người dùng đặt

 Các tín hiệu vào ra: tên của các tín hiệu do người dung đặt, ngăn cách vớinhau bởi dấu phẩy, chỉ ra các tín hiệu nối với bên ngoài

 Các chế độ của tín hiệu khai báo trong “port”: chỉ ra chiều của tín hiệu, cócác mode sau:

in: chỉ ra rằng tín hiệu là một tín hiệu vào.

out: chỉ ra rằng tín hiệu là một tín hiệu ra khỏi thực thể và chỉ các thực thể

khác dùng đến tín hiệu này mới có thể đọc giá trị của nó

Ngày đăng: 03/08/2020, 23:56

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w