Tải bản đầy đủ (.docx) (35 trang)

Thiết kế máy tính cầm tay sử dụng ngôn ngữ mô tả phần cứng thiết kế hệ thống số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 35 trang )

Hà Nội, 10/2020

1


MỤC LỤC

2


DANH MỤC CÁC HÌNH
Hình 1.1: Các thành phần của chương trình VHDL……………………………..7
Hình 1.2: Cổng NAND…………………………………………………………..8
Hình

1.3:

Cấu

tạo

chi

tiết

board

Basys

3………………………………………..15
Hình



1.4:



đồ

chi

tiết

cách

đặt

chân

board

Basys

3…………………………..16
Hình 2.1: Sơ đồ khối máy tính cầm tay…………….……………………………
19
Hình

2.2:

Quy


ước

vào/ra

trên

FPGA……………….

…………………………..21
Hình

2.3:



dụ



phỏng

1

(phép

cộng)..

……………………………………...22
Hình


2.4:



dụ



phỏng

2

(phép

trừ)

………………………………………….22
Hình

2.5:



dụ



phỏng

3


(phép

nhân)…….

phỏng

4

(phép

chia)…….

………………………………….23
Hình

2.6:



dụ



………………………………….23
Hình

2.7:




dụ



phỏng

5

(phép

and)………………..

……………………….24
Hình

2.8:



dụ



phỏng

6

(phép


or)………………………….

……………….24
Hình

2.9:



dụ



phỏng

7

(phép

xor)…………………...

…………………….25
3


Hình 2.10: Ví dụ mơ phỏng 8 (phép nand)………………………………..
…….25

4



DANH MỤC CÁC BẢNG BIỂU
Bảng

1.1:

Chức

năng

các

chân

board

Basys

3…………………………………..16
Bảng 2.1: Bảng chân lý tính tốn số học…………………………………….
…..19
Bảng

2.2:

Bảng

chân




tính

lốn

logic

số……………………………………….20
Bảng

2.3:

Quy

ước

các

chân

sử

đụng

trên

FPGA……………………………….21
Bảng 2.4: Kết quả mơ phỏng phép tốn số học…………………………………
21
Bảng 2.5: Kết quả mơ phỏng phép tốn logic số…………………………….....23


5


LỜI CẢM ƠN
Kính gửi đến thầy TS. XXX (khoa Điện Tử, trường Đại học Công Nghiệp
Hà Nội) lời cảm ơn chân thành sâu sắc. Cảm ơn thầy đã tận tình hướng dẫn, chỉ
dạy em bộ môn “Thiết kế hệ thống số” trong suốt quá trình học và thực hiện bài
tiểu luận này.
Em xin trình bày bài tiểu luận mơn học “Thiết kế hệ thống số” với đề tài
“Thiết kế máy tính cầm tay sử dụng ngơn ngữ mơ tả phần cứng VHDL”. Do còn
hạn chế thời gian và kiến thức nên những nghiên cứu, tìm hiểu vẫn mang tính
tổng quan, định tính và có nhiều kiến thức mới nên khơng tránh khỏi sai sót. Em
rất mong được sự góp ý, chỉ bảo của thầy để bài tiểu luận đạt được kết quả tốt
hơn.
Hà Nội, ngày 11 tháng 10 năm 2020
Học viên thực hiện
Trịnh Tiến Thắng

6


CHƯƠNG 1: GIỚI THIỆU VỀ NGÔN NGỮ MÔ TẢ PHẦN
CỨNG VHDL
1.1. Giới thiệu về VHDL
VHDL viết tắt của VHSIC HDL (Very-high-speed-intergrated-circuit
Hardware Description Language) hay ngôn ngữ mô tả phần cứng cho các vi số
mạch tích hợp tốc độ cao. 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ế.
Lịch sử phát triển của VHDL trải qua các mốc chính như sau:
1981: Phát triển bởi Bộ Quốc phịng Mỹ nhằm tạo ra một cơng cụ thiết kế
phần cứng tiện dụng có khả năng độc lập với công nghệ và giảm thiểu thời gian
cũng như chi phí cho thiết kế
1983-1985: Được phát triển thành một ngơn ngữ chính thống bởi 3 cơng ty
Intermetrics, IBM and TI.
1986: Chuyển giao toàn bộ bản quyền cho Viện Kỹ thuật Điện và Điện tử
(IEEE).
1987: Công bố thành một chuẩn ngôn ngữ IEEE-1076 1987.
1994: Công bố chuẩn VHDL IEEE-1076 1993.
2000: Công bố chuẩn VHDL IEEE-1076 2000.
2002: Công bố chuẩn VHDL IEEE-1076 2002
2007: công bố chuẩn ngôn ngữ Giao diện ứng dụng theo thủ tục VHDL
IEEE-1076c 2007
2009: Công bố chuẩn VHDL IEEE-1076 2009

