NGÔN NGỮ LẬP TRÌNH VHDL,PHẦN MỀM QUARTUS VÀ KIT DE2 - Pdf 10

Trang 24
HVTH: Hà Minh Tân

CHƯƠNG 2 :
NGÔN NGỮ LẬP TRÌNH VHDL,
PHẦN MỀM QUARTUS VÀ KIT DE2

2.1 Giới thiệu môi trường thiết kế phần cứng và ngôn ngữ VHDL:
2.1.1 Môi trường thiết kế phần cứng ( Hardware Design Environments)
Để đáp ứng sự phát triển kỹ thuật số, các công cụ thết kế được trợ giúp bởi
máy tính (CAD – computer Aided Design) được đưa vào quá trình thiết kế phần
cứng. Hỗ trợ mạnh mẽ cho phương pháp thiết kế này là những ngôn ngữ mô tả
phần cứng (HDLs – Hardware Description Languages). Khái niệm HDLs đượ
c
ứng dụng rộng rãi trong thiết kế hệ thống số trong thời gian gần đây, dựa vào
HDLs, công cụ hỗ trợ cho thiết kế hệ thống số đã phát triển và được sử dụng nhiều
trong thiết kế phần cứng.
Quá trình thiết kế hệ thống số:

Ý tưởng thiết kế:

Trước tiên người thiết kế phần cứng phải có ý tưởng thiết kế. Sau đó, phát
triển ý tưởng thiết kế thành sơ đồ khối, lưu đồ, ngôn ngữ tự nhiên. Người thiết kế
chỉ ra toàn bộ chức năng từ đầu vào đến đầu ra mà không cần chi tiết phần cứng
hoặc kiến trúc của hệ thống dưới thiết kế.
Thiết kế đườ
ng dữ liệu:
Trong giai đoạn này người thiết kế chỉ rõ thanh ghi và các đơn vị logic.

lập trình được để chế tạo thành một mạch như yêu cầu. FPGAs chứa một số lượng
lớn các cổng logic, các thanh ghi, các mạch vào ra tốt độ cao.
Vi mạch CPLDs chứa nhiều khối chức năng và khối chức năng ra, liên kết
với nhau thông qua ma trận chuyển mạch. CPLDs là hệ thống tích hợp nhỏ từ 800
đến 10000 c
ổng nhưng có tốt độ cao, thiết kế đơn giản.
Trang 26
HVTH: Hà Minh Tân
Vi mạch Hard Wire lập trình bằng mặt nạ của SRAM – dựa trên nền tảng
của FPGAs. Các cổng của Hard Wire tương tự như FPGAs nhưng các phần tử
logic được liên kết bằng kim loại cố định nên kích thước nhỏ và giá thành thấp.
Serial PROMs là vi mạch nhớ có thể lập trình được một lần được sử dụng
để nạp dữ liệu cho SRAM FPGAs.
2.1.2 Các ngôn ngữ mô tả phần cứng:
Hiện nay có rất nhiề
u ngôn ngữ mô tả phần cứng được thiết kế cho mục
đích mô phỏng, thiết kế, kiểm tra:
AHPL
là một HDL mô tả dòng dữ liệu. Ngôn ngữ này sử dụng tín hiệu
đồng hồ để đồng bộ các phép gán dữ liệu cho các thanh ghi và các mạch lật nhưng
không hổ trợ các mạch không đồng bộ. Kiểu dữ liệu trong AHPL bị cố định và
hạn chế ở các kiểu bit, vector bit. Các thủ tục hay hàm chỉ thực hiện trong các đơn
vị luận lý tổ hợp.
CDL (Computer Design Language)
là ngôn ngữ mô tả dòng dữ liệu phát
triển trong trường học, không hỗ trợ phân cách thiết kế.
CONLAN (Consensus Language)
cho phép mô tả phân cách nhưng bị giới
hạn sử dụng tham khảo bên ngoài.
IDL (Interactive Design Language)

