Thiết kế CPU dùng ngôn ngữ VHDL - Pdf 33

Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
LỜI NÓI ĐẦU
Một thành phần quan trọng của máy tính là bộ xử lý trung tâm (CPU).
Có rất nhiều công sức được đầu tư vào việc chế tạo các CPU nhằm tạo ra
các máy tính đáp ứng yêu cầu ngày càng cao của xã hội. Đó cũng chính là
nhiệm vụ mà đề tài này cần thực hiện. Để thiết kế một CPU với đầy đủ
chức năng cần một công cụ đủ mạnh. Trong số những công cụ đó, ngôn ngữ
mô tả phần cứng (VHDL) sẽ được sử dụng trong đề tài này
Từ ngôn ngữ VHDL các nhà thiết kế phần cứng có thể thiết kế ra
những thiết bò phần cứng như CPU, bộ vi điều khiển… một cách nhanh chóng
và cũng có thể thực hiện mô phỏng và kiểm tra khả năng hoạt động của
thiết bò trước khi đưa vào sản xuất, nhờ vậy có thể giảm bớt thời gian, chi
phí sản xuất... Do khả năng và tính hiệu quả của ngôn ngữ VHDL là động
cơ chính để chúng em chọn đề tài “Thiết kế CPU dùng ngôn ngữ VHDL”
làm đề tài cho luận văn tốt nghiệp của mình.
Chúng em chân thành biết ơn toàn thể quý thầy cô trong Khoa Công
Nghệ Thông Tin Trường Đại Học Kỹ Thuật Công Nghệ TPHCM, xin chân
thành cảm ơn thầy Lê Mạnh Hải đã tận tình hướng dẫn chúng em thực hiện
luận văn này.
Trong thời gian ngắn, có lẽ chưa đủ để nghiên cứu sâu một đề tài
tương đối lớn, nên chắc chắn không thể tránh khỏi thiếu sót. Kính mong quý
thầy cô góp ý để chúng em tiến bộ thêm.
Tp.HCM, ngày 03 tháng 05 năm 2003
Huỳnh Thò Mộng Tuyền
Dương Huỳnh Thanh Tùng
GVHD: Lê Mạnh Hải Trang 1
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
GIỚI THIỆU
I. MỤC ĐÍCH
Luận văn này thực hiện một số công việc như sau.
- Thiết kế CPU bằng ngôn ngữ VHDL.

1. Các thành phần của VHDL để mô tả phần cứng.....................................9
1.1. Các kiểu của VHDL .............................................................................9
1.2. Các đối tượng của ngôn ngữ VHDL....................................................10
1.3. Các toán tử số học ..............................................................................11
1.3.1. Các toán tử luận lý...........................................................................11
1.3.2. Các toán tử quan hệ.........................................................................11
1.3.3. Các toán tử cộng..............................................................................11
1.3.4. Các toán tử dòch...............................................................................11
1.3.5. Các toán tử một ngôi........................................................................12
1.3.6. Các toán tử nhân..............................................................................12
1.4. Các lệnh tuần tự .................................................................................12
1.4.1. Phép gán biến số..............................................................................12
1.4.2. Phép gán tín hiệu.............................................................................12
1.4.3. Lệnh điều kiện.................................................................................12
1.4.4. Lệnh lặp...........................................................................................13
2. Sự thể hiện phần cứng bằng VHDL ......................................................13
2.1. Các mạch tổ hợp.................................................................................13
GVHD: Lê Mạnh Hải Trang 3
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
2.1.1. Các cổng luận lý..............................................................................13
2.1.2. Các toán tử số học............................................................................13
2.1.3. Các toán tử dòch và quay..................................................................14
2.1.4. Bộ dồn kênh.....................................................................................14
2.2. Các mạch đồng bộ .............................................................................15
2.2.1. Mạch cài..........................................................................................15
2.2.2. Thanh ghi.........................................................................................16
IV. CÔNG NGHỆ FPGA..........................................................................16
1. Các loại FPGA.......................................................................................17
1.1. Các công nghệ lập trình chíp..............................................................18
1.1.1. Công nghệ lập trình dùng RAM tónh................................................18