7


VHDL ra đời trên yêu cầu của bài toán thiết kế phần cứng lúc bấy giờ, nhờ
sử dụng ngôn ngữ này mà thời gian thiết kế của sản phẩm bán dẫn giảm đi đáng
kể, đồng thời với giảm thiểu chi phí cho q trình này do đặc tính độc lập với
công nghệ, với các công cụ mô phỏng và khả năng tái sử dụng các khối đơn lẻ.
VHDL là 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 ngơn ngữ duy
nhất. Các ưu điểm chính của VHDL là:
Tính cơng cộng: VHDL là ngơn ngữ được chuẩn hóa chính thức của IEEE do
đó đượ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, hầu như tất cả các công cụ thiết kế của các
hãng phần mềm lớn nhỏ đều hỗ trợ biên dịch VHDL.
Được hỗ trợ bởi nhiều cơng nghệ: VHDL có thể sử dụng mô tả nhiều loại vi
mạch khác nhau trên những công nghệ khác nhau từ các thư viện rời rạc, CPLD,
FPGA, tới thư viện cổng chuẩn cho thiết kế ASIC.
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 chức năng dùng VHDL thiết kế ở mức thanh ghi
truyền tải RTL có thể được tổng hợp thành các mạch trên các công nghệ bán dẫn
khác nhau. Nói một cách khác khi một cơng nghệ phần cứng mới ra đời nó có
thể được áp dụng ngay cho các hệ thống đã thiết kế bằng cách tổng hợp các thiết
kế đó lại trên thư viện phần cứng mới.
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 thanh ghi truyền tải (RTL–Register Tranfer Level) cho đến mức cổng
(Netlist). Hiểu một cách khác VHDL có một cấu trúc mơ tả phần cứng chặt chẽ
có thể sử dụng ở lớp mơ tả chức năng cũng như mô tả cổng trên một thư viện
công nghệ cụ thể nào đó.
Khả năng trao đổi, tái sử dụng: Việc VHDL được chuẩn hóa giúp cho việc
trao đổi các thiết kế giữa các nhà thiết kế độc lập trở nên hết sức dễ dàng. Bản
8


thiết kế VHDL được mơ phỏng và kiểm tra có thể được tái sử dụng trong các
thiết kế khác mà khơng phải lặp lại các q trình trên. Giống như phần mềm thì
các mơ tả HDL cũng có một cộng đồng mã nguồn mở cung cấp, trao đổi miễn
phí các thiết kế chuẩn có thể ứng dụng ở nhiều hệ thống khác nhau.
1.2. Cấu trúc của chương trình mơ tả bằng VHDL
Cấu trúc của một chương trình VHDL gồm 3 phần: Khai báo thư viện
(Library), mô tả thực thể (Entity) và mơ tả kiến trúc (Architecture). Trong đó:
Library: chứa một danh sách của tất cả các thư viện được sử dụng trong thiết
kế,…Ví dụ: IEEE, STD, WORK,…

Entity: Mơ tả các chân vào/ra (In/Out pins) của mạch.
Architecture: chứa mã VHDL, mô tả mạch sẽ hoạt động như thế nào

Hình 1.1: Các thành phần của chương trình VHDL
1.2.1. Khai báo thư viện (Library)
Cú pháp:
LIBRARY library_name; --- Tên thư viện
USE library_name.package_name.package_parts; --- Mệnh đề cần sử dụng
Thơng thường có 3 gói từ 3 thư viện khác nhau thường được sử dụng trong thiết
kế.
- IEEE.STD_LOGIC (thư viện từ IEEE), cú pháp khai báo:
LIBRARY ieee;
9


USE ieee.std_logic_1164.all;
- STANDARD (thư viện STD), cú pháp khai báo:
LIBRARY std;
USE std.standard.all;
- WORK (thư viện work), cú pháp khai báo:
LIBRARY work;
USE work.all;
1.2.2. Entity (thực thể)
Entity mô tả các chân vào/ra (các port) của mạch, cấu trúc của Entity như
sau:
ENTITY entity_name IS
PORT (
port_name : signal_mode signal_type;
port_name : signal_mode signal_type;
...);