trong thực tế. Ngôn ngữ VHDL được ba công ty Intermetics, IBM và Texas
Instruments bắt đầu nghiên cứu phát tri
ển vào tháng 7 năm 1983. Phiên bản ưu
tiên được công bố vào tháng 8-1985. Sau đó VHDL được đề xuất để tổ chức IEEE
xem xét thành một tiêu chuẩn chung. Năm 1987 đã đưa ra tiêu chuẩn về VHDL
(tiêu chuẩn IEEE-1076-1987).
VHDL được phát triển để giải quyết các khó khăn trong việc phát triển,
thay đổi và lập tài liệu cho các hệ thống số. Như ta đã biết, một hệ thống số có rất
nhiều tài liệu mô tả. Để có thể
vận hành bảo trì sửa chữa một hệ thống ta cần tìm
hiểu kỹ, lưỡng tài liệu đó. Với một ngôn ngữ mô tả phần cứng tốt việc xem xét các
tài liệu mô tả trở nên dể dàng hơn vì bộ tài liệu đó có hệ được thực thi để mô
phỏng hoạt động của hệ thống. Như thế ta có thể xem xét toàn bộ các phần tử của
hệ thống ho
ạt động trong một mô hình thống nhấ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ế trong khi chỉ sử dụng một
Trang 28
HVTH: Hà Minh Tân
ngôn ngữ duy nhất. Và khi so sánh với các ngôn ngữ mô phỏng phần cứng khác 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ự 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áp thiế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ó. VHDL cũng hỗ trợ cho
nhiều loại công cụ xây dựng mạch như sử dụng công nghệ đồng bộ hay không

kiểm tra, thiết kế và lập tài liệu. Ngôn ngữ này cung cấp một quy ước và định dạng
ngắn gọn để biểu diễn phân cấp các chi tiết chức năng và nối dây cho hệ thống số,
các ký hiệu thay cho sơ đồ mạch số và biểu diễn trừu tượng. Phần mềm HDL
thường chứa chươ
ng trình mô phỏng (kiểm tra thiết kế) và tổng hợp phần cứng
(thiết kế phần cứng tự động).
Ngôn ngữ mô tả hành vi:

Instruction Set Processor Specification (ISPS) là HDL mô tả hành vi các hệ
thống số. Ngôn ngữ này được C. G. Bell giới thiệu vào năm 1971. ISPS được thiết
kế cho mô phong phần cứng, tự động thiết kế, phát sinh tự động phần mềm. Ngôn
ngữ này là ngôn ngữ lập trình giống phần mềm nhưng nó bao gồm cấu trúc chuyển
động đặc biệt của dữ liệu các thanh ghi và các bus. Kiến trúc giống như CPU được
mô tả dể dàng và hiệu quả trong ISPS. ISPS thích hợp nh
ất cho việc biểu diễn đầu
ra của giai đoạn thiết kế hành vi của một quá trình thiết kế.
Ngôn ngữ mô tả dòng dữ liệu:

Ngôn ngữ lập trình phần cứng AHPL (A Hardware Programming
Language). Ngôn ngữ này biểu diễn một tập hợp ký hiệu để trình bày phần cứng
trong môi trường lý thuyết. Việc sử dụng tập hợp ký hiệu ban đầu này dẫn đến sự
phát triển ngôn ngữ phần cứng AHPL.
Ngôn ngữ mô tả netlist:

Cách khác để mô tả hệ thống số này là netlist để mô tả nối kết các phần
cứng của nó. Tập con của ngôn ngữ mô tả phần cứng Verilog có thể được dùng
cho mục đích này. Có hai cách mô tả phần cứng: sơ đồ logic và ngôn ngữ HDL.
Mỗi mô tả thích hợp với mỗi công cụ CAD tại một giai đoạn thiết kế khác nhau.
Mô tả ISPS có thông tin về hành vi mức độ cao và có thể dùng như công cụ mẫ
u

trong số đầu vào của nó thay đổi.
Kiểm tra kết quả:

Trang 31
HVTH: Hà Minh Tân
Sau khi mô phỏng và tổng hợp, kiểm tra là mối quan tâm của người thiết kế
hệ thống số. Các vấn đề liên quan đến việc kiểm tra bao gồm: fault collapsing, test
generation, fault simulation test compaction, fault dictionaries. Mặc dù ít được
quan tâm hơn so với mô phỏng và tổng hợp, nhưng người ta thực hiện nhiều cách
kiểm tra dựa vào HDLs. HDLs cung cấp một dạng netlist cho mục đích phát ra
kiểm tra hay mô phỏng lỗi. Các testbench để đánh giá các lỗi có thể được lập trình
trong ngôn ngữ
mô tả phần cứng. Một tập con dạng sóng của ngôn ngữ mô tả phần
cứng có thể dùng để biểu diễn dữ liệu kiểm tra bằng thiết bị kiểm tra hoặc tạo kích
thích để mô phỏng lỗi.
2.1.5 Các phần mềm mô phỏng cho ngôn ngữ VHDL
Hiện nay có rất nhiều hãng đầu tư nghiên cứu và sử dụng ngôn ngữ VHDL
để thiết kế các mạch lập trình được theo nhiều tiêu chuẩn công ngh
ệ khác nhau:
Exemplar logic’s leonardo:
Là một công cụ tổng hợp, tối ưu hóa và phân tích rất linh hoạt mềm dẻo.
Nó được sử dụng để thiết kế các vi mạch ASICs, FPGAs, CPLDs. Người thiết kế
có thể thực hiện nhiều thiết kế trên cùng một bản thiết kế, lưu giữ và điều chỉnh
bằng tay các cấp thiết kế, sử dụng ngôn ngữ mô tả phần cứng để cài đặt thi
ết kế.
Leonardo cung cấp một môi trường thiết kế top – down bắt đầu từ VHDL hay
Verilog có khả năng thông báo kết quả bằng việc sử dụng tập tin hiện thời SDF và
thư viện mô phỏng Vital. Leonardo được tính hợp đầy đủ mô trường mô phỏng
các kiểu công nghệ. Công cụ tổng hợp Exemplar giải quyết các mức tổng hợp tới
cổng logic, tối ưu tốc độ, diện tích, ánh xạ công ngh

Đặc tính tổng quát:
VHDL có thể sử dụng để lập tài liệu thiết kế, thiết kế
tốc độ cao mô phỏng tổng hợp và kiểm tra phần cứng. VHDL mô tả phần cứng từ
mức hệ thống đến mức cổng, hỗ trợ tính đồng thời nghĩa là các thành phần nhỏ
đến lớn hoạt động tại một thời điểm.
Hỗ trợ phân cấp thiết kế
: Đây là đặc tính thiết yếu của ngôn ngữ phần cứng
đa cấp. Thiết kế chứa một mô tả giao diện và một số phần độc lập để mô tả hoạt
động, hoạt động của hệ thống có thể mô tả dựa trên chức năng hoặc dựa trên cấu
trúc của những thành phần nhỏ.
Có thư viện hỗ trợ:
Ngôn ngữ cung cấp cơ chế để truy cập tới nhiều thư
viện khác nhau. Thư viện không những chứa đặc tả giao diện của thiết kế mà còn
Trang 33
HVTH: Hà Minh Tân
chứa một số đặc tả hoạt động của hệ thống. Các đặc tả và các mẩu có thể dựa vào
thư viện sau khi được dịch bởi chương trình.
Có lệnh tuần tự:
Khi người thiết kế phân chia hệ thống thành những thành
phần hay những phần con, tiếp đó người thiết kế có thể mô tả chi tiết hoạt động
bên trong bàng những cấu trúc ngôn ngữ lập trình tuần tự như các lệnh If – Then –
Else, Case, Loop… các lệnh tuần tự cung cấp phương pháp đơn giản để tạo ra các
thành phần phần cứng dựa trên chức năng của chúng.
Thiết kế tương thích chung:
Thiết kế tổng quát, ngôn ngữ cho phép người
thiết kế đặt cấu hình mô tả hợp phần có thông số chung trong thiết kế. Mô tả tương
thích chung có thể thay đổi kích thước, đặc tính vật lý, định thời, đặc tính tải, và
môi trường hoạt động của thiết kế.
Khai báo kiểu và cách dùng: VHDL cho phép mô tả các kiểu Bit, Boolean,
Interger, Float, kiểu liệt kê, kiểu mảng, kiểu bản ghi. VHDL hỗ trợ các kiểu do

