You are on page 1of 57

B¸o c¸o

LuËn v¨n th¹c sü khoa học


Häc viªn: nguyÔn v¨n thi
B¸o c¸o

LuËn v¨n th¹c khoa häc


§Ò tµi:

Nghiªn cøu, t×m hiÓu c«ng nghÖ


FPGA trong thiÕt kÕ m¹ch ®iÖn tö

H­íng dÉn khoa häc : TS. NguyÔn Nam Qu©n

Thùc hiÖn : NguyÔn V¨n Thi


1. c¬ së khoa häc vµ thùc tiÔn

 Trªn c¬ së lý thuyÕt vÒ ASIC lËp tr×nh ®­îc, ng«n ng÷ VHDL.


 Dùa trªn øng dông cña kü thuËt ®iÖn tö sè.
 Thùc tiÔn ¸p dông thiÕt kÕ ®ång hå thêi gian thùc trªn Kit Spartan
3E cña Xilinx.
 Lý do chän ®Ò tµi:
M«n häc thiÕt kÕ sè ®ang b¾t ®Çu ®­îc ®­a vµo gi¶ng d¹y ë mét
sè tr­êng cao ®¼ng kü thuËt nªn cÇn thiÕt ph¶i nghiªn cøu t×m
hiÓu vÒ c«ng nghÖ FPGA ®èi víi mçi gi¶ng viªn chuyªn ngµnh
§iÖn - §iÖn tö.
2. môc ®Ých nghiªn cøu

 Nghiªn cøu vÒ ng«n ng÷ VHDL.


 Nghiªn cøu tæng quan vÒ ASIC lËp tr×nh ®­îc.

 Nghiªn cøu vÒ cÊu tróc FPGA, phÇn mÒm ISE vµ øng


dông thiÕt kÕ mét sè m¹ch ®iÖn tö sè trªn Kit Spartan
3E cña Xilinx .
3. cÊu tróc luËn v¨n
Ch­¬ng 1
Giíi thiÖu tæng quan vÒ Asic lËp tr×nh ®­îc

Ch­¬ng 2
t×m hiÓu c«ng nghÖ fpga cña xilinx

Ch­¬ng 3
GIíI THIÖU NG¤N NG÷ M¤ T¶ PHÇN CøNG VHDL

Ch­¬ng 4
THIÕT KÕ M¹CH §IÖN Tö TR£N KIT SPARTAN 3E
Ch­¬ng 1
Giíi thiÖu tæng quan vÒ Asic lËp tr×nh ®­îc

1.1 Tæng quan vÒ c«ng nghÖ thiÕt kÕ vi m¹ch


HiÖn nay cã 3 xu h­íng thiÕt kÕ IC chÝnh:
 ThiÕt kÕ analog
 ThiÕt kÕ digital
 ThiÕt kÕ Mix-signal
1.2 Giới thiệu về c«ng nghệ ASIC
1.2.1 Full - Custom ASICs
* Dïng khi:
Kh«ng cã c¸c khèi logic cã
s½n trong th­viÖn
C¸c khèi logic hiÖn cã
kh«ng ®ñ nhanh
C¸c khèi logic hiÖn cã cã
kÝch th­íc lín
C¸c khèi logic hiÖn cã tiªu
thô c«ng suÊt lín
ChÝp ASIC cÇn thiÕt kÕ
qu¸ ®Æc biÖt dÉn tíi nhiÒu
m¹ch ph¶i ®­îc thiÕt kÕ mét
c¸ch tuú biÕn.
1.2.2 Semicustom ASICs
 Cell-Based ASIC (CBIC)
 C¸c khèi tuú biÕn cã thÓ ®­îc
nhóng vµo chÝp ASIC. Ng­êi
thiÕt kÕ chØ ph¶i ®Þnh nghÜa
vÞ trÝ ®Æt c¸c khèi logic chuÈn
vµ kÕt nèi gi÷a c¸c khèi.
 C¸c khèi chuÈn cã thÓ ®­îc ®Æt
bÊt kú chç nµo trªn phiÕn silicon
nªn tÊt c¶ c¸c líp mÆt n¹ cña
CBIC cã thÓ ®­îc tù do thiÕt kÕ.
 Do c¸c cell ®­îc thiÕt kÕ ®éc lËp