END entity_name;
Chế độ của tín hiệu (mode of the signal): IN, OUT, INOUT, hoặc BUFFER
Kiểu của tín hiệu (type of the signal): BIT, STD_LOGIC, INTEGER,…
Tên của thực thể (name of the entity): có thể sử dụng tên bất kỳ (ngoại trừ
các từ khóa của VHDL)
Ví dụ mạch cổng NAND:
Entity nand_gate is
Port (a, b: IN BIT;
Hình 1.2: Cổng NAND

10


x: OUT BIT;
End nand_gate;

1.2.3. Architecture (cấu trúc)
Mô tả kiến trúc chứa nội dung và chức năng của đối tượng thiết kế.
Cú pháp như sau:
ARCHITECTURE architecture_name OF entity_name IS
BEGIN
(code)
Có 3 kiểu mơ tả kiến trúc chính:
- Mơ tả kiến trúc theo mơ hình hoạt động:
Mơ hình hoạt động mơ tả các hoạt động của hệ thống (hệ thống đáp ứng với
các tín hiệu vào như thế nào và đưa ra kết quả gì ra đầu ra) dưới dạng các cấu
trúc ngơn ngữ lập trình bậc cao. Cấu trúc đó có thể là PROCESS , WAIT, IF,
CASE, FOR-LOOP…
Ví dụ:
ARCHITECTURE behavior OF nand IS

BEGIN
c <= NOT(a AND b);
END behavior;
- Mô tả kiến trúc theo mơ hình cấu trúc:
Mơ hình cấu trúc của một phần tử (hoặc hệ thống) có thể bao gồm nhiều cấp
cấu trúc bắt đầu từ một cổng logic đơn giản đến xây dựng mô tả cho một hệ
11


thống hồn thiện. Thực chất của việc mơ tả theo mơ hình cấu trúc là mơ tả các
phần tử con bên trong hệ thống và sự kết nối của các phần tử con đó.
Mơ tả cú pháp:
architecture identifier of entity_name is
Architecture_declarative_part
begin
all_concurrent_statements
end
[architecture][architecture_simple_name];
Khai báo các thành phần:
Component
Tên_componemt port [ danh sách ];
End component;
- Mơ tả kiến trúc theo mơ hình tổng hợp: Đó là sự kết hợp của hai mơ hình
mơ tả kiến trúc theo mơ hình hoạt động và theo cấu trúc
Ví dụ:
Entity adder is
Port (A,B,Ci : bit
S, Cout : bit);
End adder;
Architecture arc_mixed of adder is

Component Xor2
Port( P1, P2 : in bit;
12


PZ : out bit);
End compenent;
Signal S1 :bit;
Begin
X1 : Xor2 port map(A,B,S1);
Process (A,B,Cin)
Variable T1,T2,T3 : bit;
Begin
T1 := A and B;
T2 := B and Cin ;
T3 := A and Cin;
Cout := T1 or T2 or T3 ;
End process;
End arc_mixed ;
1.2.4. Chương trình con và gói
1.2.4.1. Chương trình con
Chương trình con là các đoạn mã dùng để mơ tả một thuật tốn, phép tốn
dùng để xử lý, biến đổi hay tính tốn dữ liệu. Có hai dạng chương trình con là
thủ tục và hàm.
Thủ tục thường dùng để thực hiện một tác vụ như biến đổi, xử lý hay kiểm
tra dữ liệu hoặc các tác vụ hệ thống như đọc ghi file, truy xuất kết quả ra màn
hình, kết thúc mơ phỏng,...
Cú pháp khai báo:
13



Procedure identifier [ (formal parameter list) ] is
[declarations]
Begin
Sequential statement (s)
End procedure identifier;
Trong đó: formal parameter list chứa danh sách các biến, tín hiệu hằng, hay
dữ liệu kiểu file, kiểu ngầm định là biến.
1.2.4.2. Gói
Gói (package) là tập hợp các kiểu dữ liệu, hằng số, biến, các chương trình
con và hàm dùng chung trong thiết kế. Một gói bao gồm hai phần là khai báo gói
và phần thân của gói.
Khai báo gói có cấu trúc như sau:
Package identifier is
[declarations]
End package body identifier;
Phần thân gói chứa các mơ tả chi tiết của hàm hay thủ tục, ngồi ra các gói
cịn được dùng để chứa các khai báo component dùng chung cho các thiết kế
lớn
1.3. Đối tượng và kiểu dữ liệu
1.3.1. Đối tượng dữ liệu
Trong VHDL có phân biệt 3 loại đối tượng dữ liệu là biến, hằng và tín hiệu.
Các đối tượng được khai báo theo cú pháp:
object_type identifier : type [:=initial value ];
14


Trong đó object_type có thể biến, hằng số hay tín hiệu.
Các đối tượng dữ liệu gồm: Hằng, biến, và tín hiệu
1.3.2. Kiểu dữ liệu

a) Kiểu dữ liệu tiền định nghĩa
VHDL bao gồm một nhóm các kiẻu dữ liệu tiền định nghĩa, được định rõ
thông qua các chuẩn IEEE 1076 và IEEE 1164. Cụ thể hơn, việc định nghĩa kiểu
dữ liệu như thế có thể tìm thấy trong các gói/ thư viện sau:
- Gói standard của thư viện std: Định nghĩa các kiểu dữ liệu BIT,
BOOLEAN,
INTEGER và REAL.
- Gói std_logic_1164 của thư viện ieee: Định nghĩa kiểu dữ liệu
STD_LOGIC và STD_ULOGIC.
- Gói std_logic_arith của thư viện ieee: Định nghĩa SIGNED và
UNSIGNED, cộng thêm nhiều hàm chuyển đổi dữ liệu, ví dụ: conv_integer(p),
conv_unsigned(p,b), conv_signed(p,b), và conv_std_logic_vector(p, b).
- Gói std_logic_signed và std_logic_unsigned của thư viện ieee: Chứa các
hàm cho phép họat động với dữ liệu STD_ LOGIC_ VECTOR được thực hiện
khi mà kiểu dữ liệu là SIGNED họăc UNSIGNED.
b) Kiểu dữ liệu người dùng định nghĩa
VHDL cũng cho phép người dùng tự định nghĩa các kiểu dữ liệu. Hai loại
kiểu dữ liệu người dùng định nghĩa được chỉ ra dưới đây bao gồm integer và
enumerated.
Kiểu integer người dùng định nghĩa:
Type integer is range – 2147843647 to + 2147843647; (được định nghĩa
trước bởi kiểu INTEGER)
15