báo giao diện của hệ thống với bên ngoài. Ta có thể có tất cả các thông tin để kết
nối mạch vào mạch khác hoặc thiết kế tác nhân đầu vào phục vụ cho mục đích thử
nghiệm.
Khai báo kiến trúc: Mỗi một khai báo thực thể đều phải đi kèm với ít nhất
một kiến trúc tương ứng. VHDL cho phép tạo ra hơn một kiến trúc cho một thực
thể. Phần khai báo kiến trúc có thể bao gồm các khai báo về tín hiệu bên trong, các
phần tử bên trong hệ thống, hay các hàm và thủ tục mô tả ho
ạt động của hệ thống.
Tên của kiến trúc là nhãn được đặt tùy theo người sử dụng. Có hai cách mô tả kiến
trúc của một phần tử (hoặc hệ thống) đó là mô hình thuộc tính (Behaviour) hay mô
tả theo mô hình cấu trúc (Structure). Tuy nhiên một hệ thống có thể bao gồm cả
mô tả theo mô hình thuộc tính và mô tả theo mô hình cấu trúc.
Trang 35
HVTH: Hà Minh Tân
Khai báo cấu hình: Khai báo configuration là đơn vị thiết kế chủ yếu được
sử dụng để kết nối phát biểu entity với thân architecture riêng biệt, nhằm tạo
thành các thành phần của thiết kế. Ta có thể tạo ra nhiều hơn một khai báo
configuration cho một entity, mỗi khai báo xác định một tập kết nối khác nhau
cho mỗi thành phần.
Khai báo gói: Khai báo package là một kho chứa để lưu giữ các khai báo
thườ
ng sử dụng, có thể được truy cập tổng thể ngang qua nhiểu đơn vị thiết kế.
Khai báo package có một package body kết hợp nếu các chương trình con (hàm)
hoặc thủ tục được khai báo.
Thân gói: Package body luôn luôn được kết hợp với một khai báo package
có cùng tên và chứa thân chương trình con của các hàm và thủ tục được khai báo
trong khai báo package.
2.2.3 Cấu trúc chương trình
Đơn vị thiết kế thể hiện các đơn vị thiết kế khác, đến lượt đơn vị thiết kế
khác này có thể thể hiện những đơn vị thiết kế khác nữa theo kiểu hệ thống có thể

Các phát biểu tuần tự là phát biểu được thực thi phụ thuộc vào luồng thủ
tục (procedural flow) của các cầu trúc bao quanh chúng. Hình 2.3: Các phát biểu quá trình trong đơn vị thiết kế và các lời gọi
chương trình con trong đơn vị thiết kế hoặc thư viện

2.3 Phần mềm Quartus II và kit DE2 của Altera
2.3.1 Các thành phần cơ bản của Quartus II
New project wizard : tạo project mới
Assignments :
• Devices: chọn họ và linh kiện phần cứng
Trang 38
HVTH: Hà Minh Tân
• Pins: gán chân để lập trình linh kiện
• Timing setting : thiết lập chế độ thời gian trong mô tả dụng sóng
Compiler tool: công cụ biên dịch chương trình
Simulation tool : công cụ mô phỏng
Timing Analyzer tool : phân tích thời gian
RTL viewer : sau khi biên dịch chương trình, Quartus tạo ra mô hình phần cứng
dưới dạng biểu đồ sẽ được nạp vào linh kiện lập trình.
Programmer : nạp chương trình vào linh kiện
Compiler report : bảng báo cáo kết quả biên dịch chương trình
Simulation report : bảng báo cáo kết quả mô phỏng ch
ương trình
Mega Wizard plug-in manager : tạo hoặc thay đổi các tập tin thiết kế có sẳn của
megafunctions theo nhu cầu sử dụng.
2.3.2 Thiết kế và biên dịch, mô phỏng chương trình
• Khai báo project:



Hình 2.10: Chọn file mô phỏng Hình 2.11: Lưu file với tên trùng với tên project

Trang 43
HVTH: Hà Minh Tân

Hình 2.12: Thêm vào các node Hình 2.13: Hiện danh sách các node trong thiết kế

Trang 44
HVTH: Hà Minh Tân

Hình 2.14: Đưa các node vào mô phỏng Hình 2.15: Chọn cài đặt

Trang 45
HVTH: Hà Minh Tân

Hình 2.16: Lựa chọn cách mô phỏng Hình 2.17: Tạo file netlist cho quá trình mô phỏng
Trang 46

HVTH: Hà Minh Tân

Hình 2.20: Bo DE2 và các linh kiện đi kèm

+ Board DE2
+ Cáp usb dùng cho việc lập trình và điều khiển
+ Đĩa CD chứa dữ liệu của DE2 và những tài liệu phụ (hưởng dẫn sử dụng, thanh
điều khiển, thiết kế tham khảo, datasheet của thiết bị, hướng dẫn, các bài tập thí
nghiệm)
+ DE2 được bảo vệ bởi tấm mica trong suốt và đặt trên 6 chân cách điện
+ Bộ nguồn 9 V
DC
Vi xử lý Cylone II 2C35
• Thiết bị truyền định dạng nối tiếp- EPCS16
• USB Blaster dùng cho mục đích lập trình và điều khiển API (hỗ trợ 2 kiểu lập
trình JTAG và AS)
• 512-Kbyte SRAM


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status