nªn gi¶m rñi ro, gi¸ thµnh h¹.
1.2.2 Semicustom ASICs
Gate-array-based (ASICs)

 Bao gåm mét m¶ng hai chiÒu c¸c cæng logic gièng nhau ®­îc
x¸c ®Þnh s½n trªn phiÕn silic.
 C¸c cæng logic ®­îc nèi víi nhau bëi c¸c líp kÕt nèi. ViÖc kÕt
nèi gi÷a c¸c cæng logic ®­îc thùc hiÖn bëi mÆt n¹ do ng­êi
thiÕt kÕ t¹o ra.
 Gi¸ thµnh rÎ h¬n c¸c lo¹i ASIC kh¸c.
 Thêi gian chÕ t¹o tõ vµi ngµy ®Õn 2 tuÇn.
1.2.3 C¸c linh kiÖn logic lËp tr×nh ®­îc
(Programmable logic devices)
 Gåm hai lo¹i : PLD (Programmable Logic Device) vµ FPGA (Field
Programmable Gate Array).
 Logic cell vµ mask layer cã s½n (kh«ng theo yªu cÇu cña user).
 Interconnect lËp tr×nh ®­îc.
 Ma trËn cac macrocell bao gåm PAL+FF hoÆc Latch.
 Thêi gian thiÕt kÕ hoµn chØnh kh¸ nhanh ( kho¶ng vµi giê).
 Field-programmable: PROM, EPROM, EEPROM, UVPROM.
 Mask-programmable: Mask- programmable ROM (Masked
ROM)
 PLD tæ hîp gåm:

 PROM cÊu t¹o tõ c¸c m¶ng AND cè ®Þnh vµ OR lËp tr×nh.

 PAL cã m¶ng c¸c phÇn tö logic AND lËp tr×nh ®­îc vµ c¸c

m¶ng phÇn tö OR cè ®Þnh.

 PLA cã kÕt nèi cã thÓ lËp tr×nh ®­îc cho c¶ hai m¶ng phÇn

tö AND vµ OR.
 PLD tuÇn tù:

 CPLD
Ch­¬ng 2
t×m hiÓu c«ng nghÖ fpga cña xilinx
2.1 CÊu tróc chung cña FPGA
2.1.1 CLB (Configurable Logic Block)

C¸c khèi CLB cña FPGA


COUT

YB
G4
Y
G3

. LOOK UP CARRY
AND S YQ

.
G2 TABLE D
CONTROL
LOGIC
CLK

EC R
F5 IN
BY
. .
SR
XB
F4 X
CARRY
F3
. LOOK UP AND
S

.
TABLE CONTROL
F2 D XQ

. .
LOGIC
F1
CLK
EC R

BX
C IN
CE

CÊu tróc mét CLB


 C¸c lo¹i kÕt nèi CLB
2.1.2 IOB (Input/Output Blocks)

CÊu tróc mét IOB


2.2 C¸c c«ng nghÖ lËp tr×nh cho FPGA

 SRAM

 Cã tÝnh bay h¬i (mÊt d÷ liÖu khi mÊt ®iÖn).

 Cã thÓ t¸i cÊu h×nh ngay trªn m¹ch rÊt nhanh.


 Antifuse
 Kh«ng cã tÝnh bay h¬i.
 LËp tr×nh mét lÇn.
 EPROM vµ EEPROM
 Kh«ng cã tÝnh bay h¬i.
 LËp tr×nh l¹i ®­îc.
2.3 Lâi cña FPGA

 Lâi cøng (hard core): TÝch hîp trong chip bëi nhµ s¶n xuÊt
c¸c th«ng sè cè ®Þnh, ®­îc gäi lµ Intellectual Property (IP)
 Lâi mÒm (soft core): CÊu tróc tÝch hîp cã thÓ thay ®æi lËp tr×nh
®­îc.
2.4 øng dông cña FPGA

 C¸c m¹ch tÝch hîp øng dông ®Æc biÖt (ASICs)