3. Mô tả các thành phần.............................................................................41
3.1. Đơn vò luận lý số học..........................................................................41
3.2. Đơn vò dòch chuyển.............................................................................44
3.3. Thanh ghi trạng thái............................................................................45
3.4. Thanh ghi tích luy................................................................................46
3.5. Thanh ghi lệnh....................................................................................47
3. Bộ điều khiển của CPU.........................................................................48
Phần 3 MÔ PHỎNG...............................................................................62
I. MAX+PLUSII........................................................................................62
1. Tổng Quát..............................................................................................62
2. Cách sử dụng Max+PlusII......................................................................62
2.1. Thực hiện soạn thảo và dòch một chương trình...................................63
2.2. Thực hiện kiểm tra kết quả sau khi đã tổng hợp mạch.......................64
2.3. Thoát khỏi Max+plusII.......................................................................65
II. MÀN HÌNH KHI MÔ PHỎNG............................................................65
1. Khối luận lý số học ALU.......................................................................65
2. Khối dòch chuyển SHU..........................................................................66
3. Khối điều khiển ....................................................................................67
4. Sơ đồ chân CPU.....................................................................................69
5. Màn hình mô phỏng lệnh.......................................................................70
Phần 4 KẾT LUẬN KIẾN NGHỊ.......................................................71
I. NHẬN XÉT CHUNG.............................................................................71
a. Những mặt đạt được...............................................................................71
b. Những vấn đề tồn tại.............................................................................71
II. HƯỚNG PHÁT TRIỂN.......................................................................71
III. ĐÁNH GIÁ.........................................................................................71
IV. KẾT LUẬN ........................................................................................71
Phần 5 TÀI LIỆU THAM KHẢO.....................................................73
GVHD: Lê Mạnh Hải Trang 5
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL

chức năng hoặc dựa trên cấu trúc của những phần nhỏ hơn của chúng. Đặc
tả cấu trúc các hợp phần có thể được thực hiện ở tất cả các cấp thiết kế.
* Có thư viện hỗ trợ: Ngôn ngữ cung cấp cơ chế để truy cập đến
nhiều thư viện khác nhau. Thư viện không chỉ chứa đặc tả giao diện của
GVHD: Lê Mạnh Hải Trang 6
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
thiết kế, mà còn chứa một số đặc tả 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 dòch.
* Có lệnh tuần tự: Khi người thiết kế phân chia hệ thống thành
những hợp phần đồng thời hay 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 case, if – then – else, loop,…Các lệnh tuần tự cung cấp phương
pháp đơn giản để tạo ra các hợp 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: Ngôn ngữ VHDL cho phép mô tả các
kiểu bit, Boolean, integer, floating, kiểu liệt kê, kiểu dãy, bản ghi. Ngoài ra
còn hỗ trợ các kiểu do người sử dụng đònh nghóa. Ngôn ngữ VHDL cũng cho
phép đònh nghóa lại các toán tử của ngôn ngữ bởi người sử dụng.
* Sử dụng các chương trình con: Ngôn ngữ VHDL cho phép đònh
nghóa các hàm, thủ tục, các chng trình con có thể sử dụng để biến đổi các
kiểu, đònh nghóa đơn vò luận lý, đònh nghóa lại toán hạng, đònh nghóa toán tử
mới, và các ứng dụng khác trong ngôn ngữ lập trình.
* Điều khiển đònh thời: Ngôn ngữ VHDL là cho phép đặc tả đònh thời
ở tất cả các cấp như là: đặt giá trò của tín hiệu, thời gian trễ, đònh nghóa tín
hiệu đồng bộ, đặt độ rộng xung …
II. CÁC KHÁI NIỆM CƠ BẢN (xem[1])