Type natural is range 0 to +2147843647; (được định nghĩa trước bởi kiểu
NATURAL)
TYPE my_integer IS RANGE -32 TO 32; (một tập con các số intger mà
người dùng định nghĩa)
TYPE student_grade IS RANGE 0 TO 100; (một tâp con các số nguyên hoặc

số tự nhiên người dùng định nghĩa)
TYPE bit IS ('0', '1'); (được định nghĩa trước bởi kiểu BIT)
1.4. Mảng (Array)
Mảng là một tập hợp các đối tượng có cùng kiểu. Chúng có thể là một chiều
(1D), 2 chiều (2D) họăc một chiều của một chiều (1D x 1D) và cũng có thể có
những kích thước cao hơn.
Các kiểu dữ liệu có thể kết hợp trong mỗi loại này là như dưới đây:
_ Scalars: BIT, STD_ LOGIC, STD_ULOGIC, and BOOLEAN.
_Vectors: BIT_ VECTOR, STD_LOGIC_ VECTOR,
STD_ULOGIC_VECTOR, INTEGER, SIGNED, and UNSIGNED.
Cú pháp khởi tạo mảng:
Để chỉ định một kiểu mảng mới:
TYPE tên_kiểu IS ARRAY (thông số) OF kiểu_dữ_liệu;
Để tạo sử dụng kiểu mảng mới:
SIGNAL tên_tín_hiệu: tên_kiểu [:=giá_trị_đầu];
Trong cú pháp ở trên, một SIGNAL được khai báo. Tuy nhiên nó cũng có
thể là một CONSTANT hoặc một VARIABLE. Giá trị khởi tạo tùy chọn.

16


1.5. Chuyển đổi dữ liệu
VHDL không cho phép các phép toán trực tiếp ( số học, logic, …) tác động
lên các dữ liệu khác kiểu nhau. Do đó, thường là rất cần thiết đối với việc
chuyển đổi dữ liệu từ một kiểu này sang một kiểu khác. Điề u này có thể được
thực hiện trong hai cách cơ bản: hoặc chúng ta viết một ít code cho điều đó,
hoặc chúng ta gọi một FUNCTION từ một gói được định nghĩa trước mà nó cho
phép thực hiện các phép biến đổi cho ta.
Nếu dữ liệu được quan hệ đóng ( nghĩa là 2 to án hạng có cùng kiểu cơ sở,
bất chấp đang được khai báo thuộc về hai kiểu lớp khác nhau), thì