FPGA lµ mét ph­¬ng tiÖn tæng qu¸t nhÊt ®Ó thùc hiÖn c¸c m¹ch
logic sè. Chóng ®Æc biÖt thÝch hîp cho viÖc thùc hiÖn c¸c
ASICs.
 Thay thÕ c¸c chip SSI cho m¹ch tæ hîp
 ChÕ t¹o mÉu
 M¸y tÝnh dùa trªn FPGA
 T¸i cÊu h×nh phÇn cøng trùc tuyÕn
2.5 ­u nh­îc ®iÓm cña c«ng nghÖ FPGA

 ­u ®iÓm

 Thêi gian thùc hiÖn thiÕt kÕ nhanh

 Cã thÓ thay ®æi thiÕt kÕ dÔ dµng

 Chi phÝ thÊp

 Nh­îc ®iÓm

 Tèc ®é thÊp

 ChØ hiÖu qu¶ trong thiÕt kÕ c¸c m¹ch sè

 Kh«ng thay thÕ ®­îc c¸c linh kiÖn ASIC


Ch­¬ng 3
GIíI THIÖU NG¤N NG÷ M¤ T¶ PHÇN CøNG VHDL

3.1 ¦u ®iÓm cña ng«n ng÷ VHDL


 Thø nhÊt lµ tÝnh c«ng céng
 Thø hai lµ kh¶ n¨ng ®­îc hç trî bëi nhiÒu c«ng nghÖ vµ
nhiÒu ph­¬ng ph¸p thiÕt kÕ
 Thø ba lµ tÝnh ®éc lËp víi c«ng nghÖ
 Thø t­lµ kh¶ n¨ng m« t¶ më réng
 Thø n¨m lµ kh¶ n¨ng trao ®æi kÕt qu¶
 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Õ
3.2 øng dông cña ng«n ng÷ VHDL

 Ứng dụng trong thiết kế PLD và FPGA

 Ứng dụng trong thiết kế ASIC

3.3 Quy tr×nh thiÕt kÕ víi VHDL

 Giai ®o¹n 1: Chóng ta b¾t ®Çu thiÕt kÕ b»ng viÕt m·

VHDL. M· VHDL nµy sÏ ®­îc l­u vµo file cã ®u«i lµ .vhd vµ cã

tªn cïng víi tªn thùc thÓ. M· VHDL sÏ ®­îc m« t¶ ë tÇng

chuyÓn ®æi thanh ghi.


 Giai ®o¹n 2: Giai ®o¹n chÕ t¹o

Qu¸ tr×nh biªn dÞch sÏ chuyÓn m· VHDL vµo mét netlist ë

tÇng cæng. Qu¸ tr×nh tèi ­u ®­îc thùc hiÖn trªn netlist ë tÇng

cæng vÒ tèc ®é vµ ph¹m vi. Trong giai ®o¹n nµy, thiÕt kÕ cã

thÓ ®­îc m« pháng ®Ó kiÓm tra ph¸t hiÖn nh÷ng lçi x¶y ra

trong qu¸ tr×nh chÕ t¹o.


 Giai ®o¹n 3: Lµ giai ®o¹n ghÐp nèi ®ãng gãi phÇn mÒm. ë

giai ®o¹n nµy sÏ t¹o ra sù s¾p xÕp vËt lý cho chip PLD/FPGA

hoÆc t¹o ra mÆt n¹ cho ASIC.


Tãm t¾t quy tr×nh thiÕt kÕ víi VHDL
3.4 CÊu tróc m· VHDL
3.4.1 C¸c ®¬n vÞ VHDL c¬ b¶n.

Mét ®o¹n Code chuÈn cña VHDL gåm tèi thiÓu 3 môc sau:

Khai b¸o 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 (I/O pins) cña m¹ch.

ARCHITECTURE: chøa m· VHDL, m« t¶ m¹ch sÏ häat ®éng nh­

thÕ nµo.
 Khai b¸o Library

LIBRARY library_name;
USE library_name.package_name.package_parts;

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_1164 (from the ieee library).
 standard (from the std library).
 work (work library).
C¸c phÇn c¬ b¶n cña mét Library
 Entity ( thùc thÓ)