sau
Ví dụ: mô hình cho thực thể mach_cong, ở dạng cấu trúc (structural):
Architecture arc_mach_cong of mach_cong is
Component Xor
Port (X, Y: in bit; Z, T: out bit);
End component;
Component And
Port (L, M: input; N, P: out bit);
End component;
Begin
G1: Xor port map (A, B, Sum);
G2: And port map (A, B, C);
GVHD: Lê Mạnh Hải Trang 8
Sự trừu tượng phần cứng
của một hệ thống số
Khai báo thực thể
Thân kiến trúc
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
End arc_mach_cong;
Thực thể kiến trúc có tên là “arc_mach_cong”. Dùng những thành
phần có sẵn của ngôn ngữ VHDL như cổng And, Xor để nối kết chúng lại
với nhau tạo thành một cấu trúc cho thực thể.
3. Gói
Trong môi trường thiết kế phần cứng cần phải nhóm các hợp phần hay
các tiện ích dùng cho việc mô tả các hợp phần. Những cấu trúc VHDL để
mô tả các tiện ích và môi trường là các đònh nghóa kiểu và chương trình con.
Những hợp phần và tiện ích như vậy có thể được nhóm lại bằng cách sử
dụng khối. Như ví dụ sau, cách khai báo khối chứa các hợp phần và tiện ích
có thể tham khảo được từ các thực thể và các kiến trúc.
Cú pháp: Package tên của gói is

+ Kiểu nguyên được đònh nghóa bởi người sử dụng.
Ví dụ: Type MY_INTEGET is INTEGER range 0 to 1000;
Signal MY_INT: MY_INTEGER;
- Kiểu mảng dùng để đònh nghóa một tập chỉ số.
Ví dụ: Type WORD is array (10 down to 0) of bit;
- Kiểu record dùng để đònh nghóa tập các kiểu khác nhau.
Ví dụ: Type CODE_TYPE is (NONE, DATA, STATMT);
Type ITEM_TYPE is record
CODE: CODE_TYPE;
INT: INTEGER;
End record;
1.2. Các đối tượng của ngôn ngữ VHDL (xem[1])
Trong ngôn ngữ VDHL có một số đối tượng như hằng, biến, tín hiệu.
- Hằng: là giá trò được xác đònh trong suốt thời gian khởi tạo, các giá trò
này không đổi trong suốt quá trình thực thi.
Ví dụ: type TAB is array (BIT, BIT) of BIT;
Constant AND_TAB: TAB := ((‘0’,’0’),(‘0’,’1’));
- Biến: Giá trò của biến được cập nhật tức thời khi được gán.
Có 2 loại biến, biến cục bộ và biến toàn cục.
+ Biến cục bộ có thể được khai báo trong các chương trình con
hoặc trong các quá trình và quan trọng là trong quá trình tổng hợp nơi
mà chúng có thể suy ra các phần tử nhớ.
+ VHDL đồng thời ràng buộc thu hẹp sự sử dụng các biến toàn
cục đối với sự miêu tả cấp hệ thống.
-Tín hiệu:
GVHD: Lê Mạnh Hải Trang 10
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
Trên board mạch in hoặc các mạch tích hợp thông tin được lan truyền
xuyên qua các dây dẫn. Trong ngôn ngữ VHDL các dây dẫn này gọi là “tín
hiệu”.

Ví dụ: Signal S, R1, R2, R3, R4, T1, T2, T3, T4: Bit_Vector (1 To 4);
BEGIN
R1 <= ’SLL’(S, 1);
GVHD: Lê Mạnh Hải Trang 11
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
T2 <= S (2 TO 4) & ‘0’;
R2 <= ‘ROL’(S, 2);
...
1.3.5. Các toán tử một ngôi: “+”, “-” được dùng cho các kiểu số nguyên.
Ví dụ: SIGNAL R, A:INTEGER –4 TO 3;
BEGIN
R<=-A;
….
1.3.6. Các toán tử nhân: /, *, mod, rem
Phép chia “/”, phép nhân “*”, lấy phần nguyên “mod”, lấy số dư
“rem” được xem là trong nhóm toán tử nhân.
Ví dụ: Signal MEM: NATURAL range 0 to 3;
MEM <= (MEM + 1) mod 4;
1.4. Các lệnh tuần tự
1.4.1. Phép gán biến số
Phép gán biến được thực hiện bởi toán tử “:=” và thao tác này xảy ra
ngay lập tức khi tính toán. Do đó giá trò của biến chỉ thay đổi bởi lệnh gán
tiếp theo nếu giá trò mới khác với giá trò cũ.
Ví dụ: A:= 0;
WORD (3 to 4):= “10”;
1.4.2. Phép gán tín hiệu
Phép gán tín hiệu tương tự như phép gán biến nhưng hiệu quả của
lệnh chỉ xảy ra sau lệnh đồng bộ. Phép gán tín hiệu được thực hiện bởi toán
tử “<=”.
Ví dụ: signal <= A and B;

