Lab0 Gioithieu PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

Nguyễn Thế Hoàng

Khoa CN Điện Tử Thí nghiệm thiết


- ĐHCN TPHCM
kế FPGA
[ Tài liệu hướng dẫn thực hành thiết kế FPGA. Đây là Tài liệu chuyên
nghành giành cho sinh viên năm 3,4 chuyên ngành Điện Tử - Viễn
thông – Tự Động. Tài liệu thuộc chương trình giảng dạy bậc ĐH của Rev 1.0
khoa Công Nghệ Điện Tử, trường ĐH Công Nghiệp TP HCM ]
Contents
Phần 1 : Tổng quan về thiết kế trên FPGA.......................................................................................... 2
I. Qui trình thiết kế.......................................................................................................................... 2
II. Giới thiệu FPGA............................................................................................................................ 4
III. Giới thiệu Board DE2 của Altera ............................................................................................... 9
1. Giới thiệu .................................................................................................................................... 9
2. Thành phần ............................................................................................................................... 10
3. Một vài ứng dụng của board DE2 .............................................................................................. 10
IV. Cách cài đặt Quartus II 10.0 và Nios II ..................................................................................... 13
1. Giới thiệu .................................................................................................................................. 13
2. Cài đặt ...................................................................................................................................... 13
V. Tạo một project mới với Quartus II 10.0: .................................................................................... 16
1. Tạo 1 project: ............................................................................................................................ 16
2. Viết chương trình và biên dịch: ................................................................................................. 17
3. Gán chân và nạp xuống phần cứng FPGA: .................................................................................. 20
Phần 2 : Hệ thống bài lab của altera ................................................................................................. 26
1. Giới thiệu về hệ thống bài lab của altera .................................................................................... 26
2. Chi tiết các bài lab phải thực hiện............................................................................................... 27
Reference Documents ....................................................................................................................... 28
Phần 1 : Tổng quan về thiết kế trên FPGA

Mục tiêu
 Nắm được công nghệ FPGA
 Làm quen board thực hành DE2
 Cài đặt, và làm quen với các phần mềm: Quartus II, Nios II

I. Qui trình thiết kế


Hình sau chỉ ra qui trình thiết kế chip đầy đủ. Qui trình thiết kế này tối ưu, hiệu suất
cao,mật độ tích hợp cực lớn, nhưng giá thành cao, độ phức tạp lớn , nhiều rủi ro và thời gian ra
sản phẩm rất lâu. Chỉ những công ty rất lớn, và có nhà máy sản xuất chip riêng mới sử dụng
phương pháp thiết kế này.

Fail
Fail
Function And Pass
Schematic Layout Post-Layout Pass
Function Design Timing Fabrication
Design Design Simulation
verification

Hình 1 : Full custom Design Methodology

Hiện nay, theo qui trình sản xuất Chip fabless, các nhà sản xuất chip không trực tiếp chế
tạo ra chip mà họ chỉ thiết kế cấp cao rồi outsource cho các công ty sản xuất chuyên sản xuất
chip như TSMC, Samsung… gia công. Phương pháp thiết kế này dựa trên các standard-cell do
các nhà sản xuất chip cung cấp sẵn.

Logic Gate Cell Layout


Library Library

VHDL or Verilog VHDL or Verilog


Coding Cimulation

High-Level Logic Gate-level Placement Post-Layout


RTL Design Fabrication
Simulation Synthesis Simulation & Routing Simulation

Fail Fail Fail

Hình 2 : Standard-Cell Based Design Methodology


Phương pháp thiết kế dựa trên FPGA , cũng gần giống như phương pháp thiết kế standard-
cell Based . Nhưng nó sử dụng các FPGA’s logic cell , phương pháp này cho thời gian thiết kế
và sản xuất rất nhanh, vì các Chip FPGA đã được sản xuất từ trước , rủi ro cũng thấp. Tuy nhiên
nhược điểm của nó là mật độ tích hợp không cao lắm, tốc độ cũng không bằng hai phương pháp
thiết kế trên. Tuy nhiên phương pháp thiết kế dựa trên FPGA vẫn được sử dụng rất nhiều do thời
gian thiết kế nhanh, có khả năng tái cấu hình động.