Mét ENTITY lµ mét danh s¸ch m« t¶ c¸c ch©n vµo/ra ( c¸c PORT)
cña m¹ch ®iÖn. Có ph¸p nh­sau:
ENTITY entity_name IS
PORT (
port_name : signal_mode signal_type;
port_name : signal_mode signal_type;
...);
END entity_name;
 ARCHITECTURE ( cÊu tróc)

ARCHITECTURE lµ mét m« t¶ m¹ch dïng ®Ó quyÕt m¹ch sÏ


lµm viÖc nh­thÕ nµo ( cã chøc n¨ng g×). Có ph¸p nh­sau:
ARCHITECTURE architecture_name OF
entity_name IS[declarations]
BEGIN
(code)
END architecture_name;
 M« t¶ kiÕn tróc theo m« h×nh ho¹t ®éng
 M« t¶ kiÕn tróc theo m« h×nh cÊu tróc
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
3.5 KiÓu d÷ liÖu trong VHDL
C¸c kiÓu d÷ liÖu tiÒn ®Þnh nghÜa
 KiÓu d÷ liÖu cã dÊu vµ kh«ng dÊu
( Signed and Unsigned)
 C¸c kiÓu con (Subtypes)
 M¶ng (Arrays)
 KiÓu b¶n ghi (Records)

 C¸c kiÓu d÷ liÖu ng­êi dïng ®Þnh nghÜa

 ChuyÓn ®æi d÷ liÖu


3.6 To¸n tö vµ thuéc tÝnh.
 To¸n tö.

 To¸n tö g¸n.
 To¸n tö logic.
 To¸n tö to¸n häc.
 To¸n tö so s¸nh.
 To¸n tö dÞch.
 Thuéc tÝnh.

 Thuéc tÝnh d÷ liÖu


 Thuéc tÝnh tÝn hiÖu
 Thuéc tÝnh ®­îc ®Þnh nghÜa bëi ng­êi dïng
3.7 C¸c lÖnh song song vµ tuÇn tù

 C¸c lÖnh song song: Tất cả c¸c lệnh trong architecture đều được
thực hiện đồng thời (song song) giống như trong phần cứng, c¸c
cổng logic hoạt động đồng thời.
 Một process hoạt động như một c©u lệnh vµ được thực hiện
đồng thời với c¸c c©u lệnh kh¸c.
 Bªn trong một process, c¸c lệnh được thực hiện tuần tự theo thứ
tự từ trªn xuống dưới. Điều nµy gióp cho việc chia nhỏ một lệnh
rất phức tạp thµnh c¸c lệnh đơn giản hơn.
 Có ph¸p khai b¸o Process:

Process_name: process (sensitivity_list) is


-- variable declarations;
begin
-- sequential commands
end process;
 Có ph¸p khai b¸o biến:

variable Variable_name: type;


3.8 Biến (Variables)
 Variable chỉ được sử dụng trong process hoặc chương tr×nh con

 Gi¸ trị của variable được cập nhật ngay lập tức trong khi gi¸ trị của
tÝn hiệu signal sẽ được cập nhật khi process kết thóc
 Biến vµ tÝn hiệu cã thể đựơc g¸n gi¸ trÞ cho nhau

 Biến chỉ được dïng tạm thời trong process, nếu gi¸ trị của nã muốn
được truy cập ngoµi process ta phải g¸n gi¸ trÞ đã cho một tÝn hiệu.
3.9 Chương tr×nh con

 Gồm 2 loại: thủ tục (procedure) vµ hµm (function).

 Thủ tục: cã thể trả về nhiều gi¸ trÞ, cã thể cã c¸c biến số lµà c¸c tÝn
hiệu vµo, ra hoặc vµo\ra.
 Hµm: chỉ trả về một gi¸ trị vµ tất cả c¸c biến số chỉ cã thể lµà tÝn
hiệu vµo.
 Thủ tục vµ hµm cã 2 loại: song song vµ tuần tự. Thủ tục hoặc hµm
song song được đặt ngoµi process vµ thủ tục hoặc hµm tuần tự chỉ
được đặt trong process.
 C¸c lệnh trong chương tr×nh con được thực hiện tuần tự giống như