Port (A, B: in bit; S: out bit);
End nor2;
Architecture comb of nor2 is
Begin
S<= A nor B;
End comb;
2.1.2. Các toán tử số học: Gồm 4 toán tử cơ bản cộng, trừ, nhân và chia.
Các toán tử này thường thực hiện trên kiểu dữ liệu số nguyên
(INTEGER). Trong ngôn ngữ VHDL các toán tử ‘+’, ‘-‘, ‘* ‘, ‘/’ đã được
đònh nghóa trước vì vậy có thể sử dụng mà không cần khai báo.
Ví dụ: Signal l1, l2 SUM_l: INTEGER range –16 to 15;
Signal N1, N2, SUM_N: INTEGER range 0 to 47;
SUM_l <= l1+l2;
SUM_N <= N1+N2;
GVHD: Lê Mạnh Hải Trang 13
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
2.1.3. Các toán tử dòch và quay
Các toán tử dòch và quay được thực hiện trên các đối tượng được biểu
diễn theo kiểu bit_vector. Toán tử dòch và quay có thể phân biệt tính luận lý
và tính số học.
Tính luận lý
Phép dòch phải luận lý dòch một mảng sang phải kế tiếp xoá bit phải
nhất của mảng và thêm vào giá trò 0 ở bit trái nhất của mảng.
Phép dòch trái luận lý thực hiện dòch mảng sang trái xoá bit trái nhất
của mảng và thêm vào giá trò 0 ở bit phải nhất của mảng.
Ví dụ: Giá trò ban đầu 10100110
Dòch phải luận lý 01010011
Dòch trái luận lý 01001100
Tính số học
Phép dòch phải số học thực hiện dòch mảng sang phải và lấy bit trái

H a øm t o å h ơ ïp
H a øm t o å h ơ ïp
Đ o àn g h o à
Đ o àn g h o à
T a øi n g u y e ân
n h ơ ù
T a øi n g u y e ân
n h ơ ù
Hình 3.
2.2.1. Mạch cài
Mạch cài là tài nguyên bộ nhớ đơn giản nhất, đầu vào D được truyền
đến đầu ra Q khi tín hiệu điều khiển G tích cực nếu không thì giá trò trước
đó của D giữ nguyên trên Q.
Ví dụ: ENTITY LATCH IS
Port (G: in BIT; D: in BIT; Q: out BIT);
END LATCH;
Architecture A of LATCH IS
Begin
P: Process (G, D)
Begin
If G =’1’ Then Q<= D; End if;
End process P;
End A;
GVHD: Lê Mạnh Hải Trang 15
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
2.2.2. Thanh ghi
Thanh ghi cũng tương tự như mạch cài nhưng dữ liệu được nhớ tại sườn
của lệnh thay vì mức của nó. Sự mô tả mạch cài và thanh ghi gần giống
nhau.
Ví dụ: Entity FF IS

Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
Mô hình hệ hống CAD của FPGA
Đ ơ n v ò l a äp t r ì n h
R o u t i n g
P l a c e m e n t
A Ùn h x a ï c o ân g n g h e ä
T o ái ư u l o g i c
M a ïc h l o g i c b a n đ a àu
V
V
V
V
V
V
C o n f i g u r e d
F P G A
Hình 4.
1. Các loại FPGA
Các loại FPGA của nhiều công ty khác nhau có các đặc tính riêng
chúng có thể được chia làm 4 loại chính:
•Cấu trúc mảng đối xứng (symmetrical array)
•Cấu trúc hàng (row-based )
•Cấu trúc PLD phân cấp (PLD là viết tắt của Programmable Logic
Divice)
•Cấu trúc đa cổng (sea-of-gates)
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .

trạng thái làø: ON hoặc OFF. Các phần tử lập trình dùng để hiện thực các kết
nối lập trình giữa các khối luận lý của FPGA, một FPGA thông thường có
thể có hơn 100.000 phần tử lập trình. Do đó các phần tử lập trình phải có
các tính chất sau:
+ Chiếm càng ít diện tích của chíp càng tốt.
+ Có kháng trở thấp khi ở trạng thái ON và kháng trở cao khi ở trạng thái
OFF.
+ Có điện dung ký sinh thấp khi kết nối các đoạn dây.
+ Có thể chế tạo một cách tin cậy số lượng lớn phần tử lập trình trên một
chíp.
1.1.1. Công nghệ lập trình dùng RAM tónh
Công nghệ lập trình SRAM được sử dụng trong các FPGAs của nhiều
công ty như: Algotronix concurrent Logic, Plessey semiconductors, Xilinx.
Trong các FPGAs này, các kết nối lập trình được làm bằng transistor truyền
(pass-transistor) các cổng cho phép truyền (pass-gates) hay các bộ dồn kênh
(multiplexer), tất cả điều được điều khiển bằng ô nhớ (cell) SRAM.
r o u t i n g w i r e
r o u t i n g
w i r e
r o u t i n g
w i r e
p a s s - t r a s i t o r
R a m c e l l R a m c e l l
r o u t i n g
w i r e
r o u t i n g
w i r e
t r a n s m i s s i o n - g a t e
R a m c e l l
R a m c e l l t o l o g i c

n + d i f f u s i o n
m a ët c a ét n g a n g
c a á u t r u ùc
Hình 7 công nghệ lập trình cầu chì nghòch PLICE.
Anti-fuse PLICE được lập trình bằng cách đặt một điện thế cao thích
hợp (18v) giữa hai đầu của anti-fuse và dòng điều khiển khoảng 5mA qua
thiết bò. Dòng và áp này tạo ra một nhiệt lượng đủ nóng bên trong lớp điện
môi làm nó nóng chảy và tạo ra một liên kết giữa poly-silic và n+diffusion.
Hai lớp dưới cùng và trên cùng của anti-fuse được nối với các dây kim loại
để khi lập trình anti-fuse sẽ tạo ra một kết nối có trở kháng thấp (300 đến
500 ohm) giữa hai dây kim loại.
b. Cấu tạo anti-fuse của QuickLogic
Anti-fuse của QuickLogic gọi là ViaLink. Nó tương tự như PLICE, cũng
có 3 lớp kim loại. Tuy nhiên Vialink sử dụng kim loại mức 1 cho lớp dưới
cùng, một hợp kim vô đònh hình cho lớp giữa và kim loại mức hai cho lớp
trên cùng. Vialink được lập trình bằng cách đặt điện thế 10v giữa các đầu
của nó. Khi dòng được cấp đủ trạng thái của silic vô đònh hình sẽ thay đổi
và tạo ra một liên kết dẫn điện giữa hai lớp kim loại.
GVHD: Lê Mạnh Hải Trang 19
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
o x i d e
m e t a l 1
m e t a l 2
s i l i c v o â đ ò n h h ì n h
Hình 8 Công nghệ lập trình cầu chì nghòch ViaLink.
1.1.3. Công nghệ lập trình EPROM và EEPROM
Công nghệ lập trình EPROM được sử dụng trong các FPGA của Altera
Corp và Plus Logic. Công nghệ này giống như sử dụng trong bộ nhớ
EPROM. Không giống MOS Transistor, một EPROM Transistor gồm hai
cổng, một cổng treo (floating-gate) và một cổng chọn (select-gate). Cổng

đònh.
Một ưu điểm của EPROM transistor là chúng có thể tái lập trình mà
không cần bộ nhớ bên ngoài. Không giống như SRAM, EPROM transistor
không thể tái lập trình ngay trên bộ mạch
Phương pháp dùng EEPROM tương tự như EPROM nhược điểm của nó
là tốn gấp đôi diện tích chíp so với EPROM transistor và cần nhiều nguồn
điện thế mà các loại khác không cần
1.2. Các loại FPGA trên thò trường
Hiện nay trên thò trường có một số họ FPGA của các hãng như Xilinx,
Actel, Altera .v.v. . trong phần này trình kiến trúc của hãng Altera.
Kiến trúc cơ bản của Altera FPGA có cấu trúc nhóm phân cấp của các
PLD trong cấu trúc này sử dụng mảng hai chiều và một cấu trúc routing lập
trình được. Kiến trúc cơ bản của Altera FPGA dựa trên công nghệ lập trình
EPROM nó gồm một mảng lớn các khối lập trình được gọi là những khối
mảng luận lý (logic array Blocks) được kết nối với nhau bởi các nguồn tài
nguyên routing gọi là mảng lập trình nối liền nhau (Programmable
Interconnect Array). Có hai thế hệ Altera FPGA là FPM5000 và FPM7000.
Kiến trúc tổng quát của Altera
L A B L A B< - > < - > L A BL A B < - >< - >
L A B
< - >
I / O C o n t r o l B l o c k
L A B< - > < - >L A B
P I A
L A B< - > < - >L A B
< - >L A B< - > L A B
L A B L A B
L A B
L A BL A B
< - >