FPGA Cell
Library

VHDL or Verilog VHDL or Verilog


Coding Cimulation

Generate Download
High-Level Logic Placement Post-Layout
RTL Design FPGA FPGA
Simulation Synthesis & Routing Verification
bitstream
Fail Fail

Hình 3 : FPGA-based Design Methodology

Hình sau là một ví dụ về kiến trúc của một FPGA công nghiệp và chip FPGA trong thực tế.

Hình 4 : Ví dụ về một kiến trúc của FPGA

Ứng dụng của FPGA :

 Lý tưởng cho việc chế tạo các sản phẩm mẫu prototype.
 Các thiết bị cần thời gian bán ra thị trường ngắn.
 Các sản phẩm số lượng nhỏ, theo yêu cầu khách hàng.
 Các phần cứng cần khả năng tái cấu hình linh hoạt.
 Các hệ thống cần thay đổi cấu hình trong quá trình hoạt động (vd như SDR)
II. Giới thiệu FPGA
Qui ước đặt tên cho FPGA của altera.

Hình 5 : Qui ước đặt tên cho FPGA của Altera

Logic Element

Đây là phần tử logic nhỏ nhất trong kiến trúc FPGA thông thường, gọi tắt là LE, nó cho phép
thực hiện các chức năng logic hiệu quả. Đặc tính của một LE :
 Là một bảng tra 4 ngõ vào (hoặc nhiều hơn tùy kiến trúc FPGA) gọi là look-up table
(LUT), mà có thể thực hiện hàm logic 4 biến bất kỳ.
 Một thanh ghi có thể lập trình được (programmable register)
 Một chuỗi các kết nối mắt xích.
 Một chuỗi kết nỗi các thanh ghi.
 Có khả năng lái tất cả các loại lien kết nối bao gồm : local, row, column, register chain,
hoặc nối trực tiếp
 Liên kết nối.
 Hỗ trợ register packing
 Hỗ trợ register feedback
Hình 6 : Logic Element

LE Features
Ta có thể cấu hình mỗi thanh ghi của LE thành D, T, JK, hoặc SR flip-flop. Mỗi thanh
ghi có data, clock, clock enable, và chân clear. Tìn hiệu có thể là global clock network, các chân
I/O pins, hoặc bất kỳ logic nội nào.
Các chân I/O pins hoặc logic nội có thể lái các chân enable. Nếu muốn LE thực hiện chức năng
của các mạch tổ hợp, LUT sẽ được bypass qua khối thanh ghi.

Mảng Logic (Logic Array Block)


Một mảng logic bao gồm nhiều khối LE và các hệ thống liên kết nối hàng ,cột , hệ thống bus nội
bộ…

Hình 7 : LAB
Mạng clock (Clock Network)
Bởi vì clock có thể cần phân phối toàn bộ chip FPGA, và yêu cầu nghiêm ngặt về timing, do đó
clock được phân phối đến toàn bộ FPGA bới một mạng clock như hình 4.

Hình 8 : Clock Network

I/O Pins
Hệ thống IO của FPGA thường tổ chức thành các Bank, mỗi bank gồm nhiều chân IO có
cùng tính năng. Để hỗ trợ nhiều hệ thống phần cứng khác nhau, các chân IO của FPGA gồm
hàng chục kiểu khác nhau với các tính chất về điện cũng khác nhau (xem bảng).
Hình 9 : IO Pins

Hình 10 : IO Banks
Kiến trúc của một FPGA

Hình 11 : FPGA Architecture