process.
Ch­¬ng 4
THIÕT KÕ M¹CH §IÖN Tö TR£N KIT SPARTAN 3E

4.1 Giíi thiÖu kit Spartan 3E


4.1.1 C¸c thµnh phÇn chÝnh cña Kit

 Xilinx XC3S500E Spartan-3E FPGA : linh kiÖn chÝnh cña KIT.


 Xilinx 4 Mbit Platform Flash configuration PROM.
 Xilinx 64-macrocell XC2C64A CoolRunner CPLD.
 64 MByte (512 Mbit) of DDR SDRAM, x16 data interface, 100+
MHz.
 2-line, 16-character LCD screen
 50 MHz clock oscillator
 PS/2 mouse or keyboard port
 VGA display port
 Four slide switches
 Eight discrete LEDs
 Rotary-encoder with push-button shaft
 Four-output, SPI-based Digital-to-Analog Converter (DAC)
 Two-input, SPI-based Analog-to-Digital Converter (ADC) with
programmable-gain
 On-board USB-based FPGA/CPLD download/debug interface
 Two 9-pin RS-232 ports (DTE- and DCE-style)
...
4.1.2 N¹p ch­¬ng tr×nh cho FPGA

Cã 4 c¸ch ®Ó n¹p ch­¬ng tr×nh cho FPGA


 N¹p trùc tiÕp vµo FPGA th«ng qua cæng JTAG hay cæng USB.
 N¹p vµo Platform Flash PROM XCF04S (4Mbit), råi cÊu h×nh
cho FPGA ë chÕ ®é Master Serial Mode.
 N¹p vµo serial Flash PROM ST Microelectronics (16 Mbit), råi
cÊu h×nh cho FPGA ë chÕ ®é SPI Mode.
 N¹p vµo StrataFlash parallel PROM Intel (128 Mbit), råi cÊu
h×nh cho FPGA ë chÕ ®é BPI Up Mode hay BPI Down Mode.
4.1.3 Giíi thiÖu vi ®iÒu khiÓn PicoBlaze
 Vi ®iÒu khiÓn PicoBlaze lµ vi ®iÒu khiÓn nhóng 8 bÝt cã
cÊu RISC ®­îc tèi ­u ph¸t triÓn cho c¸c hä FPGA Spartan 3, Virtex
II vµ Virtex II Pro cña Xilinx.
 Vi ®iÒu khiÓn PicoBlaze ®­îc tèi ­u vÒ mÆt hiÖu suÊt vµ chi
phÝ ph¸t triÓn thÊp nã chiÕm mét phÇn rÊt nhá ë møc 0.3% cña
XC3S5000 FPGA.
 §­îc nhóng trong FPGA vi ®iÒu khiÓn PicoBlaze lµm gi¶m
kÝch th­íc m¹ch, gi¸ thµnh vµ thêi gian thiÕt kÕ.
 Vi ®iÒu khiÓn PicoBlaze ®­îc cung cÊp d­íi file nguån VHDL
gäi lµ KCPSM3.vhd.
S¬ ®å khèi cÊu tróc vi ®iÒu khiÓn PicoBlaze
 Khai b¸o component vµ g¾n ch©n nh­sau:

Component KCPSM3
Port (
address : out std_locgic_vector ( 9 downto 0 );
instruction : in std_locgic_vector ( 17 downto 0 );
port_id : out std_locgic_vector ( 7 downto 0 );
write_stroble : out std_locgic_;
out_port : out std_locgic_vector ( 7 downto 0 );
read_stroble : out std_locgic_;
in_port : in std_locgic_vector ( 7 downto 0 );
interrupt : in std_locgic;
interrupt_ack : out std_locgic;
reset : in std_locgic;
clk : in std_locgic;
);
end component
Processor: kcpsm3
Port map (
Address => address_signal,
Instruction => Instruction_signal,
Port_id => port_id_signal,
Write_stroble => write_stroble_signal,
Out_port => out_port_signal,
Read_stroble => read_stroble_signal,
In_port => In_port_signal,
Interrupt => Interrupt_signal,
Interrupt_ack => Interrupt_ack_signal,
Reset => Reset_ signal,
Clk => Clk_signal
);
 Khai b¸o component vµ g¸n c¸c thùc thÓ cña bé nhí