< - >
< - >
< - >
P I A = P r o g r a m m a b l e
I n t e r c o n n e c t
A r r a y
L A B = L o g i c A r r a y
B l o c k
Hình 10 Kiến trúc tổng quát của Altera FPGAs.
Altera FPGA có cấu trúc nhóm phân cấp gồm 2 mức một khối luận lý
là Macrocell mức này gọi là LAB và một block gọi là bộ mở rộng đường
GVHD: Lê Mạnh Hải Trang 21
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
dây tích (expander product terms), số lượng macrocell trong mỗi LAB thay
đổi tuỳ theo loại Altera FPGA, mỗi macrocell gồm 3 cổng AND nối vào
cổng OR nối tiếp đến cổng XOR và một filp-flop, cổng XOR tạo ra output
của macrocell. Các ngõ nhập của macrocell xem như các cổng AND một
ngõ nhập vì chúng được tạo ra như các cổng AND nối dây của các tín hiệu.
Đường dây tích có thể là một tín hiệu trong PIA hay là từ bộ mở rộng đường
dây tích của LAB hoặc ngõ xuất của bất kỳ Macrocell nào, các tín hiệu ở
dạng thực hoặc bù nghóa là phép đảo có thể lập trình được (programmable
inversion) với mô hình này thì chức năng của LAB giống chức năng của
PLD nhưng đường dây tích ít hơn trên mỗi thanh ghi. Altera cho rằng điều
này sẽ làm cho LAB hiệu quả hơn bởi vì hầu hết các hàm logic không cần
có số đường dây tích lớn như trong PLD và LAB hỗ trợ mở rộng chức năng
bằng bộ mở rộng đường dây tích
Cấu trúc của Altera LAB
V
V
V

thường. Phần cứng này sau đó được hiện thực bằng cách lập trình các board
mạch FPGA. Phương pháp mới này có 2 thuận lợi cơ bản là:
Không yêu cầu quá trình lấy lệnh như là các bộ vi xử lý truyền thống
bởi vì chính bản thân phần cứng là sự thể hiện của các lệnh đó. Ưu thế này
có thể giúp cho tốc độ của mạch tăng lên đến hàng trăm lần.
Loại thiết bò mới này còn có thể hỗ trợ các quá trình xử lý song song ở
mức độ rất cao, dẫn đến tốc độ xử lý tăng vọt.
ng dụng vào việc tái cấu hình phần cứng (On-Site Re- Configuration
of Hardware): Công nghệ FPGA còn được yêu thích ở chỗ nó cho phép thay
đổi được cấu trúc các máy đã sản xuất hoàn chỉnh hay đã được sử dụng.
Ngay cả đối với các máy ở xa cũng có thể được thay đổi, bổ sung cho thích
ứng hoặc ngay cả chỉnh sửa lại sự sai sót của công việc thiết kế mạch đó.
Loại FPGA thích hợp nhất cho việc tái cấu hình này là loại chứa những công
tắc có thể tái lập trình được.
3. Thiết bò Max, Flex
Công ty Altera là một nhà chế tạo hàng đầu về PLD, Altera tạo ra
PLD trong phạm vi từ các thiết bò có thể được dùng để thay thế tương đương
300 cổng TTL đến các thiết bò có thể thay thế 250000 cổng.
Một board mạch in lớn về các chíp có thể được thay thế bằng một PLD
đơn, điều này sẽ làm giảm được kích thước của hệ thống số và cũng làm
giảm được giá thành chế tạo và chạy thử. PLDs cũng phổ biến vì chúng có
thể xóa được. Các PLD có thể xóa được cho phép nhà thiết kế lập trình một
PLD, và chạy thử chúng trên một hệ thống thực, và làm thay đổi khi cần
thiết. Lập trình lại cho một con chíp thì nhanh hơn nhiều so với việc viết lại
một bread-board hoặc làm lại một board với nhiều dây dẫn chằn chòt. Cuối
cùng một thiết kế được thực thi trong một PLD có thể dễ dàng được vận
chuyển. Thiết kế này có thể được thực thi trong nhiều PLD khác nhau.
Một PLD tiêu biểu chứa một dãy các tài nguyên logic như là các cổng,
các flipflop, các thanh ghi and/or, với các kết nối bên trong giữa các tài
nguyên logic có thể lập trình được. Các kết nối bên trong này có thể được