Ngoài các phần tử cơ bản như LE, LAB, Clock, IO pin. FPGA còn có các phần tử Embedded
Memory block, Embedded Multiplier, DSP Block, Integrated Controller …
III. Giới thiệu Board DE2 của Altera

1. Giới thiệu
Board DE2 là board mạch phục vụ cho việc nghiên cứu và phát triển về các lĩnh vực luận
lý số học (digital logic), tổ chức máy tính (computer organization) và FPGA.

Hình 12 : Board DE2


Hình 13 : DE2 Block diagram

2. Thành phần
Board DE2 cung cấp khá nhiều tính năng hỗ trợ cho việc nghiên cứu và phát triển, dưới đây
là thông tin chi tiết của một board DE2:

FPGA:
- Vi mạch FPGA Altera Cyclone II 2C35.
- Vi mạch Altera Serial Configuration – EPCS16.
Các thiết bị xuất nhập:
- USB Blaster cho lập trình và điểu khiển API của người dung; hỗ trợ cả 2 chế độ lập
trình JTAG và AS.
- Bộ điều khiển Cổng 10/100 Ethernet.
- Cổng VGA-out.
- Bộ giải mã TV và cổng nối TV-in.
- Bộ điều khiển USB Host/Slave với cổng USB kiểu A và kiểu B.
- Cổng nối PS/2 chuột/bàn phím.
- Bộ giải mã/mã hóa âm thanh 24-bit chất lượng đĩa quang với jack cắm line-in, line-
out, và microphone.
- 2 Header mở rộng 40-pin với lớp bảo vệ diode.
- Cổng giao tiếp RS-232 và cổng nối 9-pin.
- Cổng giao tiếp hồng ngoại.
Bộ nhớ:
- SRAM 512-Kbyte.
- SDRAM 8-Mbyte.
- Bộ nhớ cực nhanh 4-Mbyte (1 số mạch là 1-Mbyte).
- Khe SD card.
Switch, các đèn led, LCD, xung clock
- 4 nút nhấn, 18 nút gạt.
- 18 LED đỏ, 9 LED xanh, 8 Led 7 đoạn
- LCD 16x2
- Bộ dao động 50-MHz và 27-MHz cho đồng hồ nguồn.
3. Một vài ứng dụng của board DE2
Ứng dụng làm TV box
Hình 14 : Ứng dụng TV Box

Chương trình vẽ bằng chuột USB (paintbrush)

Hình 15 : Chương trình vẽ (paintbrush)

Máy hát Karaoke và máy chơi nhạc SD


Hình 16 : Máy hát Karaoke và máy chơi nhạc từ card SD
IV. Cách cài đặt Quartus II 10.0 và Nios II

1. Giới thiệu
Bộ phần mềm thiết kế đi kèm với board DE2 bao gồm 2 đĩa CDROM: Quartus 2 và Nios
2 Integrated Development Environment (IDE)

Quartus II là phần mềm hỗ trợ tất cả mọi quá trình thiết kế một mạch logic, bao gồm quá
trình thiết kế, tổng hợp, placement và routing (sắp xếp và chạy dây), mô phỏng (simulation), và
lập trình lên thiết bị (DE2).
Nios II, môi trường phát triển tích hợp của họ Nios II (IDE), nó là công cụ phát triển chủ
yếu của họ vi xử lý Nios II. Phần mềm sẽ là môi trường cung cấp khả năng chỉnh sửa, xây dựng,
debug và mô tả sơ lược về chương trình. IDE còn cho phép tạo các chương trình từ đơn nhiệm
(single-threaded) đến các chương trình phức tạp dựa trên một hệ điều hành thời gian thực và
các thư viện middleware.

Ngoài ra, chúng ta có thể cần một chương trình mô phỏng code Verilog ở cấp độ RTL
(mức truyển thanh ghi) hoặc mô phỏng ở mức cổng (Gate level Simulation)
2. Cài đặt
Cài đặt Quartus II và Nios II
Quá trình cài đặt Quartus II và Nios đơn giản chỉ cần đưa đĩa vào máy và thực hiện theo
hướng dẫn của chương trình cài đặt như bất kỳ phần mềm nào .