ch­¬ng tr×nh trong FPGA:
Component prog_rom
Port (
address : out std_locgic_vector ( 9 downto 0 );
instruction : in std_locgic_vector ( 17 downto 0 );
clk : in std_locgic;
 
);
end component
 program: prog_rom
 
Port map (
Address => address_signal,
Instruction => Instruction_signal,
Clk =>
Clk_signal
);
S¬ ®å cÊu tróc vi ®iÒu khiÓn PicoBlaze
4.2 PhÇn mÒm thiÕt kÕ
4.2.1 M« t¶ kh¸i qu¸t vÒ ISE
ISE (Integrate Software Environment)- m«i tr­êng phÇn mÒm
tÝch hîp- lµ mét bé phÇn mÒm thiÕt kÕ cña Xilinx víi giíi h¹n
øng dông rÊt réng tõ nh÷ng thiÕt kÕ ban ®Çu víi CPLD ®Õn
nh÷ng thö nghiÖm thiÕt kÕ víi ASIC vµ ®Æc biÖt lµ c¸c thiÕt
kÕ bËc cao cña FPGA. ISE cho phÐp t¹o ra c¸c s¶n phÈm thiÕt
kÕ th«ng qua viÖc nhËp c¸c thiÕt kÕ vµo thiÕt bÞ ch­¬ng tr×nh
ho¸ cña Xilinx.
 ISE cho phÐp cã thÓ lùa chän mét hoÆc nhiÒu ph­¬ng ¸n
thiÕt kÕ kh¸c nhau bao gåm:
 ThiÕt kÕ b»ng ng«n ng÷ m« t¶ phÇn cøng HDL
(VHDL,Verilog HDL, ABEL).
 ThiÕt kÕ d­íi d¹ng s¬ ®å cæng Logic (Schematic).
 §å h×nh tr¹ng th¸i (State Machines).
4.2.2 C¸c giai ®o¹n thiÕt kÕ sö dông ISE
 §Ó t¹o mét thiÕt kÕ trong ISE (®èi víi c¶ CPLD vµ
FPGA), ng­êi thiÕt kÕ ph¶i tr¶i qua c¸c b­íc sau:
T¹o mét dù ¸n míi (New Project) hoÆc më mét dù ¸n ®· cã.

T¹o vµ thªm file vµo trong dù ¸n


T¹o c¸c file Constraints (UCF) - c¸c quy t¾c vµ sù rµng
buéc trong thiÕt kÕ.

 §­a vµo c¸c rµng buéc (quy t¾c) nh­sù ®Þnh thêi, quy t¾c
g¸n ch©n, vµ ®Þnh c¸c vïng.
 Lùa chän c¸c thuéc tÝnh ®Ó tæng hîp vµ thùc hiÖn thiÕt kÕ.
 M« pháng thiÕt kÕ
 Thùc hiÖn thiÕt kÕ: ThiÕt kÕ sÏ ®­îc tæng hîp (nÕu nã ch­a thùc
hiÖn viÖc nµy) vµ thùc thi thiÕt kÕ gåm cã dÞch(Translate), ¸nh x¹
(Map), s¾p ®Æt vµ kÕt nèi (Plane & Route).
 Xem l¹i nh÷ng b¸o c¸o cña viÖc dÞch, ¸nh x¹, s¾p ®Æt vµ kÕt nèi.

 Thay ®æi nh÷ng thuéc tÝnh, rµng buéc... vµ tiÕp tôc thùc hiÖn thiÕt
kÕ. LÆp l¹i cho ®Õn khi thiÕt kÕ ®· ®¹t yªu cÇu.
 Xem sù s¾p ®Æt thiÕt kÕ trong FloorPlanner, cã thÓ dïng tay ®Æt
