Professional Documents
Culture Documents
Downloadfile 1
Downloadfile 1
I. Gii thiu:
Ti liu ny hng dn cho chng ta pht trin mt h thng da trn vi x l Nios II ca Altera. Bng cch s dng phn mm Quartus II v b thit k Nios II nhng EDS, chng ta c th thit k mt h thng Nios II phn cng v giao tip vi cc ngoi vi khc trn board Leopard. Trong phn ny, chng ta ch xem xt cc bc c bn cho php xy dng mt h thng n gin vi y CPU, b nh v cc ngoi vi, cc thit k phc tp khc c th c xem xt chi tit trong cc ti liu khc. Trong ti liu ny ta s thit k mt h thng Nios II trn kit FPGA Leopard I. Kit FPGA Leopard I do phng th nghim H-laboratory pht trin da trn dng chip Cyclone III ca hng Altera . t mua kit Leopard I hoc xem thm cc sn phm khc, vui lng vo website www.titans.com.vn bit thm chi tit , chc nng v hng dn s dng kit FPGA Leopard I, vui lng tham kho ti y: http://titans.com.vn/index.php?page=shop.product_details&product_id=70&option=co m_virtuemart Trong bi vit ny, chng ta s s dng v d thit k mt h thng Nios II nh cho ng dng iu khin. V d ny cho php CPU Nios iu khin Led, nt nhn v giao tip vi my tnh qua cng JTAG UART.
CPU Nios II theo mc ch thit k. Ngoi ra, ngi thit k c th m rng kh nng ca CPU bng cch thm cc tnh nng nh qun l b nh MMU hoc cc lnh ty bin (custom instruction)
Theo nghin cu ca Gartner Research , Altera's Nios II l vi x l soft-core ph bin nht trong ngnh cng nghip FPGA. Nios II bao gm y cc tnh nng ca cc li vi x l hin i nh :
Qun l b nh MMU n v bo v b nh (Memory protection unit MPU ) H thng vector ngt vi cc b iu khin ngt c lp ln ti 32 trn mt b iu khin H thng instruction v data caches ring bit (c th cu hnh t 512 bytes ti 64 KB) Kh nng nh a ch ln ti 2 GB. C th them tightly-coupled memory cho instructions v data tng hiu sut Kin trc 6 tng pipeline t hiu sut MIPS cao (*Dhrystones 2.1 benchmark) trn MHz B nhn v dch phn cng thc thi trong 1 chu k. C th ty chn b chia hardware C kh nng tin on cc lnh r nhnh ng C th thm ti 256 lnh ty bin v khng gii hn cc b tng tc hardware Module JTAG debug c th ty bin Cc tnh nng JTAG debug nng cao, nh hardware breakpoints, data triggers, v realtime trace c th ty chn.
HFAR01
CPU Nios II c ba cu hnh chnh : Nios II /e core , Nios II /s core , Nios II /f core phn theo hiu sut v chi ph , v c th la chn ph hp cho tng ng dng ring.
Nios II Processor Core Vendor Nios II economy core
Description
Altera With as low as 600 logic elements, the Nios II economy processor core is ideal for microcontroller applications. The Nios II economy processor core, software tools, and device drivers are offered free of charge.
Real time
Nios II Altera Absolutely deterministic, jitter free real-time standard and performance with unique hardware real-time fast core features
Vector Interrupt Controller Tightly Coupled Memory Custom instructions (ability to use FPGA hardware to accelerate a function) Supported by industry-leading RealTime Operating Systems (RTOS) Nios II processor is the ideal real-time processor to use with DSP Builderbased hardware accelerators to provide deterministic, high performance realtime results
Altera With a simple configuration option, the Nios II fast processor core can use a memory management unit (MMU) to run embedded Linux. Both open source and commercially supported versions of Linux for Nios II processors are available.
HFAR01
Cyclone III EP3C16Q240 ARM Cortex M3 STM32F103RCT 8x User Buttons, 8x general purpose leds USB 2.0 Interface LCD 16x2 charactor. 4x Led 7-Segments 2x RS232 with DB9 Connector MMC/SD Card socket 32KB SRAM 4Mbits EEPROM AS and JTAG configuration support.
HFAR01
Cyclone III EP3C16Q240 o 15.400 LEs. o 56 M9K Memory Blocks. o 516.096 On-chip Memory bits. o 56 18x18 Multipliers. o 4xPLL. o Maximum 160 IOs. STM32F103RCT o ARM 32-bit Cortex-M3 CPU o 72 MHz maximum frequency, 1.25 DMIPS/MHz (Dhrystone 2.1) o 512 Kbytes of Flash memory o 64 Kbytes of SRAM o 3 12-bit, 1 s A/D converters (up to 21 channels) o 2 12-bit D/A converters o DMA: 12-channel DMA controller o Debug Serial wire debug (SWD) & JTAG interfaces o Up to 11 timers 2 o Up to 2 I C interfaces (SMBus/PMBus) o Up to 5 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control) 2 o Up to 3 SPIs (18 Mbit/s), 2 with I S interface multiplexed o USB 2.0 full speed interface o CRC calculation unit, 96-bit unique ID
bit thm chi tit , chc nng v hng dn s dng kit FPGA Leopard I, vui lng tham kho ti y:
http://titans.com.vn/index.php?page=shop.product_details&product_id=70&option=com_virtuemart.
HFAR01
Vi x l Nios II /s core (standard) Memory on chip Timer JTAG UART 8-bit parallel I/O (PIO) iu khin LEDs System identification component
Hnh 3 m t h thng v mi quan h gia my tnh, board ,FPGA v h thng Nios II.
HFAR01
Yu cu v phn cng v phn mm: Trong bi ny, chng ta cn cc thnh phn sau.
o Kin thc v Altera Quartus v to project trn phn mm Quartus II (xem ti liu HFAR02 bit cch to project) o Altera Quartus II software version 9.0 hoc cao hn. o Nios II EDS version 9.0 hoc cao hn o Kit FPGA Leopard I (xem ti y ) o Cp USB Blaster (xem ti y ) o Kt ni Kit Leopard vi PC nh hnh 4
Hnh 5: To file .bdf cho h thng Titans Technology | www.titans.com.vn / www.hlab.com.vn Copyright 2012, Titans Technology HFAR01
HFAR01
Trong h thng no th CPU cng cn phi c b nh cho d liu v lnh. Trong thit k v d ny, ta s 20 KB on-chip memory cho c data v instructions. thm memory vo h thng, thc hin cc bc sau: o Trn tab Component Library (bn tay tri ca tab System Contents), trong
Titans Technology | www.titans.com.vn / www.hlab.com.vn Copyright 2012, Titans Technology HFAR01
Xy dng h thng Nios II trn kit FPGA Leopard I Memories and Memory Controllers, m On-Chip, v click vo On-Chip Memory (RAM or ROM). Click Add. Bng cu hnh thng s xut hin nh hnh 10. Trong danh sch Block type, chn Auto. Trong hp thoi Total memory size, nh vo 20480 c 20 KB. ng thay i cc thng s mc nh no ht .
o o o o
Xy dng h thng Nios II trn kit FPGA Leopard I o Click chut phi vo on-chip memory mi to, i tn thnh onchip_mem .
Tip theo ta to CPU Nios II Trong phn ny, ta s them CPU Nios II/s core v cu hnh cho n s dng b nh cache lnh 2 KB on-chip. Thc hin cc bc sau thm Nios II/s core vo h thng:
o o o o o o o o o o Trong tab Component Library, m Processors, v click vo Nios II Processor. Click Add. Xut hin hp thoi cu hnh thng s cho Nios II nh hnh 11. Di phn Select a Nios II core, chn Nios II/s. Trong danh sch Hardware multiplication type, chn Embedded Multipliers. Tt mc Hardware divide. Trong phn Reset Vector chn onchip_mem Trong phn Exception Vector chn onchip_mem Trong tab Caches and Memory Intefaces chn Instruction Cache 2 Kbytes Cc mc khc mc nh Click Finish. Quay tr li tab SOPC System Contents, v mt con CPU Nios II xut hin trong bng system contents.
HFAR01
Xy dng h thng Nios II trn kit FPGA Leopard I o Trong phn connection, m bo kt ni gia Nios II instruction_master , data_master , jtag_debug_module kt ni ti port s1 ca onchip_mem . o Click chut phi vo CPU mi to, i tn thnh cpu .
Thm JTAG UART Module JTAG UART cho php ta giao tip d liu gia vi x l Nios II processor vi my tnh thng qua cp USB-Blaster. Thc hin cc bc sau thm module JTAG UART:
o Trong tab Component Library, M phn Interface Protocols, chn Serial, v click chn JTAG UART. o Click Add. Bng cu hnh thng s cho JTAG UART xut hin nh hnh 12. o ng thay i bt c thng s mc nh no.
o Click Finish. Quay tr li SOPC System Contents tab , thnh phn JTAG UART xut hin trong bng system contents o Click chut phi vo module JTAG UART, i tn thnh jtag_uart.
HFAR01
Xy dng h thng Nios II trn kit FPGA Leopard I o m bo c kt ni gia Nios II data_master port vi Avalon_jtag_slave ca JTAG UART
Thm b Interval Timer. Hu ht cc h thng iu khin u s dng thnh phn timer tnh ton thi gian chnh xc. c nhp clock h thng theo chu k, Nios II HAL cn mt timer. Thc hin cc bc sau them timer vo h thng :
o Trong tab Component Library, m Peripherals, chn Microcontroller Peripherals, v click chn Interval Timer. o Click Add. Bng cu hnh thng s cho Interval Timer xut hin nh hnh 13 o Trong danh sch Presets, chn Full-featured. o ng thay i bt c thng s mc nh no.
12 Hnh 13: Giao din cu hnh tham s Interval Timer Titans Technology | www.titans.com.vn / www.hlab.com.vn Copyright 2012, Titans Technology HFAR01
Xy dng h thng Nios II trn kit FPGA Leopard I o Click Finish. Quay tr li SOPC System Contents tab , thnh phn Interval Timer xut hin trong bng system contents o Click chut phi vo module Interval Timer, i tn thnh sys_clk_timer. o m bo c kt ni gia Nios II data_master port vi port s1 ca sys_clk_timer
Thm System ID Peripheral Module system ID peripheral cho php m bo h thng c bin dch ti nhng thi im khc nhau s c s ID khc nhau m bo phn mm s c download xung ng h thng mong mun. Thc hin cc bc sau them system ID Peripheral vo h thng :
o Trong tab Component Library, m Peripherals, chn Debug and Performance , v click chn System ID Peripheral. o Click Add. Bng cu hnh thng s cho System ID Peripheral s xut hin nh hnh 14. o ng thay i bt c thng s mc nh no.
o Click Finish. Quay tr li SOPC System Contents tab , thnh phn System ID Peripheral xut hin trong bng system contents o Click chut phi vo module System ID Peripheral, i tn thnh sysid. o m bo c kt ni gia Nios II data_master port vi port control_slave ca sysid
Thm PIO Thnh phn PIO l cch d nht Nios II c th nhn tn hiu t bn ngoi, hoc iu khin mt tn hiu output. Cc ng dng iu khin phc tp c th cn hng trm tn hiu PIO, trong v d ny, ta ch cn 8 tn hiu PIO iu khin 8 n led trn board. Thc hin cc bc sau them thnh phn PIO.
o Trong tab Component Library, m Peripherals, chn Microcontroller Peripherals, v click chn PIO (Parallel I/O).
Titans Technology | www.titans.com.vn / www.hlab.com.vn Copyright 2012, Titans Technology HFAR01
13
Xy dng h thng Nios II trn kit FPGA Leopard I o Click Add. Bng cu hnh thng s cho PIO (Parallel I/O) xut hin nh hnh 15 o ng thay i bt c thng s mc nh no.
o Click Finish. Quay tr li SOPC System Contents tab , thnh phn PIO xut hin trong bng system contents o Click chut phi vo module PIO, i tn thnh led_pio. o m bo c kt ni gia Nios II data_master port vi port s1 ca led_pio
Gn khng gian a ch v a ch ngt Ti thi im ny, chng ta c tt c cc thnh phn cn thit to thnh mt h thng hon chnh. By gi, ta phi ch nh cch m cc thnh phn giao tip vi nhau. Ta s phi gn a ch base address cho mi thnh phn slave trong khng gian ca nios master , v gn mc u tin ngt (IRQ) cho JTAG UART v interval timer. Ch s ngt cng nh th mc u tin cng ln. Thc hin cc bc sau gn khng gian a ch v u tin ca ngt.
o Trong tab system , chn Auto-Assign base addresses
Titans Technology | www.titans.com.vn / www.hlab.com.vn Copyright 2012, Titans Technology HFAR01
14
Xy dng h thng Nios II trn kit FPGA Leopard I o Trong tab system contents , IRQ bn tay phi, nhp IRQ cho interval timer l 1, cn jtag_uart l 16. V timer cn u tin cao hn duy tr hot ng ca ton h thng.
To h thng (System Generation) Chng ta sn sang to h thng SOPC. Thc hin cc bc sau :
o Click vo tab System Generation. o Chn None cho Create simulation model. o Click Generate. Click Save v ch h thng hon tt nh hnh 17. Nu h thng yu cu t tn th nh nios2_sys
15
HFAR01
16
HFAR01
o Click OK. Quay tr l .bdf schematic. Symbol nios2_sys s nm trong khng gian thit k ca quartus. o Ni cc chn to t trc vi cc chn ca Nios_sys. a chut ti gn chn ni dy t chn . o Lu li file .bdf hon chnh, click Save trn menu File. Figure 19 cho ta thy h thng .bdf schematic hon chnh vi cc chn iu khin led.
17
HFAR01
Chn chip FPGA v gn chn Trong phn ny, chng ta s phi chn thit b FPGA ph hp vi board Leopard v gn chn cho ph hp vi board Leopard. gn thit b FPGA, thc hin cc bc sau :
o Trn menu Assignments, click Device. Hp thoi Device xut hin. o Trong danh sch Family list, chn dng Cyclone III. o Torng mc Target device, chn Specific device selected in 'Available devices' list. o Trong mc Available devices, chn EP3C16Q240C8. o Chn OK. Figure 21 m t hp thoi Device .
18
HFAR01
19
HFAR01
o o o o o
Click OK. Trn menu Assignments, click Device. Bng hi thoi Device xut hin. Click Device and Pin Options, Bng hi thoi Device and Pin Options xut hin. Click vo trang Unused Pins . Trong danh sch Reserve all unused pins , chn As input tri-stated with weak pull-up . Vi la chn ny, tt c cc chn khng dng trn thit b FPGA s c trng thi tng tr cao. Ch , lun lun dng option ny trnh lm h cc chn IO v linh kin trn board do cc chn khng dng c mc in p xung t o Click OK ng cc hp thoi.
Bin dch h thng v kim tra timing Chng ta phi bin dch h thng to ra file .sof m c th download xung board. Sau khi bin dch xong, chng ta phi kim tra timing ca thit k c lm vic di iu khin ca phn cng hay khng. m bo thit k t yu cu v timing, thc hin cc bc sau :
20
o o o o
Trn menu File, click New. Trong danh sch file, Chn Synopsys Design Constraints File (*.sdc). t tn l hw_leopard.sdc v click OK. M file trong chng trnh Editor Thm dng lnh create_clock : create_clock -name sopc_clk -period 20 [get_ports CLK].
HFAR01
Xy dng h thng Nios II trn kit FPGA Leopard I o o o o o Click Save Trong menu Assignments , chn Settings . Trong mc Timing Analyzer Setting ,chn TimeQuest Timing Analyzer Browse file hw_leopard.sdc v nhn add thm vo danh sch. Bt mc Enable multicorner timing analysis during compilation nh hnh 23
o Click OK v bt u bin dch. o Sau khi bin dch xong s hin ra bng thng bo nh hnh 24
21
HFAR01
o M mc TimeQuest Timing Analyzer trong compilation Report o Click Multicorner Timing Analysis Summary o Kim tra gi tr Worst-case Slack phi dng i vi Setup, Hold , Recovery v Removal. Ch ,ch kim tra cho clock sopc_clk m thi. Nu c bt c gi tr no m th h thng s khng th hot ng trn phn cng c. Trong trng hp ny, gim tn s dao ng xung t c timing theo yu cu.
Chng ta hon tt thit k v sn sang np chng trnh cung board Leopard th nghim. Download v test trn kit Leopard I Trong phn ny, chng ta s download file .sof xung board Leopard. Thc hin cc bc sau:
o Kt ni board Leopard vi my tnh host bng cp USB-Blaster, Sau cm ngun vo board. o Trn menu Tools ca phn mm Quartus II, click Programmer. Cng c Quartus II Programmer xut hin vi file cu hnh mc nh (nios2_9_0.sof) nh Hnh 25.
22
HFAR01
thc hin phn ny, chng ta phi c file .ptf c to ra phn trc. To mt project Nios II Application and BSP mi t Template c sn Trong phn ny, chng ta s to mt project Nios II C/C++ application and BSP mi . Thc hin theo cc bc sau :
o Khi ng chng trnh Nios II 9.0 IDE. o Nu hp thoi Workspace Launcher xut hin, click OK chn v tr workspace mc nh. o Trn menu File, chn New, Click vo Nios II C/C++ Application. Ca s wizard cho Nios II C/C++ Application xut hin nh hnh 26.
23
HFAR01
By gi Nios II IDE to v hin th project mi trong ca s Project Explorer , thng nm bn tay tri nh hnh 27
24
HFAR01
Bin dch project Trong phn ny, chng ta s bin dch project to ra mt file thc thi. V trong v d ny ta ch c mt h thng nios nh, do ta s phi iu chnh mt s setting gim thiu kch thc th vin, bi v h thng Nios II hardware ch c 20 KB b nh m thi. Thc hin theo cc bc sau :
o Trong ca s Project Explorer, click phi vo count_binary_syslib v click Properties. Ca s Properties for count_binary_syslib xut hin. o Click vo System Library. iu chnh cc mc sau : Check vo mc Reduced device drivers. Tt mc Support C++. Check vo mc Small C library. Tt mc ModelSim only, no hardware support. o Click OK . o Trong ca s Project Explorer , click Build Project o Sauk hi build hon tt, mt thng tin s xut hin trn ca s Console.
Chy ng dng Nios II trn Kit Leopard I
Trong phn ny, chng ta s download chng trnh xung kit hardware v thc thi n. download file thc thi, thc hin cc bc sau :
25
o Click phi vo project count_binary , chn Run As , click vo Nios II Hardware. Nios II IDE s download code thc thi vo board Leopard v chng trnh bt u chy.
Titans Technology | www.titans.com.vn / www.hlab.com.vn Copyright 2012, Titans Technology HFAR01
Xy dng h thng Nios II trn kit FPGA Leopard I o Nu hp thoi Run Configuration xut hin, th chng ta phi kim tra li tn Project Name , File ELF ,v File .sof c np xung Kit Leopard cha, sau Click Run. o Khi board Leopard chy, Mn hnh Console ca Nios II trn my PC s hin th cc k t m nh hnh 27, v led trn board leopard s m theo s nh phn sau mi giy. o Click vo iocn Terminate (hnh vung mu ) dng CPU Nios II li nu mun CPU ng li.
Chng ta c th sa li file chng trnh count_binary.c trong giao din pht trin Nios II IDE v lp li cc bc trn thay i chng trnh theo yu cu thit k ca mi ngi. Nh vy l chng ta hon tt cc bc pht trin mt h thng Nios II trn Kit Leopard I, v chng ta c th pht trin cc ng dng phc tp hn, giao tip vi cc ngoi vi bn ngoi phc tp hn trong cc ti liu hng dn sau.
26
HFAR01
HFAR01
Table of Contents
Application Report .................................................................................................... 0 Xy dng mt h thng da trn Nios II trn Kit FPGA Leopard I .......................................... 0 I. II. 1. 2. III. 1. 2. 3. 4. 5. IV. Gii thiu: .................................................................................................................................................... 0 Nios II 32-bit CPU v Kit FPGA Leopard I :............................................................................................ 0 Nios II 32-bit soft CPU:............................................................................................................................ 0 Kit FPGA Leopard I ca Titans Technology: ........................................................................................... 3 Design Example : .................................................................................................................................... 5 H thng Nios II n gin:...................................................................................................................... 5 To Altera Quartus Project s dng block diagram: ............................................................................ 6 To h thng Nios II s dng Altera SoPC Builder:............................................................................... 7 Tch hp h thng SoPC Builder vo project Quartus II: ....................................................................16 Pht trin software s dng Nios II IDE Eclipse : ................................................................................23 Hnh nh Demo trn Kit Leopard I: ......................................................................................................27
28
HFAR01
Reference
tt_nios2_hardware_tutorial Wikipedia.com Websites from Internet http://www.altera.com
Copyright 2009 Titans Technology. Ti liu ny thuc bn quyn ca Titans Technology (www.titans.com.vn), chng ti hy vng cc bn khi s dng vi bt k mc ch no bng bt c hnh thc no bao gm sao chp, in, copy, trch dn cn phi ghi r xut x ngun gc t trang web ca chng ti Hy truy xut trang web ca chng ti thng xuyn c nhng cp nht mi nht v cc thit b mi nht ti website www.titans.com.vn. Nu c bt c kin ng gp cng nh cn h tr, t vn thm thng tin v sn phm, vui lng gi mail n a ch email: support@titans.com.vn
Titans Technology | www.titans.com.vn / www.hlab.com.vn Copyright 2012, Titans Technology HFAR01
29