Hình 17 : Phần mềm Quartus và Nios II IDE

Cài đặt phần mềm USB blaster driver


Vì Board DE2 được lập trình (programming) bằng cách sử dụng công cụ USB Blaster (USB
Blaster mechanism). Do đó, để có thể kết nối kit DE2 và lập trình thông qua máy PC, chúng ta
cần phải cài đặt driver cho thiết bị USB Blaster .
Sau khi gắn board DE2 vào máy tính thông qua cổng USB, nếu USB Blaster driver chưa được
cài đặt thì hộp thoại sau sẽ xuất hiên, Chọn No, not this time sau đó nhấn Next
Hình 18 : Thông báo chưa cài dirver

Chọn Install from a specific location và chọn Next

Hình 19 : Chọn cách thức cài đặt driver

Kết tiếp bạn chọn Search for the best driver in these location và sau đó nhấn Browse.
Hình 20 : Chọn thư mục tìm kiếm driver

Hộp thoại mới sẽ xuất hiện bạn tìm đến vị trí C:\altera\10.0\quartus\drivers \usb−blaster, sau đó
nhấn OK và tiếp tục nhấn Next

Hình 21 : Chọn thư mục chứa dirver

Cửa sổ thông báo việc kiểm tra logo window không thành công, tuy nhiên việc này sẽ
không bị ảnh hưởng đến việc kết nối của chương trình sau này. Bạn tiếp tục nhấn Continue
Anyway. Nhấn Finish để hoàn tất việc cài đặt.
Chú ý driver USB blaster có thể nằm trong thư mục khác so với hướng dẫn tùy thuộc vào
phiên bản quartus mà bạn cài đặt, thậm chí bạn có thể copy driver tới một thư mục khác và trỏ
đường dẫn tới thư mục này khi cài đặt.
V. Tạo một project mới với Quartus II 10.0:

1. Tạo 1 project:
Bước 1. Vào Menu > file chọn New Project Wizard

Hình 22 : Tạo mới một project

Bước 2. Ta chọn thư mục để chứa project và đặt tên cho project, xem hình bên dưới

Hình 23 : Chọn tên và đường dẫn


 1:Chọn dường dẫn thư mục
 2: Chọn tên thư mục

Bước 3. Sau đó ta chọn hãng sản xuất chip và tên loại chip trên mạch (EP2C35F672C6)

Hình 24 : Hộp thoại lựa chọn chip

Bước 4. Cuối cùng chọn Finish để hoàn tất


2. Viết chương trình và biên dịch:
Bước 1. Vào Menu > file chọn New

Hình 25 : Tạo mới file

Bước 2. Sau đó chọn loại file mà chúng ta muốn viết chương trình. Ở đây ta chọn loai
file Verilog HDL
Hình 26 : Lựa chọn loại file cần tạo

Bước 3. Dưới đây là một đoạn chương trình demo: tính hàm f = x1 EX-OR x2

Hình 27 : Cửa sổ viết code

Bước 4. Sau khi viết xong thì ta phải lưu tên file trùng với tên module của chương trình
Hình 28 : Hộp thoại lưu file

Chú ý: Chọn Add file to current project

Bước 5. Sau khi lưu file xong phải thiết lập cho file là top-level thì mới biên dịch được

Hình 29 : Lựa chọn lop-level cho file

Bước 6. Biên dịch chương trình:


Hình 30 : Biên dịch chương trình

Hình 31 : Thông báo việc biên dịch thành công