vµ nhãm l¹i trËt tù logic b»ng Mapping trong Floorplanner
 Xem sù s¾p ®Æt vµ kÕt nèi thiÕt kÕ trong FPGA Editor (®èi víi tr­
êng hîp thiÕt kÕ FPGA), cã thÓ trùc tiÕp Ên ®Þnh viÖc kÕt nèi trong
c¸c môc thiªt kÕ b»ng FPGA Editor.
 T¹o mét file ch­¬ng tr×nh (.bit) ®Ó cÊu h×nh cho thiÕt bÞ.

 T¹o mét PROM, ACE, hoÆc file JTAG ®Ó gì rèi hoÆc t¶i xuèng
thiÕt bÞ.
 Sö dông c«ng cô IMPACT ®Ó n¹p ch­¬ng tr×nh cho thiÕt bÞ víi mét
c¸p lËp tr×nh.
 Tæng quan mét luång thiÕt kÕ trªn ISE
 NhËp thiÕt kÕ (Design Entry)
Trong khi nhËp thiÕt kÕ, ph¶i t¹o c¸c file nguån trªn cë së môc ®Ých
thiÕt kÕ. Cã thÓ t¹o ra c¸c file thiÕt kÕ bËc cao b»ng c¸ch dïng ng«n
ng÷ m« t¶ phÇn cøng (ch¼ng h¹n nh­VHDL, Verilog, hay Abel) hoÆc
dïng 1 s¬ ®å (schematic). Ng­êi thiÕt kÕ cã thÓ dïng nhiÒu ®Þnh d¹ng
cho c¸c file nguån cÊp thÊp trong c¸c thiÕt kÕ cña m×nh.

 Tæng hîp (Synthesis)


Sau khi nhËp thiÕt kÕ vµ m« pháng tuú ý, thùc hiÖn ch¹y tr×nh tæng
hîp. Trong b­íc nµy, c¸c thiÕt kÕ víi c¸c ng«n ng÷ VHDL, Verilog,
ABEL hay 1 ng«n ng÷ hçn hîp nµo ®ã (nh­Schematic/VHDL) ®­îc
kiÓm tra cÊu tróc vµ có ph¸p sau ®ã khi ®· ®¸p øng ®­îc yªu cÇu nã sÏ
trë thµnh c¸c file Netlist (danh s¸ch d¹ng l­íi) - vµ ®­îc chÊp nhËn nh­
®Çu vµo b­íc thùc hiÖn.
 Thùc hiÖn thiÕt kÕ (Implementation)
Sau khi tæng hîp, thùc hiÖn thiÕt kÕ (Implementation ) ®Ó chuyÓn
c¸c thiÕt kÕ logic thµnh mét ®Þnh d¹ng file vËt lý vµ ®­îc t¶i xuèng
thiÕt bÞ ®Ých ®­îc chän.
 KiÓm tra, m« pháng (Simulation)
Tr×nh m« pháng ®­îc sö dông réng r·i trong c¸c thiÕt kÕ cña Xilinx lµ
MODEL SIM. §©y lµ tr×nh m« pháng ®­îc cµi ®Æt trªn m«i tr­êng cña
ISE, vµ hç trî cho ISE. §Ó cã thÓ m« pháng b»ng MODEL SIM ng­êi
thiÕt kÕ ph¶i t¹o ra c¸c file nguån m« pháng, nh­lµ VHDL Test bench
hay Test bench Wavefrom.
 N¹p ch­¬ng tr×nh (cÊu h×nh) cho thiÕt bÞ ( DOWNLOAD)
Sö dông c«ng cô IMPACT lµ c«ng cô cã thÓ chuyÓn ®æi ra nhiÒu
cÊu tróc file lËp tr×nh thÝch hîp n¹p cho thiÕt bÞ, c«ng cô nµy ®· ®­îc
tÝch hîp trong ISE.
4.3 ThiÕt kÕ mét sè m¹ch ®iÖn tö trªn kit Spartan 3E

 ThiÕt kÕ ALU.

 Bé ®Õm hai ch÷ sè thËp ph©n tõ 00 ®Õn 99 hiÓn thÞ LED 7

thanh.

 Bé céng cã nhí 8 bit kh«ng dÊu.

 Bé ®iÒu khiÓn ®Ìn giao th«ng (TLC).

ThiÕt kÕ ®ång hå thêi gian thùc dïng vi ®iÒu khiÓn PicoBlaze.


Xin tr©n tr©n träng c¶m ¬n!

You might also like