std_logic_1164 của thư viện ieee cung cấp các hàm chuyển đổi dễ thực hiện.
1.6. Tìm hiểu chung về board Basys 3
1.6.1. Đặc điểm của Kit Basys 3

Hình 1.3: Cấu tạo chi tiết board Basys 3

17


Hình 1.4: Sơ đồ chi tiết cách đặt chân board Basys 3
Bảng 1.1: Chức năng các chân board Basys 3
ST

Tên thành phần

T
1

Led báo nguồn

2

Cổng kết nối Pmod

ST
T
9
10

Tên thành phần

Nút reset FPGA
Chế độ chuyển lập
trình

Cổng Pmod tín hiệu
3

tương tự

11

Cổng kết nối USB

4

(XADC)
4 led 7 thanh

12

5

Nút gạt (16 nút )

13

Cổng kết nối VGA
Cổng USB kết nối

6


Đèn led (16 đèn)

14

7

Nút nhấn (5 nút)

15

UART/JTAG
Kết nối nguồn điện
ngoài
Nút nguồn
18


Led báo mạch đã được
8

nạp

16

Lựa chọn nguồn

điện nhảy
xuống FPGA
- I/O nhiều hơn: Cổng giao tiếp người dùng và số lượng ngõ ra trên bo tăng


gấp đôi, nâng cấp nhiều cổng bên ngoài và kèm theo cho lần đầu tiên trên linh
kiện lớp Basys một cầu USBUART.
- Cấu trúc hiện đại: Nhờ vào sự kết hợp từ họ Spartan 3E và lớp linh kiện
Artix-7, Basys 3 mang đến một sự tăng đáng kể trong khoảng nâng phần cứng.
Với FPGA Artix-7 mới mang đến gấp 15 lần các ô logic (từ 2.160 đến 33.280)
và nâng cấp nhiều bộ nhân thành các lớp DSP.
1.6.2. Các thành phần phần cứng sẽ được sử dụng trên kit Basys 3
➢ Các cổng kết nối thiết bị ngoại vi:
Cổng nạp chương trình đồng thời là cổng cấp nguồn sử dụng chuẩn Micro
USB thông dụng, 1 cổng COM, 1 cổng USB và 4 hàng Jump.
➢ Hệ thống nút nhấn và cần gạt
Hệ thống bao gồm 5 nút nhấn và 16 cần gạt chuyển đổi trạng thái, cần gạt có
thể chuyển đổi giữa 2 mức trạng thái cao thấp tùy thuộc vào vị trí của cần gạt.
➢ Hệ thống Led đơn
Basys 3 cung cấp 16 Led đơn tương ứng với 16 đầu ra dưới dạng nhị phân.
16 Led này được mắc Katot chung, do đó Led sẽ sáng khi đầu ra ở mức cao và
ngược lại.
➢ Hệ thống Led 7 thanh
Basys 3 trang bị 4 Led 7 thanh sử dụng để hiển thị kết quả thập phân, sử
dụng phương pháp quét Led thông qua 4 Transistor.
➢ Hệ thống phát xung

19


Kit Basys 3 đã tích hợp sẵn 1 bộ phát xung có tần số 100MHz được cấp bởi
chân W5.

20



CHƯƠNG 2: THIẾT KẾ MÁY TÍNH CẦM TAY
2.1. Mơ tả chung
Thực hiện nghiên cứu và lập trình thiết kế máy tính cầm tay dựa trên ngơn
ngữ mơ tả phần cứng VHDL và mô phỏng với phần mềm Xilinx ISE 15.2
Quá trình thiết kế mạch:
- Thiết kế sơ đồ khối cơ bản
- Viết code và biên dịch
- Mô phỏng kết quả
Cơ chế hoạt động:
Máy tính thực hiện các phép tính nhờ vào hệ thống mạch tích hợp và
chip vi xử lý. Các mạch này thực hiện các phép tính cộng, trừ, nhân, chia cũng
như các phép tính phức tạp hơn như số mũ hay căn. Về cơ bản, khả năng tính
tốn phụ thuộc vào số lượng các bóng bán dẫn, càng nhiều bóng bán dẫn thì
chiếc máy tính càng có khả năng tính tốn phức tạp hơn. Cách hiển thị trên màn
hình của máy tính bỏ túi cũng sẽ sử dụng logic nhị phân này, mỗi ơ trống hiển
thị có 7 vạch ngắn để giúp nó có thể hiển thị ra tất cả các số từ 0 đến 9
2.1.1. Mục tiêu thiết kế
- Nghiên cứu thiết kế mạch số dựa trên ngôn ngữ mô tả phần cứng VHDL
- Thiết kế và thực thi mạch điều khiển trên FPGA máy tính cầm tay có khả năng:
. Tính tốn số học
. Tính tốn logic
2.1.2. Phương pháp nghiên cứu
- Tìm hiểu các thiết kế mạch đã có sẵn từ đó áp dụng để thiết kế.
- Đưa ra sơ đồ khối phù hợp với hoạt động của máy.
21