Thiết bò MAX7000 thường hoạt động với điện thế 5v, 3.3v, 2.5v
3.2. FLEX
Altera FLEX gồm có FLEX10K, FLEX8000 và FLEX6000
-FLEX10K có kiến trúc cơ bản Flexible Logic Element Matrix. Họ
FLEX10K gồm có FLEX10K, FLEX10KA, FLEX10KB, FLEX10KE là
những SRAM gồm có EPF10K10, EPF10K20, EPF10K30, EPF10K40,
EPF10K50, EPF10K70, EPF10K100. Altera FLEX10K được nhúng vào
trong họ lập trình logic nó mở ra tính linh động, tính mềm dẻo của lối lập
trình luận lý theo kiểu lập trình truyền thống. Nó là hai cấu trúc logic đầy
đủ duy nhất nhúng vào mảng và mảng logic. Nó có khoảng 10000 đến
250000 cổng tiêu biểu. FLEX10K mở ra 3 quá trình, mỗi một thế hệ tiếp
theo cung cấp sự thực thi cao hơn, hạ giá thành, làm giảm sự thiệt hại.
GVHD: Lê Mạnh Hải Trang 24
Luận văn tốt nghiệp Thiết Kế CPU 8 Bit dùng VHDL
Phần 2 THIẾT KẾ CPU
Các khái niệm về ngôn ngữ VHDL, cú pháp và ngữ nghóa của nó đã
được trình bày ở phần 1. Phần này sử dụng cấu trúc của phần 1 để mô tả
CPU 8 bit.
Phần I nêu nhiệm vụ của CPU, phần II mô tả tổ chức bộ nhớ của CPU,
phần III trình bày tập lệnh CPU, phần IV trình bày chế độ đòa chỉ của CPU,
phần V mô tả hành vi của CPU, phần VI trình bày các thành phần của CPU.
I. NHIỆM VỤ
Thiết kế một CPU 8 bit, CPU này có một thanh ghi tích luỹ, một bus
dữ liệu 8 bit và một bus đòa chỉ 12 bit. Nó thực hiện được một số phép tính
luận lý và số học cơ bản. CPU có một số lệnh nhảy và rẽ nhánh với các chế
độ đòa chỉ trực tiếp và gián tiếp. CPU cũng có một số lệnh gọi chương trình
con đơn giản, có một tín hiệu đồng hồ CLK, một tuyến ngõ ra 8 bit và hai
tuyến ngõ vào 8 bit có đòa chỉ là FFEh, FFFh.
II. TỔ CHỨC BỘ NHỚ CỦA CPU
CPU có khả năng đònh vò đòa chỉ 4096 byte nhớ thông qua bus đòa chỉ

0
8
0
9
06
.
P a g e 0 . .
.
4
F : 0 0 - F : F F
.
P a g e 2 . .
P a g e 1 4 . .
.
7
.
P a g e 1 5 . .
E : 0 0 - E : F F
5
M E M O R Y
2 : 0 0 - 2 : F F
3 1
0 : 0 0 - 0 : F F
.
1 : 0 0 - 1 : F F
P a g e 1 . .
2
Hình 12 Trang và độ dời của đòa chỉ CPU.
GVHD: Lê Mạnh Hải Trang 25


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