Chú ý: Đến đây thì có thế nạp trực tiếp lên board DE2 để kiểm thử hoặc sử dụng chương trình
mô phỏng có trên Quartus II.
3. Gán chân và nạp xuống phần cứng FPGA:
Bước 7. Gán chân cho thiết kế:
Ở các bước trên ta mới chỉ thực hiện thiết kế và biên dịch chương trình. Để có thể chạy thử trên
phần cứng FPGA, chúng ta cần phải thực hiện gán chân cho thiết kế. Quá trình gán chân (Pin
assignment) là quá trình chỉ định các input/outout/inout trong thiết kế (logic) kết nối tới một chân
vật lý thực sự trên chip FPGA (physical).

Hệ thống chân của FPGA được đánh nhãn bởi chữ cái và số theo qui định của nhà sản xuất
FPGA, ví dụ như N25,M20 … ta xem thông tin các chân này trong tài liệu datasheet của dòng
chip Cyclone II.
Hình 32 : Pin planner (sơ đổ layout chân của một chip FPGA)

Tuy nhiên, khi thiết kế board DE2, nhà thiết kế Terasic đã kết nối cố định các chân của
FPGA với phần cứng tương ứng trên kit, ví dụ : như SW[0] được kết nối với PIN_N25, và
LEDR[0] được kết nối với chân PIN_AE23 của Cyclone II. Như vậy, khi ta kết nối một chân
logic f (của thiết kế) với chân PIN_AE23 của FPGA. Có nghĩa là chân f trong thiết kế light.v sẽ
được kết nối trực tiếp với LEDR[0] khi ta nạp thiết kế xuống kit DE2.
Để gán chân, ta vào menu Assignment>Pin planner, sẽ hiện ra hộp thoại sau :

Hình 33 : hộp thoại Pin Planner


Trong thiết kế này ta có 3 chân : f,x1,x2 .với f là chân output, ta sẽ gán cho LEDR[0]. x1,x2 là
input, ta sẽ gán cho SW[0] và SW[1].

Sau khi gán xong, ta sẽ có như sau:

Hình 34 : gán chân cho thiết kế

Sau khi gán chân xong, ta thực hiện biên dịch lại thiết kế để cập nhật thông tin về pin.

 Một câu hỏi đặt ra là : ta lấy thông tin về các chân này ở đâu ?
 Trả lời :
Vì các chân này được ghép nối với phần cứng trên board bởi nhà thiết kế board DE2,
do đó để có thông tin về chân IO, ta tìm trong tài liệu DE2 manual.
Một cách khác, các nhà thiết kế board FPGA thường cung cấp một file CSV (một dạng
giống excel) có thể import trực tiếp vào phần mềm quartus với tên chân được định nghĩa
sẵn, vd file DE2_pin_assignments.csv đối với board DE2.
Để import file này,vào assignments>import assignments. Chọn đường dẫn đến file
“DE2_pin_assignments.csv”rồi nhấn OK.
Để kiểm tra kết quả, vào lại Assignments>Pin Planner, sẽ thấy như sau.

Bước 8. Nạp xuống FPGA trên kit DE2:

Chip FPGA phải được nạp và cấu hình để thực hiện thiết kế của chúng ta. File cấu hình
được tạo ra bởi quá trình compile của phần mềm Quartus nếu không có lỗi xảy ra. Và chúng
ta có thể lập trình và cấu hình FPGA theo hai cách, đó là chế độ JTAG và AS. File cấu hình
được truyền từ máy chủ PC (chạy quartus) xuống board FPGA bởi một cáp USB kết nối giữa
board và máy tính PC. Để sử dụng cáp này, chúng ta cần phải cài driver USB blaster như đã
nói ở trên.
Trước khi nạp chương trình, chúng ta phải đảm bảo cáp USB đã được kết nối và board
FPGA đã bật nguồn.
Trng chế độ nạp JTAG, FPGA sẽ giữ nguyên cấu hình được nạp miễn là còn cấp nguồn cho
kit FPGA, có nghĩa là khi mất nguồn, Chip FPGA sẽ bị mất cấu hình và trở thành thiết bị
trắng. Trong chế độ thứ hai, chế độ AS, file cấu hình được lưu trong chip flash trên kit
FPGA. Và nó sẽ được load vào FPGA mỗi khi bật nguồn, vì vậy, chúng ta sẽ không cần phải
nạp lại file cấu hình mỗi khi bật nguồn kit FPGA nữa (như ở trường hợp nạp JTAG)
. Để chọn lựa mode nạp, chọn RUN/PROG switch trên DE2 board. Vị trí RUN là chọn JTAG
mode, còn vị trí PROG là chọn AS mode.
 Quá trình nạp thông qua mode JTAG như sau :