- Đưa ra chương trình lập trình cụ thể, mơ phỏng thiết kế.

- Nạp mạch trên FPGA, sửa lỗi và hoàn thiện.
2.1.3. Yêu cầu thiết kế
- Thực hiện được các phép tính tốn số học và logic cơ bản.
- Kết quả phép toán hiển thị trên Led 7 thanh.
- Thiết kế ứng dụng trên phần mềm Vivado và thực thi trên kit Basys 3 Artix-7
FPGA
2.1.4. Sơ đồ khối thiết kế máy tính cầm tay

Hình 2.1: Sơ đồ khối máy tính cầm tay
ㅁ Khối tính tốn:
Thực hiện tính các phép tính tốn cơ bản với hai tín hiệu đầu vào là A và B
có 6 bit, 2 tín hiệu điều kiển là Mode(0) và Mode(1), chân RST để reset lại
chương trình. Đầu ra là kết quả của phép tính. Trong khối tính tốn có bộ tính
tốn số học và tính tốn logic được quy định trong các bảng sau đây:
Bảng 2.1: Bảng chân lý tính tốn số học
Mode
00
01
10
11

Phép tính
A+B
|A - B|
A*B
A mod B
22


Bảng 2.2: Bảng chân lý tính lốn logic số

Mode
00
01
10
11

Phép tính
A and B
A or B
A xor B
A nand B

ㅁ Khối chia đơn vị
Dùng để chuyển đổi số nhị phân sang thập phân với đầu vào là kết quả của
phép tính dưới dạng số nhị phân, đầu ra cho kết quả ở hàng nghìn, hàng trăm,
hàng chục và hàng đơn vị.
ㅁ Khối chia tần
Thực hiện đếm xung, với đầu vào là xung CLK được cấp sẵn từ chân W5
của kit Basys 3 có tần số 100MHz, đầu ra là xung CLK1 có tần số 1KHz .
ㅁ Khối quét led
Thực hiện quét giá trị của kết quả để hiển thị ra dưới chữ số, với đầu vào là
kết quả của phép tính ở hàng nghìn, hàng trăm, hàng chục, hàng đơn vị, tín hiệu
điều khiển là xung CLK1 có tần số 1KHz và tín hiệu điều khiển led, đầu ra là
kết quả dưới dạng chữ số.
ㅁ Khối hiển thị Led 7 thanh
Thực hiện hiển thị kết quả dưới dạng các chữ số trên Led 7 thanh . Tiến hành
quy định các I/O Port cho các tín hiệu vào ra như sau:
2.1.5. Quy ước các kết nối vào/ra trên FPGA

23



Hình 2.2: Quy ước vào/ra trên FPGA
Bảng 2.3: Quy ước các chân sử đụng trên FPGA
Quy ước
Giải thích
rst
Reset trạng thái
A[5]~A[0
Tín hiệu đầu vào A
]
B[5]~B[0] Tín hiệu đầu vào B
sel
1 bit lựa chọn phép toán đầu vào select (sel=0: số học, sel=1: logic)
led7
Led 7 thanh hiển thị kết quả phép tính
LedDon Hiển thị kết quả tính trên Led đơn
Mode
Lựa chọn cách tính
2.2. Kết quả mơ phỏng máy tính cầm tay
Bảng 2.4: Kết quả mơ phỏng phép tốn số học

A+B
|A - B|

Nhị phân
A
B
000001 000001
000001 000011


Thập phân
A
B
1
1
1
3

10

A*B

000111

000011

7

3

21

11

A mod B

000111

000001


7

1

7

STT

Mode

Phép tính

Ví dụ 1
Ví dụ 2

00
01

Ví dụ 3
Ví dụ 4

Kết quả
2
2

24


Hình 2.3: Ví dụ mơ phỏng 2 (phép cộng)


Hình 2.4: Ví dụ mơ phỏng 2 (phép trừ)

25


×