o Gạt switch RUN/PROG trên FPGA sang vị trí RUN.
o Chọn Tools>Programmer. Một cửa sổ sẽ hiện ra như hình 35.
o Ở đây chúng ta cần phải chỉ định công cụ lập trình và mode lập trình
o Chọn JTAG trong hộp thoại mode
o Nếu USB-Blaster chưa được chọn, nhấn vào hardware Setup và chọn USB-
Blaster trong hộp thoại sổ xuống như hình 36

Hình 35 : Hộp thoại programming

Hình 36 : Chọn công cụ lập trình USB blaster

o Nếu không thấy hiện lên thiết bị USB-Blaster nào, hãy kiểm tra cáp USB, bật
nguồn board, driver …
o Sau đó chọn file cần nạp dạng sof (nếu nó chưa có sẵn trong hộp thoại) bằng
cách nhấn Add file
o Sau khi đã chọn xong, nhấn start để bắt đầu lập trình. Một led trên board sẽ
sang chi đến khi quá trình lập trình thành công.
o Nếu có bất cứ lỗi gì hiện lên trên cửa sổ quartus,thì hãy kiểm tra lại board đã
cấp nguồn chưa. Nếu vẫn không phát hiện ra lỗi, hãy hỏi thầy hướng dẫn của
bạn để được giúp đỡ.

 Quá trình nạp thông qua mode Active Serial như sau :
o Để chọn thiết bị cần lập trình, chọn Assignments>Device như hình 37.
o Click vào Device & Pin Options và chọn như hình 38, rồi nhấn OK để quay
lại hình 38, tiếp tục nhấn OK rồi compile lại toàn bộ project.

Hình 37 : Device Windows

Hình 38 : Chọn thiết bị lập trình


o Sau khi compile xong thì chọn Tools>Programmer như ở trên.
o Chọn Active Serial Programming trong hộp thoại mode
o Tiến hành các bước tương tự như ở trên.

Bước 9. Kiểm tra thiết kế.


o Sau khi đã nạp xuống Kit FPGA, giờ đây ta có thể kiểm tra thiết kế của mình
o Gạt switch RUN/PROG sang vị trí RUN.
o Thử tất cả các giá trị của biến đầu vào x1 và x2 bằng cách thay đổi trạng thái SW0
và SW1 trên board. Kiểm tra kết quả với bảng sự thật bằng cách quan sát trạng
thái led.
o Nếu mạch hoạt động không đúng như thiết kế, hãy sửa lại code, kiểm tra gán
chân… compile lại, nạp lại và kiểm tra lại cho đến khi mạch hoạt động đúng như
mong muốn.
Phần 2 : Hệ thống bài lab của altera

1. Giới thiệu về hệ thống bài lab của altera


Trong giáo trình này, chúng ta sẽ sử dụng hệ thống bài lab tiêu chuẩn của altera gồm 9 bài từ lab 0 tới lab
8. Hoàn thành 9 bài lab này, chúng ta sẽ có những kỹ năng cơ bản trong lĩnh vực thiết kế chip sử dụng
ngôn ngữ Verilog HDL.

 Lab 0a : Thiết kế bằng sơ đồ mạch trên Altera Quartus


 Lab 0b : Thiết kế bằng ngôn ngữ mô tả phần cứng Verilog HDL trên Altera Quartus
 Lab 1 : Công tắc, leds, và bộ ghép kênh
 Lab 2 : Hệ thống Số và hiển thị
 Lab 3 : Latch & Flipflop (Option)
 Lab 4 : Bộ đếm Counter
 Lab 5 : Clocks và Timers
 Lab 6 : Bộ cộng, trừ, nhân
 Lab 7 : Máy trạng thái
 Lab 8 : Bộ vi xử lý đơn giản

Tùy theo chương trình học sẽ có yêu cầu khác nhau :


 Đối với chương trình đại học liên thông, yêu cầu thực hiện từ Lab 0 tới Lab 5
 Đối với chương trình đại học chính qui, yêu cầu thực hiện từ Lab 0 tới Lab 7
 Đối với hệ nâng cao, yêu cầu thực hiện thêm Lab 8
Tùy theo cơ sở hạ tầng thiết bị, các bài lab có thể thực hiện theo các cách khác nhau :

 Nếu không có phần cứng, có thể mô phỏng bằng phần mềm model-sim hoặc quartus
simulation
 Nếu có phần cứng (DE1,DE2 hoặc tương đương) có thể tổng hợp trực tiếp và thực hiện
ngay trên phần cứng của kit FPGA (có thể mô phỏng hoặc không, tùy yêu cầu của giáo
viên hướng dẫn).
2. Chi tiết các bài lab phải thực hiện

 Lab 0: FPGA Design using Quartus II


o Quartus II Introduction Using Schematic Design
o Quartus II Introduction Using Verilog Design
 Lab 1: Switches, Lights, and Multiplexers
o Part 1.1 : Led Control
o Part 1.2 : Design 2 to 1 Multiplexer
o Part 1.3A : Design 5 to 1 Multiplexer from Mux2to1
o Part 1.3B : Extend to 8-bit Mux5to1
o Part 1.4 : Design Led 7 Segments Decoder
o Part 1.5 : 7-Segments Led display.
o Part 1.6: Led Rotation on 7-Segment Leds. (Optional)
 Lab 2: Numbers and Displays
o Part2.1: Binary-to-Decimal conversion
o Part2.2: BCD Display on 7-Segment Led
o Part2.3: Implement 4-bit Adder (RCA)
o Part2.4 : Design BCD Adder
o Part 2.5 : Design 2-digit BCD Adder
 Lab 3: Latch & Flipflop (Optional)
 Lab 4: Counters
o Part 4.1 : Design A 4-bit synchronous Counter
o Part 4.2 : 7-segment Led Counter
o Part 4.3 : Display scrolling text on 7-Segment Led
 Lab 5: Clocks and Timers
o Part 5.1 : Implement a 3-digit BCD counter
o Part 5.2 : Implement a time-of-day clock
o Part 5.3 : Design and implement a reaction-timer circuit.
 Lab 6: Adders, Subtractors, and Multipliers
o Part 6.1 : Design a 8-bit 2’s-complement Adder
o Part 6.2 : Expand to 8-bit Add/Sub Circuit
o Part 6.3 : Implement a 4-bit Multiplier
o Part 6.4 : Extend the multiplier to multiply 8-bit numbers
o Part 6.5 : Design a MAC circuit (Multiply Accumulate Circuit)
 Lab 7: Finite State Machines
o Part 7.1 : Finite State Machines
o Part 7.2 : Design a modulo-10 counter-like circuit
o Part 7.3 : Design a scrolling text display using shift-register
 Lab 8: A Simple Processor (Optional)
o Part 8.1 : Design a simple Processor
o Part 8.2 : Design a simple CPU with Memory and PC counter
Reference Documents
1) Haibo Wang , “ECE428”, ECE Department , Southern Illinois University , Carbondale, IL
62901.
2) Tài liệu TN FPGA, Khoa KH-KTMT ,Trường Đại Học BK TP HCM
3) Altera University Program Documents
4) Altera website
5) Internet

You might also like