He Thong Nhung 2014

Embed Size (px)

Citation preview

  • 5/21/2018 He Thong Nhung 2014

    1/121

    TM TT L THUYT

  • 5/21/2018 He Thong Nhung 2014

    2/121

    HTHNG NHNG

    (Embedded System

  • 5/21/2018 He Thong Nhung 2014

    3/121

    Embedded System

    An embedded system is a comsystem designed to perform one or a dedicated functions often with real-timcomputing constraints. It is embedded

    a complete device often including harmechanical parts. By contrast, a genepurpose computer, such as a persona(PC), is designed to be flexible and towide range of end-user needs. Embedsystems control many devices in comtoday.

  • 5/21/2018 He Thong Nhung 2014

    4/121

    Embedded System

    Embedded systems are controlleor more main processing cores thtypically either microcontrollers o

    signal processors (DSP).The keycharacteristic, however, is being to handle a particular task, whichrequire very powerful processors

  • 5/21/2018 He Thong Nhung 2014

    5/121

    Embedded System

    Since the embedded system is dto specific tasks, design engineeroptimize it to reduce the size andthe product and increase the reliaperformance.

    In general, "embedded system" isstrictly definable term, as most syhave some element of extensibiliprogrammability.

  • 5/21/2018 He Thong Nhung 2014

    6/121

    Embedded System

    Peter Marwedel, Embedded System DesignSystems Foundations of Cyber-Physical SysEmbedded systems are information procesembedded into enclosing products.

    Examples include embedded systems in carplanes, and telecommunication or fabricatioSuch systems come with a large number of characteristics, including real-time constraindependabilityas well as efficiencyrequireEmbedded software is software integrated processes. The technical problem is managconcurrency in computational systems.

  • 5/21/2018 He Thong Nhung 2014

    7/121

    Embedded System

    Application areas:Automotive electronics: These include

    control systems, engine control systems,systems (ABS), electronic stability progra

    and other safety features, air-conditioningsystems, anti-theft protection, and many

    Avionics: A significant amount of the totairplanes is due to the information procesequipment, including flight control system

    collision systems, pilot information systemothers.

  • 5/21/2018 He Thong Nhung 2014

    8/121

    Embedded System Telecommunication: Mobile phones have

    the fastest growing markets in the recent yemobile phones, radio frequency (RF) designsignal processing and low power design are

    Health sector: There is a huge potential forthe medical service by taking advantage of iprocessing within medical equipment. Therdiverse techniques that can be applied in thi

    Security: The interest in various kinds of seincreasing. Embedded systems can be usedsecurity in many ways. This includes secureidentification or authentication of people, for

    with finger print sensors or face recognition Consumer electronics: Video and audio e

    a very important sector of the electronics ind

  • 5/21/2018 He Thong Nhung 2014

    9/121

    Embedded System

    Fabrication equipment: Fabrication equipmtraditional area in which embedded systemsemployed for decades. Safety is very importsystems, the energy consumption is less im

    Smart buildings: Information processing caincrease the comfort level in buildings, can renergy consumption within buildings, and casafety and security.

    Robotics: Robotics is also a traditional areembedded physical systems have been use

    kinds of robots, modeled after animals or huhave been designed.

  • 5/21/2018 He Thong Nhung 2014

    10/121

    Embedded SystemCommon characteristics

    1/ Reliability: Reliability is the probability that a system w2/ Maintainability: Maintainability is the probability that

    can be repaired within a certain time-frame.3/ Availability: Availability is the probability that the syste

    Both the reliability and the maintainability must be highachieve a high availability.

    4/ Safety: This term describes the property that a systemany harm.5/ Security: This term describes the property that confid

    remains confidential and that authentic communication

    Embedded systems must be efficient. Energy

    Run-time Efficiency Code size Weight Cost

  • 5/21/2018 He Thong Nhung 2014

    11/121

    Embedded System

    Avalon Switch Fabri

  • 5/21/2018 He Thong Nhung 2014

    12/121

    Concepts A Field Programmable Gate Array (FPGA) is an in

    designed to be configured by the customer or designmanufacturing.

    SOC (System on a Chip)

    SOPC (System on a Programmable Chip)

    SOPC Builder (System on a Programmable Chip Busoftware made by Altera that automates connecting components to create a complete computer system tof its various FPGA chips.

    PSoC (Programmable System on Chip) is a family ocircuits made by Cypress Semiconductor. These chipCPU and mixed-signal arrays of configurable integra

    digital peripherals.

  • 5/21/2018 He Thong Nhung 2014

    13/121

    NIOS II

    Nios II is a 32-bit embedded-procearchitecture designed specifically foAltera family of FPGAs. Nios II inco

    many enhancements over the originarchitecture, making it more suitablwider range of embedded computinapplications, from DSP to system-c

  • 5/21/2018 He Thong Nhung 2014

    14/121

    IP core

    An IP (intellectual property) core is a blocor data that is used in making a field proggate array ( FPGA) or application-specificircuit ( ASIC ) for a product. As essentiaof design reuse , IP cores are part of the

    electronic design automation ( EDA) indutowards repeated use of previously desigcomponents. Ideally, an IP core should b

    portable - that is, able to easily be insertevendor technology or design methodolog

  • 5/21/2018 He Thong Nhung 2014

    15/121

    IP core

    IP cores fall into one of three categories:, firm cores, or soft cores. Hard cores amanifestations of the IP design. These aplug-and-play applications, and are less

    and flexible than the other two types of cthe hard cores, firm (sometimes called scores also carry placement data but are to various applications. The most flexiblethree, soft cores exist either as a netlist(

    logic gate s and associated interconnectup an integrated circuit ) or hardware delanguage ( HDL) code.

  • 5/21/2018 He Thong Nhung 2014

    16/121

    Logic Elements (LEs)

    The main building block of the progdevices we use in the TM-2a is a LoElement (or LE). The only parts of t

    we use are the LUT, Cascade chainprogrammable register (or FF).Note that it is not necessary to us

    these elements. The FFs and LUTsused independently. However, if on

    use both a LUT and a FF in the samhave to be connected in the order s

  • 5/21/2018 He Thong Nhung 2014

    17/121

    Logic Elements (LEs)

  • 5/21/2018 He Thong Nhung 2014

    18/121

    Logic Elements (LEs)

    The FPGA LUT (Look-Up Table) is ROM with several address inputs adata output. A common size is 16x1

    four inputs and one output. By settiproper bits in that ROM, it becomesdesired boolean logic function havinfour inputs and one output. That's w

    sometimes called a function genera

  • 5/21/2018 He Thong Nhung 2014

    19/121

    Cascade Chain

    The cascadechain can usea logical ANDor logical OR(via

    DeMorgansinversion) toconnect the

    outputs ofadjacent LEs.

  • 5/21/2018 He Thong Nhung 2014

    20/121

    Avalon Switch Fabric

    Avalon switch fabric ?

    Nios II uses the Avalon switch fabric ainterface to its embedded peripherals.

    to a traditional bus in a processor-baswhich lets only one bus master accessa time, the Avalon switch fabric, using side arbitration scheme, lets multiple moperate simultaneously.

  • 5/21/2018 He Thong Nhung 2014

    21/121

    Six different interface type

    Avalon Memory Mapped Interface (Avalon-MM) - an read/write interface typical of masterslave connections

    Avalon Streaming Interface (Avalon-ST) - an interfacthe unidirectional flow of data, including multiplexed streand DSP data.

    Avalon Memory Mapped Tristate Interface - an addre

    read/write interface to support off-chip peripherals. Multcan share data and address buses to reduce the pin coand the number of traces on the PCB.

    Avalon Clock - an interface that drives or receives clocsignals to synchronize interfaces and provide reset con

    Avalon Interrupt - an interface that allows componentsto other components.

    Avalon Conduit - an interface that allows signals to bethe top level of an SOPC Builder system where they cato other modules of the design or FPGA pins.

  • 5/21/2018 He Thong Nhung 2014

    22/121

    Wishbone

    WishboneThe Wishbone specification is now controlOpenCores.org. The Wishbone IP core budeveloped to interconnect IP cores within

    and does not support external buses. The developer site had provided VHDL code, bhas been off-line for months. The specificaalways available by the link provided abovWishbone standard allows IP core interconthe VHDL code may have to be developedThe Full title: WISHBONE System-on-ChipInterconnection Architecture for Portable I

  • 5/21/2018 He Thong Nhung 2014

    23/121

    HNG DN THC TP

  • 5/21/2018 He Thong Nhung 2014

    24/121

    Thc tp Hthng nhngBi tp th nghim s1:

    Gii thiu board ALTERA DE2

    Development and Education.I. Board ALTERA DE2 Development and Education.

    Hnh 1.1

    Sau y l phn cng trn Board DE2 : Altera Cyclone II EP2C35F672C6. Thit bcu hnh ni tip Altera EPCS16. USB Blaster cho lp trnh v iu khin ngi dng API, JTAG V ACTIVE ni

    tip c htrlp trnh trn DE2. 512 Kbyte SRAM. 8 Mbyte SDRAM. 4 Mbyte bnhFLASH. cm thSD. 4 Cng tc nhn.

    18 cng tc bt tt.

  • 5/21/2018 He Thong Nhung 2014

    25/121

    Thc tp Hthng nhng 18 LEDS . 9 LEDS xanh l cy. Bdao ng 50MHz v 27 MHz cho ng h. 24 bit CD-quality gii m m thanh vi line-in, line-out, microphone trong gic

    cm. VGA DAC 10bit DAC tc cao vi kt ni cng VGA out. TV decoder (NTSC/PAL) v kt ni cng TV-in. 10/100 kt ni ETHERNET. USB host/slave iu khin USB vi loi kt ni A v B. RS-232 thu , pht vi 9-pin kt ni. PS/2 kt ni chut / bn phm. IrDA thu pht. 40 Pin mrng vi diode bo v.

    II.

    Kim tra Board DE2.B1: Kt ni ngun in 9V v cp USB vi cng USB blaster. Bt cng tc ngun ON.

    Kim tra Driver USB trn my: Click chut phi vo My ComputerManageDevice ManagerUniversal Serial Bus Controllersnu thy Altera USB-Blasterth my nhn Driver.

    Hnh 1.2

  • 5/21/2018 He Thong Nhung 2014

    26/121

    Thc tp Hthng nhng Nu my cha nhn Driver USB-Blaster sc cnh bo chm than nh

    sau:

    Hnh 1.3

    Click chut pahir vo USB-BlasterUpdate DriverInstall from a listor Specific location (Advance)nextcheck vo Include this locationin the searchBrowern C:\altera\10.1\quartus\drivers\usb-

    blaster next finish.

    Hnh 1.4

  • 5/21/2018 He Thong Nhung 2014

    27/121

    Thc tp Hthng nhng

    Hnh 1.5

    B2: Thit lp chuyn i RUN / PROG (Cng tc nm bn tri LCD) chRUN.B3:Khi ng phn mm QUARTUS IIB4:Trong ca sphn mm QUARTUS II chn ToolsProgrammerc 2 phn chnl Harware Setupschn USB-Blasterv Modeschn JTAG.

    Hnh 1.6

  • 5/21/2018 He Thong Nhung 2014

    28/121

    Thc tp Hthng nhng

    B5: Click chut tri chn Harware SetupChn USB-Blastertrong khung Curentlyselected harware close

    Hnh 1.7B6: Sau khi kt ni Driver USB-Blaster xong, tip tc chn Add File...C:\DE2_Control_ panel DE2_USB_API.sofSauk hi load file DE2_USB_API.sof Start np chng trnh xung Board DE2.

  • 5/21/2018 He Thong Nhung 2014

    29/121

    Thc tp Hthng nhngHnh 1.8

    B7: Mchng trnh DE2_control_panel.exe OpenOpen USB Port 0v btu Test t!ng module phn cng trn Board.

    PS2 & 7-SEG.

    LED & LCD. FLASH.

    SDRAM. SRAM.

    VGA.

    Hnh 1.9

  • 5/21/2018 He Thong Nhung 2014

    30/121

    Hng Dn SDng Phn Mm Modelsim

    B.1

    Bi tp th nghim s1:

    HNG DN SDNG QUARTUS II 10.1

    Altera Quartus II 10.1 l phn mm thit k mch logic kh trnh ca Altera chophp phn tch v tng hp thit kngn ngm tphn cng, cho php bin dch thitk, thc hin phn tch thi gian, kim tra sRTL, m phng thit kv np chngtrnh ln board FPGA.

    Trong hng dn ny shng dn: cch to project mi, xy dng hthng, gnchn cho hthng bng Verilog HDL hoc bng skhi v np chng trnh thit k

    xung board.

    Khi double click vo biu tng Quartus II 10.1 ta sthy ca snhHnh A.1, tiptheo chn Create a New Project hoc trn thanh cng cvo File/New Project Wizard

    Hnh A.1

    Ktip chn Next qua phn hng dn n phn chn ni lu, t tn project v tnthmc (Hnh A.2), phn t tn sc t theo ng quy tc, tn project v tn thmc phi c t trng nhau. V d: h thng c lu vo a D, tn th mc lBai_Huong_Dan v tn project c!ng l Bai_Huong_Dan (Hnh A.3). Chn Next v Next.

    Ty thu"c vo board ang sdng thit khthng nhng chn thit bcho phhp, do hng dn trn board DE2 sdng Cyclone II EP2C35F672C6 (c 33216 logicelements, b"nh483840 bit v tng schn I/O l 475) c trnh by #Hnh A.4. Tip

  • 5/21/2018 He Thong Nhung 2014

    31/121

    Hng Dn SDng Phn Mm Modelsim

    B.2

    theo chn Next hai ln sxut hin bng tm tt nhthhin #Hnh A.5 v kt thc phnto project chn Finish.

    Hnh A.2

    Hnh A.3

    Bc u chn ni lu trh thng thit kcoi nh hon tt, tip theo l phnxy dng hthng nhng bng chng trnh SOPC Builder. Trn thanh cng cQuartuschn Tools/SOPC Builder hoc chn biu tng skhi v sau xut hin h"p thoinhHnh A.6 t tn cho hthng, tn hthng c tht tn theo mun (theo quytc t tn hp l) v chn ngn ngm tVerilog HDL hoc VHDL xy dng hthng, v dt tn: nios_sys v ngn ngVerilog HDL.

  • 5/21/2018 He Thong Nhung 2014

    32/121

    Hng Dn SDng Phn Mm Modelsim

    B.3

    Hnh A.4

    Hnh A.5

    Hnh A.6

  • 5/21/2018 He Thong Nhung 2014

    33/121

    Hng Dn SDng Phn Mm Modelsim

    B.4

    $u tin ca phn xy dng h thng, thit kphn CPU nhHnh A.7, A.8, lachn core Nios II cho ph hp vi phn thit kv sau y l phn trnh by nhng chc

    n%ng ca m&i loi core:-

    Nios II/f c dng trong cc phn thit kcn hiu sut cao v m"t schc n%ngsau:

    ' Ty chn MMU (Memory Management Unit) v MPU (MicroProcessor Unit).' Truy c(p ln n 2 GB khng gian a ch)bn ngoi.' Tchn lin kt b"nhcho Instructions and Data.' Ty chn chia phn cng.' Rnhnh "ng.' Nhiu lp phn cng.' Caches Instruction v Data ring bit.'

    Module sa l&i JTAG.- Nios II/s c dng duy tr cn bng gia hiu sut v chi ph, c m"t s chc

    n%ng sau:' Caches Instruction.

    ' Rnhnh tnh.' Nhiu lp, phn chia v thay i phn cng.' Module sa l&i JTAG.

    - Nios II/e c dng trong cc ng dng nh.

    Hnh A.7

  • 5/21/2018 He Thong Nhung 2014

    34/121

    Hng Dn SDng Phn Mm Modelsim

    B.5

    Hnh A.8Chn Next n phn chn cp "debug, do chn Nios II/e nn ch)c thchn #cp

    "1 (Hnh A.9). Kt thc phn cu hnh core Nios II chn Finish.

    Hnh A.9

  • 5/21/2018 He Thong Nhung 2014

    35/121

    Hng Dn SDng Phn Mm Modelsim

    B.6

    Tip theo, l phn xy dng b"nhcho hthng cha lnh v dliu. Phn mmSOPC Builder h&trgm cc b"nh: SDRAM, SRAM, RAM, ROM, Flash. Hng dn

    chn b"nhRAM c dung lng 32768 byte c thhin #Hnh A.10, A.11.

    Hnh A.10

  • 5/21/2018 He Thong Nhung 2014

    36/121

    Hng Dn SDng Phn Mm Modelsim

    B.7

    Hnh A.11

    Sau khi tao b"nhRAM double-click CPU gn b"nhcho n nhHnh A.12.

    Hnh A.12

    System IDl module cung cp m"t stc dng nh(n dng hthng phn cng trnboard DE2. Trong Nios II, System ID c sdng xc nh chng trnh thc thic bin dch tng thch vi phn cng cu hnh b#i SOPC Builder, khi ID cha cthit ktrong hthng SOPC Builder, chng trnh c thkhng thc thi (Hnh A.13 vA.14).

  • 5/21/2018 He Thong Nhung 2014

    37/121

    Hng Dn SDng Phn Mm Modelsim

    B.8

    Hnh A.13

    Hnh A.14

    JTAG UART: c chc n%ng kt ni d liu t*my chPC vi board DE2 thngqua cng USB Blaster, phng php truyn chu&i k tni tip v cu hnh JTAG UARTchn #ch"mc nh (Hnh A.15 v A.16).

  • 5/21/2018 He Thong Nhung 2014

    38/121

    Hng Dn SDng Phn Mm Modelsim

    B.9

    Hnh A.15

    Hnh A.16

    Xy dng timer cho ng dng c trnh by #Hnh A.17, A.18, ty thu"c vothoi gian delay cn thit km ta c ththay i gi trtrong Period, n vtrong Unitsv Hardware Options-Preset chn Simple periodic interrupt.

  • 5/21/2018 He Thong Nhung 2014

    39/121

    Hng Dn SDng Phn Mm Modelsim

    B.10

    Hnh A.17

    Hnh A.18

    $tin hnh bin dch hthng, trc ht cn phi gn a ch)nn cho cc core thit kv c thc hin #ch"t"ng bng cch trn thanh cng cAltera SOPCBuilder chn System/Auto-Assign Base Addresses (Hnh A.19) kt qutrc v sau khign a ch)nn c thhin trn Hnh A.20 v A.21.

  • 5/21/2018 He Thong Nhung 2014

    40/121

    Hng Dn SDng Phn Mm Modelsim

    B.11

    Hnh A.19

    Hnh A.20

    Hnh A.21

    Chn Generate bin dich hthng thit kv xut hin hp thoi (Hnh A.22)lu li hthng vi tn (Hnh A.23) trng vi tn t #phn m tthit kbng ngnngVerilog HDL (Hnh A.6).

  • 5/21/2018 He Thong Nhung 2014

    41/121

    Hng Dn SDng Phn Mm Modelsim

    B.12

    Hnh A.22

    Hnh A.23

    Chm"t khong thi gian bit kt qubin dch, kt qubin dch thnh cngc thhin trn Hnh A.24 v nu kt qusai l do phn cu hnh cc core c thbl&i.

    Hnh A.24

    Quay li phn mm Quartus II 10.1 vo Files trong ca sProject Navigator clickchu"t phi chn Add/Remove Files in Project sxut hin hp thoi nhHnh A.25. Sau, ch)n file .v vi tn t #Hnh A.6, chn Add, chn OK v kt qunhHnhA.26.

  • 5/21/2018 He Thong Nhung 2014

    42/121

    Hng Dn SDng Phn Mm Modelsim

    B.13

    Hnh A.25

    Hnh A.26

    Phn gn chn cho hthng c hai cch:

    - To file Verilog HDL gn chn cho hthng: T*ca sproject Quartuss chnNew/Verilog HDL File (Hnh A.27), to file gn chn cho hthng bng ngn ngVerilog HDL Hnh A.28 v lu li vi tn trng vi tn module (Bai_Huon-g_Dan.v).

  • 5/21/2018 He Thong Nhung 2014

    43/121

    Hng Dn SDng Phn Mm Modelsim

    B.14

    Hnh A.27

    - Gn chn trc tip ln skhi hthng:' Trong ca sproject Quartuss vo File/New chn Block Diagram/Schematic

    Flie xut hin ca sgn chn cho hthng.' Vo Symbol Tool doubleclick vo nios_sys (Hnh A.29) ly skhi h

    thng to ra t*SOPC Builder (Hnh A.30).

  • 5/21/2018 He Thong Nhung 2014

    44/121

    Hng Dn SDng Phn Mm Modelsim

    B.15

    Hnh A.28

    Hnh A.29

    Hnh A.30

    ' Thc hin gn chn cho hthng tng ng (Hnh A.31) vi ngvo clk_0 lCLOCK_50 v reset_n l KEY[0]. Vo Pin Tool ly ng voInput/Output/Bidir, chn Orthogonal Node Tool ly dy ni.

    Hnh A.31

    Nhp chu"t phi vo Bai_Huong_Dan.v chn Set as Top-Level Entily, sau voAssignments/Import Assignments ch)n t(p tin DE2_pin_assignments.csv.

    Nhp chu"t vo biu tng Start Compilation trn thanh cng c hoc voProcessing chn Start Compilation bin dch, kim tra l&i v gn chn. Khi bin dch

    thnh cng kt qugn chn (Hnh A.32), kim tra cc chn c gn c thvo

  • 5/21/2018 He Thong Nhung 2014

    45/121

    Hng Dn SDng Phn Mm Modelsim

    B.16

    Pin Planner v nu kt qubin dich sai c th do: dy ni gia cc chn, t tn file,setup license

    Hnh A.32

    Cui cng np file Bai_Huong_Dan.sof xung board cn nhng hthng ng dng

    vo Programmer v hin h"p thoi nhHnh A.33 v sau chn Add File ch)n fileng dng (Bai_Huong_Dan.sof) thit k. $ np file Bai_Huong_Dan, nhp voProgrammer Hnh 20, trong Hardware Setup chn Hardware l USB-Blaster Hnh A.34v kt thc np ng dng thnh cng bng cch nhp vo Start.

    Ty thu"c vo ng dng m xy dng cc core, cu hnh cho ph hp vi mc dchca ng dng, vphn thit knhtrn ch)mang tnh hng dn cbn vthit km"tng dng nhv nhng im chnh nhto project mi, t tn cho hthng ng dng,gn a ch)nn, gn chn, bin dch v np h thng nhng xung board phi ng vihng dn trnh by.

  • 5/21/2018 He Thong Nhung 2014

    46/121

    Hng Dn SDng Phn Mm Modelsim

    B.17

    Hnh A.33

    Hnh A.34

  • 5/21/2018 He Thong Nhung 2014

    47/121

    Thc tp Hthng nhng

    II.1

    Bi tp th nghim s2:

    SOPC Builder v NIOS II IDEu tin chng ta sto mt project trn phn mm Altera Quatus II 10.1:

    Vo File/New Project WizardChn th mc cha project v tn project Hnh2.1.

    Hnh 2.1To project mi

    Chn chip Cyclone II EP2C35F672C6 Hnh 2.2.

    Hnh 2.2Chn chip xl

    Trong project ny chng ta sthc hin to mt hthng SOPC bng cch sdngSOPC Builder. Hthng SOPC ny sc to ra bng file Verilog HDL:

  • 5/21/2018 He Thong Nhung 2014

    48/121

    Thc tp Hthng nhng

    II.2

    Trong ca sca project Lab2, chn biu tng SOPC Builder tin hnhto mt hthng SOPC. Xut hin mt yu cu t tn cho hthng v ngn ng

    to cc tp tin h thng. t tn cho h thng l nios_sys v chn ngn ngVerilog Hnh 2.3.

    Hnh 2.3To hthng phn cng

    To mt hthng SOPC n gin bao gm: CPU (Nios II Processor), RAM (On-chip Memory), JTAG UART, System ID:

    Hnh 2.4

    CPU (Nios II Processor): b x l trung tm, iu khin hot ng ca hthng. Cu hnhNios II Processor Hnh 2.4, Hnh 2.5.

    RAM (On-chip Memory): dng lu dliu v lnh chng trnh. c cuhnhvi dung lng 32kb Hnh 2.6.

    JTAG UART: dng kt ni vi my tnh PC np chng trnh hthngxung board DE2 Hnh 2.7.

  • 5/21/2018 He Thong Nhung 2014

    49/121

    Thc tp Hthng nhng

    II.3

    Hnh 2.5

    Hnh 2.6

    System ID: xc nh chng trnh thc thi c bin dch tng thch vi phncng cu hnh bi SOPC Builder, khi cha to System ID trong h thng,chng trnh np xung hthng c thkhng thc thi Hnh 2.8.

  • 5/21/2018 He Thong Nhung 2014

    50/121

    Thc tp Hthng nhng

    II.4

    Hnh 2.7

    Hnh 2.8

    Sau khi chn xong cc thnh phn cn thit cho h thng, vo System/Auto-Assign Base Addresses nh li a ch nn cho cc module. Ch g!n b nh voReset Vector v Exception Vector Hnh 2.9.

    Hthng sau khi hon thnh Hnh 2.10. Sau khi hon tt chn Gernerate tocc tp tin m ththng.

  • 5/21/2018 He Thong Nhung 2014

    51/121

    Thc tp Hthng nhng

    II.5

    Hnh 2.9

    Hnh 2.10

    Mt vi thc hin ca h thng ny trn project Quartuss: gn chn, bin dch vnp chng trnh hthng xung board DE2.

    Trc khi gn chn cho hthng, trong Project Navigator chn Files/ Add/RemoveFiles in Projec chn file nios_sys.v sau chn Add/Apply/OK Hnh 2.11.

    Hnh 2.11

    Gn chn cho hthng

    C 2 cch gn chn cbn cho hthng:

    Gn chn trc tip ln skhi hthng:

    Trong ca sproject Quartuss vo File\New chn Block Diagram/Sche-matic

    Flie xut hin ca sgn chn cho h thng. Vo Symbol Tool ly skhi hthng (nios_sys) to ra t"SOPC Builder Hnh 2.12.

  • 5/21/2018 He Thong Nhung 2014

    52/121

    Thc tp Hthng nhng

    II.6

    Hnh 2.12

    Thc hin gn chn cho hthng tng ng vi ng vo clk_0 l CLOCK_50v reset_n l KEY[0] Hnh 2.13. Vo ly ng vo Input, chn ly

    dy ni.

    Hnh 2.13

    Vo Assignments/Import Assignments d#n tp tin DE2_pin_assign-ments.csv vo mc File name xc nh chn cthng vi CLOCK_50 vKEY[0] Hnh 2.14.

  • 5/21/2018 He Thong Nhung 2014

    53/121

    Thc tp Hthng nhng

    II.7

    Hnh 2.14

    Lu li v thc hin bin dch, kim tra li v gn chn (nhp vo StartCompilation ). Bo bin dch thnh cng nhHnh 2.15.

    Hnh 2.15

    Khi gn chn thnh cng c th xem cc chn c gn, nhp vo Pin

    Planner xem chi tit.

    To file Verilog HDL gn chn cho hthng:

    T" ca s project Quartuss chn New\Verilog HDL File. To file gn chncho h thng bng ngn ngVerilog HDL Hnh 2.16 v lu li vi tn trngvi tn module (Lab2.v).

    Nhp chut phi vo Lab2.v chn Set as Top-Level Entily Hnh 2.17 sau vo Assignments\Import Assignments d#n tp tin DE2_pin_ assignments.csvvo mc File name Hnh 2.18.

    Nhp chut vo biu tng Start Compilation bin dch, kim tra l$i v

    gn chn. Khi gn chn thnh cng c thvo Pin Planner kim tra cc chn c gn Hnh 2.19.

    Lu : trong phn ny gii thiu chai cch gn chn cho hthng nhng khi thchin chdng mt cch duy nht, khng nn thc hin chai cch v khi bin dch sgpl$i.

  • 5/21/2018 He Thong Nhung 2014

    54/121

    Thc tp Hthng nhng

    II.8

    Hnh 2.16

    Hnh 2.17

    Hnh 2.18

  • 5/21/2018 He Thong Nhung 2014

    55/121

    Thc tp Hthng nhng

    II.9

    Hnh 2.19

    Sau khi bin dch np file Lab2.sof xung board DE2. np file ny, nhp vo

    Programmer Hnh 2.21. Tip theo vo Hardware Setup chn Hardware l USB-Blaster Hnh 2.20.

    Hnh 2.20

  • 5/21/2018 He Thong Nhung 2014

    56/121

    Thc tp Hthng nhng

    II.10

    Hnh 2.21

    Chn Start np file *.sof xung board. Kt qunp xung thnh cng Hnh 2.2.

    Hnh 2.22

    Sau khi np thnh cng h thng phn cng xung board DE2, ta s dng giphn mm Nios II Software Builder Tool for Eclipse vit chng trnh ng dng chohthng phn cng c thit k.

  • 5/21/2018 He Thong Nhung 2014

    57/121

    Thc tp Hthng nhng

    II.11

    Trong ca sAltera SOPC Builder chn Nios II Software Build Tools for EclipsenhHnh 2.3.

    Hnh 2.23

    Chn %ng d#n ni lu trphn mm ng dng Hnh 2.4.

    Hnh 2.24

    Sau khi chn %ng d#n, Nios II Software Builder Tool for Eclipse to ra ca sson tho chng trnh ng dng. To project mi lm vic, vo File\New chn Nios

    II Application and BSP form Template Hnh 2.5. Xut hin ca sNios II Applicationand BSP form Template Hnh 2.6.

  • 5/21/2018 He Thong Nhung 2014

    58/121

    Thc tp Hthng nhng

    II.12

    Hnh 2.25

    Hnh 2.26

    Trong mc Target hardware information, SOPC Information File name, chn %ngd#n n file nios_sys.sopcinfo cha thng tin phn cng hthng. Trong mc Application

    project, t tn cho project ca chng trnh ng dng (v dlab2). Trong mc Project

  • 5/21/2018 He Thong Nhung 2014

    59/121

    Thc tp Hthng nhng

    II.13

    template chn project m#u l Hello world small cha chng trnh m#u. Chn Finish to project mi, project lab2 c to nhHnh 2.7

    Hnh 2.27

    Nhp chut phi vo lab2_bsp [nios_sys] chn Properties\Nios II BSP Properties,thit t nhHnh 2.8, chn Apply\OK.

    Hnh 2.28

    Thc hin bin dch chng trnh ng dng, nhp chut phi vo lab2 chn BuildProject. Chng trnh ng dng trong bi tp lab2 ny s dng code m#u c s&n caproject m#u Hello world small Hnh 2.9 thc hin chc n'ng n gin xut ra mn Hnh2.chui k tHello from Nios II! chui k tny c ththay i theo mun.

  • 5/21/2018 He Thong Nhung 2014

    60/121

    Thc tp Hthng nhng

    II.14

    Hnh 2.29

    Chy chng trnh ng dng, nhp chut phi ln lab2 chn Run As\ Run-Configurations... Hnh 2.30. Xut hin ca sRun Configurations Hnh 2.31.

    Hnh 2.30

  • 5/21/2018 He Thong Nhung 2014

    61/121

    Thc tp Hthng nhng

    II.15

    Hnh 2.31

    Nhp p vo Nios II Hardware to New_configurations, chn tab TargetConnection, mc System ID Check chn Ignore mismatched system ID v Ignoremismatched system timestamp tip theo chn Apply v Run np chng trnh ngdng xung phn cng Hnh 2.32.

    Kt qu chy c ca chng trnh l hin th chui k t Hello from Nios IItrong ca sNios II Console Hnh 2.33.

  • 5/21/2018 He Thong Nhung 2014

    62/121

    Thc tp Hthng nhng

    II.16

    Hnh 2.32

    Hnh 2.33

  • 5/21/2018 He Thong Nhung 2014

    63/121

    Thc tp hthng nhng

    III.1

    Bi tp th nghim s3:

    Hthng n ginMc ch ca bi tp ny l hc cch to v sdng mt hthng my tnh n gin

    nh th no. H thng bao gm Altera Nios II processor v chng trnh ng dng.Chng ta ssdng phn mm Quartus II v SOPC Builder to thnh phn phn cngca hthng. V chng ta ssdng phn mm Altera Programe Monitor bin dch,np v chy chng trnh ng dng.

    Phn I

    Trong by tp ny, bn ssdng SOPC Builder to hthng trong Hnh 3.1. Hthng ny bao gm mt khi xl Nios II/e processor v mt bnh. Nios II/e processordng xl dliu, khi bnhdng lu trlnh v dliu (ging nhlab2).

    Hnh 3.1 Hthng my tnh n gin

    Thc hin hthng trong Hnh 3.1 nhsau:

    1.To mi mt project Quartus II. Chn chip Cyclone II EP2C35F672C6, n lchip FPGA trn board DE2

    2.Sdng SOPC Builder to hthng c t tn l nios_system, hthngbao gm cc thnh phn nhsau:

    3.Nios II/e vi JTAG Debug Module Level 1

    4.On-chip memory - chRAM c dung lng 32 Kb vrng dliu 32 bit.

    5.T"menu hthng, chn Auto-Assign Base Addresses tng gn a chnn cho hthng. Bn nn to hthng ging nhHnh 3.1.

    6.To hthng, sau khi to xong, thot khi SOPC v trli phn mm Quartus II

    7.Thc hin gn chn cho hthng, c ththc hin mt trong hai cch bi tplab2, kt ni cc chn nhsau:

    clk PIN_N2 (xung clock ny l 50 MHz)

    reset n PIN_G26 (chn ny l KEY0)

    8.Bin dch project Quartus II

  • 5/21/2018 He Thong Nhung 2014

    64/121

    Thc tp hthng nhng

    III.2

    9.Sau khi bin dch hthng c ththc hin nhng chng trnh ng dng npxung. sdng hthng, chng ta c mt chng trnh ng dng thchin, ta sthc hin n phn II ca bi tp.

    Phn IITrong my tnh s, tt cdliu c biu di(n bng chu$i s1 v 0. Chng trnh

    vit bng ngn ngassembly trong kim tra dliu v xc nh chu$i s1 lin tip lnnht trong dliu ny. Cho v d, gi trca dliu l 0x937a (1001001101111010) c 4s1 l gi trln nht ca chu$i 4 smt lin tip. Code bn di xc nh schu$i s1lin tip cho dliu c gi trl 0x90abcdef.

    .include "nios_macros.s"

    .text

    .equ TEST_NUM, 0x90abcdef /* so duoc test */

    .global _start_start:movia r7,TEST_NUM /* khoi tao r7 co gia tri la TEST_NUM */mov r4, r7 /* copy TEST_NUM vao r4 */

    STRING_COUNTER:mov r2, r0 /* khoi tao r2 bang 0 (bien dem) */

    STRING_COUNTER_LOOP: /* vong lap tinh so bit 1 lien tiep lon nhat */beq r4, r0, END_STRING_COUNTERsrli r5, r4, 1 /* tinh so bit 1 lien tiep bang cach dich du

    lieu duoc*/and r4, r4, r5 /* test sang phai 1 bit va and no voi du lieu ban

    dau */addi r2, r2, 1 * tang bien dem len 1 */br STRING_COUNTER_LOOP

    END_STRING_COUNTER:mov r16, r2 /* ket qua cuoi cung luu vao r16 */

    END:br END

    .end

    Thc hin chng trnh trn nhsau:

    1.MAltera Monitor Program v ci t n sdng hthng to phn Iv chng trnh ng dng trong trn.

    2.Vo File/New Projectchn %ng d#n thmc cha project v tn project.

  • 5/21/2018 He Thong Nhung 2014

    65/121

    Thc tp hthng nhng

    III.3

    Hnh 3.2 To thmc project

    Hnh 3.3 Chn file hthng .sof v .ptf

    Hnh 3.4 Chn ngn nglp trnh

    Hnh 3.5 Add file chng trnh hthng .s (ngn ngAssembly)

  • 5/21/2018 He Thong Nhung 2014

    66/121

    Thc tp hthng nhng

    III.4

    Hnh 3.6 Ch%ng d)n ti file .s

    Hnh 3.7 Add vo

    3.Bin dch v np chng trnh .

    Hnh 3.8

    4.Tr%ng hp mun thay i code source ta ng Altera Monitor Program (nuang m) v mli chng trnh, chn Open Project mli project

    to. Sau khi mli project chn , chn tab Program Settings, chn filesource cchn remove, nhp vo Addchn file source mi v tin hnhbin dch, np chng trnh.

    5.Chy chng trnh t"ng bc v xem cc thay i trong cc thanh ghi xl nhthno.

    Ch rng khi kt thc chng trnh th kt qutrvl 4 trong thanh ghi r16, ktqutrong Hnh 3.9.

  • 5/21/2018 He Thong Nhung 2014

    67/121

    Thc tp hthng nhng

    III.5

    Hnh 3.9 Kt quchng trnh sau khi chy

    6.t Program Counter ti 0x00008000. Ti a chny cho php chng ta thchin li chng trnh, trong khi b*qua 2 lnh u tin.

    7.im d"ng chng trnh a ch0x00008028, kt"a chtuy cp chngtrnh cng thm 0x28, v thchng trnh stng d"ng li cui chngtrnh.

    8.t thanh ghi r7 c gi trl 0xabcdef90. C bao nhiu bit 1 lin tip trong sny? Chy li chng trnh xem nu bn on ng.

  • 5/21/2018 He Thong Nhung 2014

    68/121

    Thc tp hthng nhng

    III.6

    Hnh 3.10Kt qukhi thay i chu$i bt u vo (0xabcdef90)

    Phn III

    Trong phn ln cc chng trnh ng dng th cc thnh phn ca code sc thchin nhiu th%i gian t"nhng vtr khc nhau trong chng trnh. Cc phn ca code cththc hin bng chng trnh con. Chng trnh con c thchy t"nhng vtr bt ktrong chng trnh bng cch sdng lnh gi. Chng trnh trvsau lnh gi chngtrnh con (khi chng trnh con thc hin xong), chng trnh con kt thc vi lnhret. Chng ta sto ra chng trnh con ngay by gi%tnh sbt 1 lin tip c+ng nhtnh sbit 0 lin tip trong dliu cho.

    B!t u vi chng trnh cho phn II v chnh sa n li nhbn di:

    1.Ly code tnh sbit 1 lin tip v to cho n mt chng trnh con. Chngtrnh con sdng thanh ghi r4 nhn dliu vo v thanh ghi r2 xut rakt qu.

    2.Gi chng trnh con v"a mi to 2 ln, mt tnh sbit 1 lin tip v mttnh sbit 0 lin tip.

    3.Ghi sbitb1 lin tip vo thanh ghi r16 v sbit 0 vo thanh ghi r17.

    .include "nios_macros.s"

    .text

    .equ TEST_NUM, 90abcdef /* so duoc test */

    .equ bit1, 0x00000000

    .equ bit0, 0xffffffff

    .global _start

    _start:

  • 5/21/2018 He Thong Nhung 2014

    69/121

    Thc tp hthng nhng

    III.7

    movia r9, bit1movia r10, bit0movia r7, TEST_NUM

    movia r8, bit1call CALCULATE /* goi chuong trinh con lan 1 */

    mov r16, r2 /* r16 chua so bit 1 lien tiep */

    movia r8, bit0call CALCULATE /* goi chuong trinh con lan 2 */

    mov r17, r2 /* r16 chua so bit 0 lien tiep */

    END:br END

    CALCULATE: /*chuong trinh con */mov r4, r7mov r2, r0

    beq r8, r9, STRING_COUNTER_LOOP_1beq r8, r10, STRING_COUNTER_LOOP_0

    STRING_COUNTER_LOOP_1: /* vong lap tinh so bit 1 lien tiep */beq r4, r8, END_STRING_COUNTER

    srli r5, r4, 1and r4, r4, r5addi r2, r2, 1br STRING_COUNTER_LOOP_1

    STRING_COUNTER_LOOP_0: /* vong lap tinh so bit 0 lien tiep */beq r4, r8, END_STRING_COUNTERsrli r5, r4, 1or r4, r4, r5addi r2, r2, 1

    br STRING_COUNTER_LOOP_0END_STRING_COUNTER:

    mov r2, r2ret

    .end

    Kt qusau khi thc hin chng trnh trn:

  • 5/21/2018 He Thong Nhung 2014

    70/121

    Thc tp hthng nhng

    III.8

    Hnh 3.11 Kt quthc thi chng trnh

  • 5/21/2018 He Thong Nhung 2014

    71/121

    Thc tp hthng nhng

    IV.1

    Bi tp th nghim 4:

    Chng trnh iu khin xut/nhpMc ch ca bi tp ny: nghin cu sdng cc thit b, cc khn'ng cung cp

    ng vo v ng ra cho bxl v c iu khin bng phn mm. Chng ta skim trachng trnh iu khin hot ng xut/nhp ny t"hai phn: phn cng v phn mm xem chi tit hn. Chng ta s s dng cc giao din nh: parallel, PIO trong h thngNios II v c thc thi trn board DE2. Trc tin cn phi c kin thc nn lm bitp ny, c th tm hiu t" ti liu hng d#n: Introduction to the Altera Nios II SoftProcessor v Introduction to the Altera SOPC Builder (tm ti liu ny trn web site caAltera).

    Trong bi tp ny sdng giao din PIO, cu hnh PIO to ra bng cch sdngSOPC Builder v cp d liu truyn vo trong m$i ng vo hoc ng ra hoc c hai.

    %ng truyn chc thchp nhn: song song v t"1 n 32 bit. Sbit v %ng i cadliu c nh ngh,bng cch ng%i dng thng qua SOPC Builder v giao din PIOc thcha bn thanh ghi trnh by trong Hnh 4.1.

    Hnh 4.1Thanh ghi trong giao din PIO

    M$i thanh ghi Hnh 4.1 c di n bit. Cc thanh ghi c chc n'ng nhsau:

    - Thanh ghi Data cha n bit dliu, dliu truyn vo thanh ghi Data t"giao dinPIO v bxl Nios II. Thanh ghi Data thc hin nh: ng vo, ng ra hoc ngvo ra thit kbi SOPC Builder.

    - Thanh ghi nh hng xc nh hng truyn t"ng bit dliu khi giao thc ngvo ra c to ra.

    - Thanh ghi Interrupt-mask c sdng cho php ng!t (xl ng!t cho php haykhng cho php) cc u vo kt ni vi PIO.

    - Thanh ghi chn cnh: cho thy khi thay i mc logic c pht hin trong tn

    hiu trn u vo kt ni vi PIO.

  • 5/21/2018 He Thong Nhung 2014

    72/121

    Thc tp hthng nhng

    IV.2

    Tt cthanh ghi Hnh 4.1 khng phi mt giao thc PIO cthno (u vo, u rav u vo ra) c+ng to ra cc thanh ghi , m ch thanh ghi nh hng mi c giaothc ng vo ra.

    Thanh ghi PIO c thtruy cp nhl a chbnh, a chnn c t nht 4 bit vn c thc gn ti PIO (nh%vo chng trnh SOPC Builder tng lm vic ny)vi a chu tin l thanh ghi Data v 3 thanh ghi tip theo sc lch 4, 8, 12 bytetng ng vi 1, 2 v 3 word. di(n tchi tit hn vmodule PIO chng ta c thtm trong ti liu PIO Core with Avalon Interface c trn web site ca Altera.

    -ng dng trong bi tp ny l thc hin php ton cng dn snhphn c ti a8 bit thng qua swich trn board DE2, kt qushin thtrn LED hoc 7-segment.

    Bi tp 1:

    Chng ta sdng 8 switch (t"switch 0 n swich 7) nhp scho ng vo, 8 LED

    xanh (t"LED 0 n LED 7) hin th snhp vo t" switch v kt qu cng dn sc hin thln 16 LED *(t"LED 0 n LED 15). Do phn h thng cn 3 giaothc PIO thc hin yu cu t ra.

    Trong phn PIO sto ra 3 kt ni nhsau:

    -Kt ni vi switch dng lm ng vo d liu ti a 8 bit chng trnh iukhin c thc.

    -Kt ni vi LED xanh c ti a 8 bit dng hin thsnhp dliu t"switch.-Kt ni vi LED *c ti a 16 bit dng hin thkt qusau m$i ln cng v

    kt qusc cng dn.

    Thc hin yu cu phn cng a ra bng cng ch thng Nios II trn boardDE2 nhsau:

    -To ra project Quartus II 10.1 mi, cc bc to project thc hin t"ng tnhbi th nghim Lab 2.

    -Sdng SOPC Builder to ra mch mong mun vi tn nios_sys (Hnh 4.2)bao gm cc thnh phn:

    Hnh 4.2t tn cho hthng SOPC Builder

  • 5/21/2018 He Thong Nhung 2014

    73/121

    Thc tp hthng nhng

    IV.3

    Trong Nios II Processor: phn select a Nios II core chn Nios II/s, HardwareMultiply chn Embedded Multipliers v check vo Hardware Divide (Hnh4.3) v phn select a debugging level chn Level 1 (Hnh 4.4).

    Hnh 4.3Chn cu hnh Nios II

    On-Chip Memory (RAM or ROM) kiu RAM v 32 Kbyte trong size (Hnh4.5).

    Trong phn giao thc PIO sthit kba mch kt ni (Hnh 4.6 v 4.7) gm:1 u ra 8bit (LED xanh), 1 u ra 16bit (LED *) v 1 u vo 8bit (switch).

    Hnh 4.4Chn cp Debug

  • 5/21/2018 He Thong Nhung 2014

    74/121

    Thc tp hthng nhng

    IV.4

    Hnh 4.5Cu hnh bnhon-chip memory

    Hnh 4.6Thnh phn trong hthng SOPC Builder

  • 5/21/2018 He Thong Nhung 2014

    75/121

    Thc tp hthng nhng

    IV.5

    Hnh 4.7Cu hnh PIO

    Hthng SOPC Builder stng gn cc tn nh: pio_0, pio_1 v pio_2 cho bathnh phn PIO. Chng ta c th thay i tn ba thnh phn PIO cho ph hp vingh,a ca tnh hung, v d: pio_0 i thnh New_number, pio_1 i thnh Green_LEDsv pio_2 i thnh Red_LEDs (Hnh 4.8).

    Hnh 4.8Hthng ng dng

    Thit kthm cho hthng phn system ID (chn chmc nh) nhHnh 4.9,cui cng vo menu System chn Auto-Assign Base Addresses tng gn a chcho tt ccu hnh trong hthng thit kv kt quc thhin Hnh 4.10.

  • 5/21/2018 He Thong Nhung 2014

    76/121

    Thc tp hthng nhng

    IV.6

    Hnh 4.9Chn thnh phn System ID

    Hnh 4.10Kt quthit khthng ng dng

    Khi to hthng Nios c to ra trong mt tp tin HDL Verilog hoc skhihthng biu thcc kt ni cn thit ti cc switch v cc LED trn board DE2.

    Gn cc chn cn thit lm cho cc kt ni hon thnh, bng cch voAssignment/Import Assignments ch n file DE2_pin_assignments.csv. Cui cngbin dch project Quartus II project.

    Bi tp 2:

    Sdng ngn ngAssembly thc hin bi tp nhsau:

    - Vit chng trnh c ni dung ca cc switch, hin thgi trtng ng ln LEDxanh, tch lu.cc ln cng v hin thtng ln LED *.

    - Sdng phn mm Altera Program Monitor kt ni v ti chng trnh.- Thng qua chng trnh kim tra kt qu bng cch nhp mt vi s t" switch.

    Ch chng trnh ch cho php s ng vo khng thay i nhiu s (trong 8switch mt ln chthay i trng thi mt trong 8 switch ).

    File Lab4_Bai2.equ.s c ni dung sau:

    .equ NEW_NUMBER, 0x00011000

    .equ GREEN_LEDS, 0x00011010

    .equ RED_LEDS, 0x00011020

  • 5/21/2018 He Thong Nhung 2014

    77/121

    Thc tp hthng nhng

    IV.7

    File Lab4_Bai2.s c ni dung sau:

    .include "nios_macros.s"

    .include "Lab4_Bai2.equ.s"

    .text

    .global _start_start:

    add r17, r0, r0movia r8, NEW_NUMBERmovia r9, GREEN_LEDSmovia r10, RED_LEDS

    MAIN_LOOP:ldwio r16, 0(r8)stwio r16, 0(r9)

    add r17, r17, r16stwio r17, 0(r10)br MAIN_LOOP

    .end

    Kt qu:

    Khi nhp s12t"switch sc lu vo thanh ghi r16, gi trtrong thanh ghi r16cng vi gi tr trong thanh ghi r17 (ban u c gi trbng khng) sau lu kt qunhn c c gi trl 1 vo thanh ghi r17 nhthhin trn Hnh 4.11.

    Tip theo nhp s1002t"switch c lu vo thanh ghi r16, r16 cng vi r17 (c

    gi trl 12) v kt qunhn c thanh ghi r17 nhtrnh by Hnh 4.12 v 4.13.

    Hnh 4.11Gi trtrong thanh ghi

  • 5/21/2018 He Thong Nhung 2014

    78/121

    Thc tp hthng nhng

    IV.8

    Hnh 4.12Gi trtrong thanh ghi

    Hnh 4.13Gi trtrong thanh ghi

    Bi tp 3:

    Trong bi tp ny, mun thm khn'ng chy chng trnh ng dng lin tc v iukhin c smi bng cch nhn mt pushbutton bi ng%i sdng khi smi s&n sngc. Mong mun chng trnh hot ng cng sktip bng cch chuyn i switchcho ph hp vi scn nhp sau nhn pushbutton chra rng con sny honthnh cho vic c.

    hon thnh bi tp ny cn phi thc hin c ch theo di trng thi ng vo.-ng dng xut/nhp thng th%ng sdng c%trng thi ban u xa v0. Trong chng

  • 5/21/2018 He Thong Nhung 2014

    79/121

    Thc tp hthng nhng

    IV.9

    trnh ny c%trng thi ban u c t mc 1 ngay sau khi cc thit bs&n sng chovic truyn dliu ktip, sau khi truyn dliu c%trng thi sxa v0. Do , bxl th'm d c%trng thi xc nh vic thc hin truyn dliu.

    Trong tr%ng hp ny, thit bxut/nhp c ng%i sdng t bng tay cho ccswitch. c c%trng thi, chng ta sto mch PIO c bit ch1 bit v sdng chcn'ng pht hin cnh xung. Giao din PIO c to ra rt ging vi PIO thng th%ngnhng ph hp vi s thanh ghi Hnh 4.1 v c nh ngh,a trong th mcaltera_up_avalon_DE2_pio (c thly t"Altera University Program hoc link http://ww-w.mediafire.com/?ln92t5fa50bvtso).

    Sau y l cc bc hng d#n thc hin:

    - To project mi v thc hin xy dng hthng ging nhbi tp 1.- Copy thmc altera_up_avalon_DE2_pio vo trong project. MSOPC, trn thanh

    menu chn File/Refresh System (F5). Phn DE2-PIO s xut hin bn diComponents Library/Project/University Program DE2 Board (Hnh 4.14).

    Hnh 4.14Chn giao din DE2 PIO

    - To c%trng thi sdng cu hnh DE2-PIO v ng vo l 1 bit. Trong tab InputOption chn Synchronously capture khi ng tnh n'ng c bit Falling trongEdge Type.

    - Thay i file Verilog ca bi tp 1 hon thnh hthng. Sdng nt nhn KEY1 lm ng vo cho c%trng thi (nt nhn hot ng mc thp).

    - Gn chn v bin dch project.- Thay i chng trnh ng dng smi c chp nhn khi KEY 1 c nhn.

    Chng trnh skim tra bit ca c%trng thi t"mc cao xung mc thp.- Download v chy chng trnh kim tra kt qulm vic. Chng trnh chy

    lin tc v smi sc cng vo sau m$i ln nhn KEY 1.

    File Lab4_Bai3.equ.s c ni dung sau:

    .equ NEW_NUMBER, 0x00011000

    .equ GREEN_LEDS, 0x00011010

    .equ RED_LEDS, 0x00011020

  • 5/21/2018 He Thong Nhung 2014

    80/121

    Thc tp hthng nhng

    IV.10

    .equ STATUS_FLAG, 0x00011030

    File Lab4_Bai3.s c ni dung sau:

    .include "nios_macros.s"

    .include "Lab4_Bai3.equ.s"

    .text

    .global _start

    _start:

    add r17, r0, r0

    movia r7, STATUS_FLAG

    movia r8, NEW_NUMBER

    movia r9, GREEN_LEDS

    movia r10, RED_LEDS

    MAIN_LOOP:

    ldwio r15, 0(r7)

    ldwio r16, 0(r8)

    stwio r16, 0(r9)

    bne r15, r0, MAIN_LOOP

    END_MAIN_LOOP:

    ldwio r15, 0(r7)

    beq r15, r0, END_MAIN_LOOP

    add r17, r17, r16

    stwio r17, 0(r10)

    br MAIN_LOOP

    .end

    Kt qu:Khi nhp sB616 t"switch sc lu vo thanh ghi r16, trong th%i gian ny c

    ththay i gi tr, khi gi trng vi mong mun v ch%trng thi trong thanh ghi r15c gi tr l khng s thc hin cng gi tr ca r16 vi r17 (ban u c gi tr bngkhng) sau lu kt quvo r17 nhthhin trn Hnh 4.16. Ngc li trang thi trongthanh ghi r15 bng 1 chng trnh sng ch%v r17 v#n gi nguyn gi tr ban u(Hnh 4.15).

  • 5/21/2018 He Thong Nhung 2014

    81/121

    Thc tp hthng nhng

    IV.11

    Hnh 4.15 Hnh 4.16

  • 5/21/2018 He Thong Nhung 2014

    82/121

    Thc tp hthng nhng

    V.1

    Bi tp th nghim lab 5:

    Chng trnh con v ngn xpMc ch ca bi tp ny l hc vchng trnh con v lin kt chng trnh con

    trong mi tr%ng Nios II. Bao gm khi nim vtruyn tham sv ng'n xp.

    Phn I

    Chng ta s s dng h thng Nios II bao gm b nh on-chip v module JTAGUART cho giao tip vi my tnh ch.

    Hnh 5.1

    Thc hin hthng nhbn di:

    1.To mi mt project Quartus II, chn chip xl Cyclone II EP2C35F672C6.

    2.Sdng SOPC Builder to hthng vi tn nios_system bao gm cc thnhphn:

    Khi xl Nios II/s prosessor vi JTAG Debug Module Level 1. Bnhon-chip (RAM) vi dung lng 32 Kbytes.

    3.T"menu hthng, chn Auto-Assign Base Addresses. Bn nn to hthngnhHnh 5.1.

    4.To hthng, thot kh*i SOPC Builder v trli phn mm Quartus II

    5.Thc hin gn chn, bin dch v np xung board DE2 nhcc bi tp thnghim trc.

    Phn II

    Chng ta s!p xp danh sch cc snguyn 32 bit theo th t t'ng dn. Danh schny c Hnh 5.thc l mt tp tin vi su tin l kch thc ca chui s 32 bit cnc s!p xp v phn cn li l cc sc s!p xp. Thc hin cng vic mong munbng cch sdng ngn ngassembly:

    6.Vit chng trnh c ths!p xp danh sch cc scha trong tp tin c npxung bnhb!t u ti vtr LIST FILE. Gisdanh sch ln v thnkhng thsao chp trong bnh.

  • 5/21/2018 He Thong Nhung 2014

    83/121

    Thc tp hthng nhng

    V.2

    7.Do , qu trnh s!p xp phi thc hin ti ch, nn c2 danh sch scs!p xp v danh sch sban u u chim vtr nhnhau trong bnh.

    8.Bin dch v download chng trnh ca bn sdng Altera Program Monitor.

    9.To danh sch m#u, np n vo bnhv chy chng trnh ca bn. Danhsch sc to bng file .txt. Np danh sch vo bnhnhsau:

    Sau khi bin dch v np thnh cng chng trnh Lab5_part2.s, ta npdanh sch cc s cn s!p xp xung b nh. Trong Altera ProgrameMonitor, chn tab Memory, xut hin a chcc vng bnhnhHnh 5.2.Ta thc hin lu file danh sch cc s ti vng a ch 0x00009000 (sHex). G*s9000 vo Address (hex) ri bm Go di chuyn ti vng ach9000 Hnh 5.3.

    Hnh 5.2

  • 5/21/2018 He Thong Nhung 2014

    84/121

    Thc tp hthng nhng

    V.3

    Hnh 5.3

    Nhp phi chut, chn Load file into memory, vo Browse ch%ng d#n n file danh sch .txt (number.txt), chn du , lm ng'n cchgia cc strong danh sch, kch thc ca m$i sl 4 byte (Value size),a chb!t u l 9000. Gi trca cc strong danh sch c np vo bnh nh Hnh 5.4. Danh sch cc s trong number.txt nh sau:f,6,11,22,4,90,100,50,9,76,12,11,13,54,67,44 trong s f (12) u tintrong danh sch l slng cc sc s!p xp.

    Hnh 5.4

  • 5/21/2018 He Thong Nhung 2014

    85/121

    Thc tp hthng nhng

    V.4

    Kt qutrc khi chy chng trnh Hnh 5.5:

    Hnh 5.5

    Kt quchng trnh sau khi chy l Hnh 5.6:

  • 5/21/2018 He Thong Nhung 2014

    86/121

    Thc tp hthng nhng

    V.5

    Hnh 5.6

    Khi thay i gi trcc strong danh sch cc sc s!p xp c+ng nhslngcc s trong danh sch th vic s!p xp v#n ng v dcho chng trnh s!p xp danhsch cc snhsau: 7, 9, 7, 8, 6, 3, 5, 2 trong s7 u tin trong danh sch l slngcc sc s!p xp.

    Trc khi chy chng trnh kt qunhHnh 5.7:

  • 5/21/2018 He Thong Nhung 2014

    87/121

    Thc tp hthng nhng

    V.6

    Hnh 5.7

    Sau khi chy chng trnh kt qunhHnh 5.8:

  • 5/21/2018 He Thong Nhung 2014

    88/121

    Thc tp hthng nhng

    V.7

    Hnh 5.8

    Ch : tp tin cha danh sch c thc np vo bnhbng cch sdng AlteraProgram Monitor. chng trnh c ths!p xp cc strong danh sch theo thtgimdn ta sthay lnh bltbng lnh bgt.

    Lab5_part2.s.include "nios_macros.s".text

    /**************************************************************/

    /* Sap xep danh sach so 32 bit trong bo nho *//* r8 - kich thuoc dia chi cua danh sach cac so *//* r9 - dia chi cua so dau tien trong danh sach *//* r10 - dia chi phan tu hien tai dang duoc kiem tra *//* r16 - so dau tien duoc so sanh *//* r17 - so thu hai duoc so sanh *//* r18 - co chi rang hoan doi vi tri da xay ra *//* r19 - kiem tra khi moi thanh phan duoc kiem tra *//* r20 - kich thuoc cua danh sach cac so */.global _start

    _start:

  • 5/21/2018 He Thong Nhung 2014

    89/121

    Thc tp hthng nhng

    V.8

    movia r8, SIZEmovia r9, LIST

    BEGIN_SORT:ldwio r20, 0(r8)

    RESTART_SORT:mov r18, r0movi r19, 1mov r10, r9

    SORT_LOOP:ldwio r16, 0(r10)ldwio r17, 4(r10)blt r16, r17, SKIP_SWAP

    SWAP:stwio r17, 0(r10)stwio r16, 4(r10)movi r18, 1

    SKIP_SWAP:addi r19, r19, 1addi r10, r10, 4

    bne r19, r20, SORT_LOOPbne r18, r0, RESTART_SORT

    END:br END

    .org 0x01000LIST_FILE:SIZE:.word 0LIST:

    .end

    Phn III

    Trong phn ny, chng ta sdng chng trnh con thc hin cng vic s!p xp.to chng trnh con tng qut, ni dung thanh ghi c sdng bng chng trnhcon lu vo ng'n xp v phc hi li trc khi r%i kh*i chng trnh con. Ch rngng'n xp c to bng cch khi to con tr*ng'n xp, thanh ghi r27. N l cch thchin thng dng khi to ng'n xp v tr a chcao ca bnhv lm n hngtheo a chthp.

  • 5/21/2018 He Thong Nhung 2014

    90/121

    Thc tp hthng nhng

    V.9

    Con tr*ng'n xp c iu chnh r rng khi c t vo hoc xa kh*i ng'n xp.to ng'n xp t"a chcao n a chthp, con tr*ng'n xp c lm gim 4 n vtrc khi nhp mi vo ng'n xp v n c t'ng 4 n vsau khi ng'n xp c xa.

    Thc hin cng vic ny bng cch sa i chng trnh ca bn t"phn II nhsau:1. Vit chng trnh con, c gi l SORT, n c ths!p xp danh sch c

    kch thc bt k/mt a chty trong bnh. Gisrng kch thcv vtr ca danh sch l cc tham sc thng qua chng trnh conbng thanh ghi sao cho:

    Tham skch thc cho bi ni dung trong thanh ghi r2 a chnhp vo u tin trong danh sch cho bi ni dung trong thanh ghi

    r3.

    2. Vit chng trnh chnh, n khi to con tr*ng'n xp, t yu cu tham s

    trong thanh ghi r2 v r3 v gi chng trnh con SORT. Danh sch cti trong bnhvtr LIST FILE.

    3. Bin dch v np chng trnh ca bn.

    4. To danh sch m#u, ti n vo trong bnh, v chy chng trnh cabn.

    Khung code bng ngn ngassembly cho Lab5_part3.s

    .include "nios_macros.s"

    .text

    .equ STACK, 0xB000

    .global _start_start:

    movia sp, STACKmov fp, sp

    movia r8, SIZEmovia r9, LIST

    ldwio r2, 0(r8)mov r3, r9

    call SORTEND:

    br END

    /**************************************************************//* chuong trinh con *//* Sap xep danh sach so 32 bit trong bo nho *//* r2 - kich thuoc cua danh sach cac so *//* r3 - dia chi cua so dau tien trong danh sach */

    /* r8 - dia chi phan tu hien tai dang duoc kiem tra */

  • 5/21/2018 He Thong Nhung 2014

    91/121

    Thc tp hthng nhng

    V.10

    /* r16 - so dau tien duoc so sanh *//* r17 - so thu hai duoc so sanh *//* r18 - co chi rang hoan doi vi tri da xay ra */

    /* r19 - kiem tra khi moi thanh phan duoc kiem tra *//* r20 - kich thuoc cua danh sach cac so */

    SORT:subi sp, sp, 28 /* luu tat ca cac thanh ghi duoc su dung vao ngan

    xep */stw ra, 0(sp)stw fp, 4(sp)stw r8, 8(sp)stw r16, 12(sp)stw r17, 16(sp)stw r18, 20(sp)stw r19, 24(sp)addi fp, sp, 28

    BEGIN_SORT:RESTART_SORT:

    mov r18, r0movi r19, 1mov r8, r3

    SORT_LOOP:

    ldwio r16, 0(r8)ldwio r17, 4(r8)blt r16, r17, SKIP_SWAP

    SWAP:stwio r17, 0(r8)stwio r16, 4(r8)movi r18, 1

    SKIP_SWAP:addi r19, r19, 1addi r8, r8, 4

    bne r19, r2, SORT_LOOPbne r18, r0, RESTART_SORT

    END_SORT:

    ldw ra, 0(sp) /* gia tri */ldw fp, 4(sp)ldw r8, 8(sp)ldw r16, 12(sp)ldw r17, 16(sp)

    ldw r18, 20(sp)

  • 5/21/2018 He Thong Nhung 2014

    92/121

    Thc tp hthng nhng

    V.11

    ldw r19, 24(sp)addi sp, sp, 28ret

    /* ket qua tu chuong trinh con */

    .org 0x01000LIST_FILE:SIZE:.word 0LIST:

    .end

    Kt quca chng trnh phn III ny ging vi kt quca chng trnh phn

    II.

  • 5/21/2018 He Thong Nhung 2014

    93/121

    Thc tp hthng nhng

    VI.1

    Bi tp th nghim lab 6:

    c lin tc v ngtMc ch ca thc hnh ny l tm hiu lm thno gi v nhn d liu t"

    thit bxut /nhp, c hai phng php c sdng nhn bit c hay khng c dliu, c thgi hoc s&n sng nhn t" thit bxut/nhp. Phng php u tin, c dliu lin tc, bxl truy cp n cc thit bkim tra xem c nhn c dliu haykhng. Phng php thhai, dng ng!t, cc thit bbo cho bxl bit n c thnhnc dliu hoc dliu c s&n m khng xl theo yu cu mt cch r rng.

    Mt chng trnh n gin v th%ng sdng chuyn dliu gia bxl vthit b xut/nhp c gi l UART (Universal Asynchronous Receiver Transmitter).

    Giao thc (mch) UART c t gia bxl v thit bxut/nhp. Vic chuyn giaodliu gia UART v bxl c thc hin mt cch song song, ni m tt ccc bitca mt k tc chuyn giao ti cng mt th%i im sdng %ng truyn ring bit.Tuy nhin, vic chuyn giao dliu gia UART v thit bxut/nhp c thc hin theocch truyn ni tip v cng th%i im.

    SOPC Builder c th thc hin giao din ca cc loi UART sdng trong hthng Nios II v c gi l JTAG UART. JTAG UART c thc to ra cung cpkt ni gia bxl Nios II v host computer kt ni n board DE2. Hnh 6.1 l skhi ca giao din JTAG UART, trong core JTAG UART c hai thanh ghi (Hnh 6.2):thanh ghi Data v thanh ghi Control, c truy cp trong bx l nhl v tr bnh,

    m$i thanh ghi c 4 byte v a chca thanh ghi Control ln hn so vi a chc gncho thanh ghi Data. Ngoi ra, trong core cn cha hai FIFO ng vai tr nhl blu trm, cho php truyn v nhn dliu t"my ch.

    Hnh 6.1 Skhi giao din JTAG UART

  • 5/21/2018 He Thong Nhung 2014

    94/121

    Thc tp hthng nhng

    VI.2

    Hnh 6.2Skhi thanh ghi trong JTAG UART

    Cc tr%ng trong thanh ghi Data c sdng nhsau:

    - T"bit 0 bit 7 (tr%ng DATA): k t8 bit c t vo trong Write FIFO khithc hin thao tc lu trt"bxl hoc k tc ct"Read FIFO khi thchin thao tc ti dliu.

    - Bit 15 (tr%ng RVALID) cho bit trong tr%ng DATA c k tbxl c thc. Nu trong tr%ng DATA c d liu th bit 15 c gi trl 1 v ngc li cgi trl 0.

    - T"bit 16 bit 31 (RAVAIL) cho bit sk tcn li trong Read FIFO.

    Cc tr%ng trong thanh ghi Control c sdng nhsau:

    - Bit 0 (RE) cho pht c ng!t khi t ln 1.- Bit 1 (WE) cho php xl ng!t khi t ln 1.- Bit 8 (RI) cho bit c ng!t ang ch%c nu c gi trl 1. Khi c thanh ghi Data

    RI sxa v0.- Bit 9 (WI) cho bit c mt ng!t ang ch%xl nu c gi trl 1.- Bit 10 (AC) cho bit JTAG ang hot ng (host computer gi JTAG UART

    kim tra kt ni c tn ti hay khng) khi AC c gi trl 0.- Bit 16 bit 31 (WSPACE) cho bit skhong trng trong Write FIFO.

    Trong bi tp 1 v 2 ssdng JTAG UART truyn k tASCII gia bxl

    Nios II trn board DE2 v host computer. Ngoi ra, trong bi tp 3 sdng thm phninterval timer nh tr(cho chng trnh ng dng.

    Bi tp 1:

    S dng SOPC Builder to h thng nh Hnh 6.3 gm c: b x l Nios II,JTAG UART, bnhv Interval Timer.

    Hthng c thc hin nhsau:

    - To project mi, chn Cyclone II EP2C35F672C6.- Sdng SOPC Builder to hthng tn nios_sys bao gm cc thnh phn sau:

    Nios II/s processor vi JTAG Debug Module Level 1.

  • 5/21/2018 He Thong Nhung 2014

    95/121

    Thc tp hthng nhng

    VI.3

    Kch thc bnhRAM l 32 Kbyte (On-chip memory).JTAG UART sdng chmc nh.

    Interval Timer t li hai thnh phn sau: Timeout period- Period chn500ms nh Hnh 6.4 v Hardware Options-Preset chn Simple periodicinterrupt.

    Hnh 6.3Skhi hthng ng dng

    Phn gn a chnn nhbi tp th nghim trc v kt quhthng c to ranhHnh 6.5:

    Cui cng l phn to file Verilog HDL gn kt ni cc chn:

    - Clk PIN N2 (tn s50MHz).- Reset_n PIN G26 (KEY 0).

    Bi tp 2:

    JTAG UART c thgi k tASCII n Altera Program Monitor v hin thk t trong ca sTerminal. Khi tr%ng WSPACE trong thanh ghi Control c gi trkhckhng cho bit c thJTAG UART ghi k tmi n Altera Program Monitor. K tghi

    ti Altera Program Monitor, sc lin tc vo thanh ghi trc khi c khong trng. Khic khong trng k tASCII c thghi vo trong thanh ghi Data ca JTAG UART.

    Vit chng trnh bng ngn ngAssembly hin thi chZ khong 500ms trongca sTerminal ca ASCII n Altera Program Monitor. To v thc thi chng trnhsau:

    - Sdng ngn ngAsembly vit vng lp c thanh ghi Control trong JTAG UARTv nhy ti ch$trc khi mt vi khong trng ghi s&n sng.

    - Ghi chZ n thanh ghi Data.- Sdng phn mm Altera Program Monitor bin dch v np chng trnh

    Assembly.

  • 5/21/2018 He Thong Nhung 2014

    96/121

    Thc tp hthng nhng

    VI.4

    - To delay sao cho in ra 1 k tsau khong 0.5s.- Bin dch, np v chy chng trnh.

    Hnh 6.4Cu hnh cho Interval Timer

    Hnh 6.5Kt quthit khthng ng dng

    File Lab6_Bai2.equ.s c ni dung sau:

    .equ JTAG_UART, 0x00011028

    .equ TIMER, 0x00011000

    .equ STACK, 0x00010800

    File Lab6_Bai2.s c ni dung sau:

    .include "nios_macros.s"

    .include "Lab6_Bai2.equ.s"

    .text

    .global _start_start:

  • 5/21/2018 He Thong Nhung 2014

    97/121

    Thc tp hthng nhng

    VI.5

    movia sp, STACKmov fp, sp

    movia r8, JTAG_UARTmovi r16, Z

    PUT_CHAR_LOOP:ldwio r17, 0(r8)andhi r17, r17, 0xffffbeq r17, r0, PUT_CHAR_LOOPstwio r16, 0(r8)mov r18, r0

    DELAY_LOOP:addi r18, r18, 1

    andhi r19, r18, 0x0010beq r19, r0, DELAY_LOOPbr PUT_CHAR_LOOP

    END:br END

    .end

    Kt qu: c thhin trn Hnh 6.6 v 6.7.

  • 5/21/2018 He Thong Nhung 2014

    98/121

    Thc tp hthng nhng

    VI.6

    Hnh 6.6Gi trtrong thanh ghi

    Hnh 6.7Ca sTerminal

    Bi tp 3:

    JTAG UART c thnhn k tASCII t"thit bu cui window, c+ng nhghi lnJTAG UART. Bit RVALID (bit 15) trong thanh ghi dliu cho bit c hay khng c ktASCII trong tr%ng DATA. Nu c k ttrong tr%ng DATA ng ch%c c thtr%ng RVALID sc gi trkhc khng.

  • 5/21/2018 He Thong Nhung 2014

    99/121

    Thc tp hthng nhng

    VI.7

    Vit chng trnh thc hin nhim v nh "my nh ch", c m$i k t nhnc bi JTAG UART t"host computer v sau hin thk t trong ca sthit b

    u cui ca chng trnh Altera Program Monitor.Lu : con tr*phi a vo trong ca sthit bu cui ca chng trnh Altera

    Program Monitor vit k tn cng JTAG UART.

    File Lab6_Bai3.equ.s c ni dung sau:

    .equ JTAG_UART, 0x00011028

    .equ TIMER, 0x00011000

    .equ STACK, 0x00010800

    File Lab6_Bai3.s c ni dung sau:

    .include "nios_macros.s"

    .include "Lab6_Bai3.equ.s"

    .text

    .global _start_start:

    movia sp, STACKmov fp, spmovia r6, JTAG_UART

    PUT_CHAR_LOOP:ldwio r4, 0(r6)

    andi r8, r4, 0x8000beq r8, r0, PUT_CHAR_LOOPandi r5, r4, 0x00ff

    call PUT_JTAGbr PUT_CHAR_LOOP

    .global PUT_JTAGPUT_JTAG:

    subi sp, sp, 4stw r4, 0(sp)ldwio r4, 4(r6)andhi r4, r4, 0xffffbeq r4, r0, END_PUT

    stwio r5, 0(r6)END_PUT:

    ldw r4, 0(sp)addi sp, sp, 4ret

    .end

    Kt qu: c thhin trn Hnh 6.8 v 6.9.

  • 5/21/2018 He Thong Nhung 2014

    100/121

    Thc tp hthng nhng

    VI.8

    Hnh 6.8Gi trtrong thanh ghi

    Hnh 6.9Ca sTerminal

    Bi tp 4:

    JTAG UART ch%nhp k tnhhai bi bp trn l khng hiu qudo lng ph th%igian cho vic ch%c thanh ghi ca n xc nh trng thi UART. Nu xc nh ti

  • 5/21/2018 He Thong Nhung 2014

    101/121

    Thc tp hthng nhng

    VI.9

    th%i im k tc trong thanh ghi th tc ng ng kn hiu sut ca chng trnh.Thay v ch% nhp k t, c th s dng c ch ng!t, cho php b x l lm cng vic

    khc trong th%i gian ch%i thao tc xut nhp.To ra mt phc vng!t c cc k tnhn bi JTAG UART t"host computer.

    Ti vtr phc vng!t c a ch0x20, bi v y l vtr mc nh xl ngoi lcla chn bi hthng SOPC Builder. a chngoi lstrli trong thanh ghi ea v phigim i 4 cho ng!t ngoi.

    Nios II c thanh ghi iu khin ctl3, c+ng c gi l ienable (cho php ng!t trnnn ring bit). Ch , hthng to ra bi tp u tin lc ta c gi trca ng!t bngkhng, khi thanh ghi iu khin ctl3 c a ln 1 th lc ny cho php ng!t JTAGUART. Ngoi ra , thanh ghi iu khin ctl0 (gi l thanh ghi trng thi) khi sdng cn

    phi set ln 1 v b x l cho php ng!t bit (thit lp ln 1 nu mun thc hin ng!tngoi).

    Phn gi thc hin sau:

    - To mt phc vng!t oc k tt"JTAG UART:- Phc vng!t phi t ti a chbnh0x20.- cho php ng!t, gi trph hp phi c ghi vo thanh ghi Control ca JTAG

    UART v thanh ghi ctl0, ctl3 ca Nios II.- Trong phc vng!t, sdng phng php nhn cc k tt"host computer hin

    thcc k ttrong ca sthit bu cui ca chng trnh Altera ProgramMonitor.

    Hon thnh, bin dch, np v chy chng trnh sau:

    .include "nios_macros.s"

    .text

    .org 0x20ISR:

    rdctl et, ctl4beq et, r0, SKIP_EA_DECsubi ea, ea, 4

    SKIP_EA_DEC:

    /*Thtc ngtEND:

    eret.global _start

    _start:/*Vit lnh cho php ngt chng trnh./*Vit lnh chng trnh chnh.

    LOOP:br LOOP

    .end

  • 5/21/2018 He Thong Nhung 2014

    102/121

    Thc tp hthng nhng

    VI.10

    Nu chng trnh ca bn chy ln u thc hin khng ng cng vic th bnphi tm l$i v sa l$i. Chng trnh Altera Program Monitor c h$trtnh n'ng sa l$i

    bng cch chy t"ng bc (step), cho php ng%i dng quan st kt quthc thi ca t"nglnh v ni dung cc thanh ghi ca Nios II. Tuy nhin, phng php ny khng thsdng khi lin quan ti ng!t, v ng!t sc tng v hiu ha khi chy t"ng bc thngqua chng trnh. V vy, trong tr%ng hp chng trnh c sdng ng!t ta phi dngim ng!t (breakpoint) trgip g0ri.

    C+ng lu rng ng!t stng v hiu ha khi thc hin ng!t lp i lp li, iuny c ngh,a rng nu mt sng dng yu cu ng!t lng nhau, cc ng!t sphi c sdng th%ng xuyn gin on.

  • 5/21/2018 He Thong Nhung 2014

    103/121

    Thc tp Hthng nhng Bi tp thc tp 7

    Lp trnh cho NIOS II sdng ngn ngC

    Trong bi ny hng dn cch to v lp trnh cho Board DE2 sdng ngn ngC. V dtrong bi sdng giao tip I/O hin thsthay i ca switch ln led xanh tng ng.

    1. Gii thiu:

    Skhi cc thnh phn c sdng trong th nghim thhin trong Hnh 7.1.

    Hnh 7.1: Cc thnh phn sdng trong lab7

    Chng ta sdng 8 switch (t0 n 7) nhp ng vo, 8 led xanh (t0 n 7) hin

    thcc gi trnhp vo tswitch tng ng ra led xanh.

    Trong project ny chng ta sthc hinto mt hthng SOPC bng cch sdng SOPC Builder.

    Hthng SOPC ny sc tp ra bng file Verilog HDL.

    2. Cc bc thc hin:

    u tin chng ta sto mt project trn phn mm Altera Quatus II 10.1:

    - Vo File\New Project Wizard Chn thu mc cha project v tn project

  • 5/21/2018 He Thong Nhung 2014

    104/121

    Thc tp Hthng nhng Bi tp thc tp 7

    Hnh 7.2: To project mi

    Chn chip Cyclone II EP2C35F672C6 nhHnh 7.3.

    Hnh 7.3:Chn chip xl.

    Trong ca sca project Lab7, chn cng cSOPC Builder tin hnh to mt hthng SOPC.

    t tn l nios_sys v chn ngn ngl Verilog.

    Hnh 7.4: To hthng phn cng

    To mt h thng SOPC n gin bao gm: CPU(Nios II Processor), RAM( On-chip

    Memory), JTAG UART, System ID, PIO Hnh 7.5.

    CPU (Nios II Processor): bx l trunng tm, iu khin hot ng ca h thng. Cu

    hnh Nios II/s.

    RAM (On-chip Memory): cu hnh 32k.

    Giao thc PIO sthit k2 kt ni: 1 u vo 8 bit (switch), 1 u ra 8 bit (led xanh).

    JTAG UART: kt ni PC vi Board DEII, mc nh.

    System ID: Xc nh cu hnh phn cng thch hp.

  • 5/21/2018 He Thong Nhung 2014

    105/121

    Thc tp Hthng nhng Bi tp thc tp 7

    Hnh 7.5: Cu hnh phn cng

    Sau khi chn xong cc thnh phn cn thit cho hthng, vo System/Auto-Assign Base

    Addresses t a ch! nn cho module. Ch gn b nh vo Reset Vector v Exception

    Vector Hnh 7.6.

    Hnh 7.6.

    Sau khi hon tt vic to phn cng n vo Gernerate to tp tin m ththng.

    Gn chn cho hthng:

    Trong ca sproject chn File\New chn Block Diagram\Sche-matic xut hin ca sgn chn

    hthng. Gn cc chn tng ng nhHnh 7.7.

    Hnh 7.7

    Vo Assingnments/Import Assignments dn tp tin DE2_pin_assign-ments.csv vo mc File

    name dxc nh chn cthng vi CLOCK_50, KEY[0], SW[7..0] v LEDG[7..0].

    Sau n Run tin hnh bin dch, nu xy ra l"i kim tra li v sa l"i.

    Tin hnh np xung Board DE2 bng cch n vo . Kt qu np thnh cng c th hin

    trong Hnh 7.8.

    Hnh 7.8: Np xung thnh cng.

    Sau khi np thnh cng hthng phn cng xung Board DE2, ta sdng gi phn mm Nios II

    Software Builder Tool for Eclipse vit chng trnh ng dng bng ngn ngC cho hthng

    phn cng thit k.

  • 5/21/2018 He Thong Nhung 2014

    106/121

    Thc tp Hthng nhng Bi tp thc tp 7

    Vit chng trnh ng dng cho hthng phn cng:

    Tr#li ca sAltera SOPC Builder chon Nios II Software Build Tools for Eclipse

    Hnh 7. 9:

    Hnh 7.9: Nios II Software Build Tools for EclipseChn vtr lu phn mm ng dng Hnh 7.10:

    Hnh 7.10: Ca sworkspace.

    To project mi, vo File\New\Nios II Application and BSP form temple Hnh 7.11.

    Hnh 7.11: to ng dng mi.

  • 5/21/2018 He Thong Nhung 2014

    107/121

    Thc tp Hthng nhng Bi tp thc tp 7

    Trong ca shin ln chn $ng dn n file nios_sys.sopcinfo trong SOPC Information File

    name, t tn project l lab7 v chn Templates l Hello world small Hnh 7.11.

    Hnh 7.11: to project Eclipse mi.

    Click phi vo lab7_bsp[nios_sys] chn Properties\Nios II BSP properties v thit t nhhnh

    Hnh 7.12: Thit lp Properties cho Lab7_bsp.

  • 5/21/2018 He Thong Nhung 2014

    108/121

    Thc tp Hthng nhng Bi tp thc tp 7

    Tr#li thmc Lab7, vo file hello_world_small.c v nh on code sau thay thcho chng

    trnh c s%n.

    /*C application example

    */

    #include

    #include

    #include

    int main()

    {

    int status;

    printf("Beginning.\n");

    while (1)

    {

    status = IORD_8DIRECT(0x00011000, 0x0);

    IOWR_8DIRECT(0x00011010, 0x0, status);}

    return 0;

    }

    Hnh 7.13:C language code to control the LEDs

    Click phi vo Thmc Lab7 n Build Project.

  • 5/21/2018 He Thong Nhung 2014

    109/121

    Thc tp Hthng nhng Bi tp thc tp 7

    Bin dich chng trnh:

    Click chut phi vo Lab7\Run as\Run Configurations . Hnh 7.14.

    Hnh 7.14.

    Click p vo Nios II Hardware to New_configurations, chn tab Target Connection, mc

    System ID check Ignore mismatched ID v Ignore mismatched system timestamp sau Apply,

    Run Hnh7.15.

    Hnh 7.15: ca schy chng trnh.

  • 5/21/2018 He Thong Nhung 2014

    110/121

    Cc nh chp mn hnh Lab 7 (c ln)

  • 5/21/2018 He Thong Nhung 2014

    111/121

  • 5/21/2018 He Thong Nhung 2014

    112/121

  • 5/21/2018 He Thong Nhung 2014

    113/121

  • 5/21/2018 He Thong Nhung 2014

    114/121

  • 5/21/2018 He Thong Nhung 2014

    115/121

  • 5/21/2018 He Thong Nhung 2014

    116/121

  • 5/21/2018 He Thong Nhung 2014

    117/121

  • 5/21/2018 He Thong Nhung 2014

    118/121

  • 5/21/2018 He Thong Nhung 2014

    119/121

  • 5/21/2018 He Thong Nhung 2014

    120/121

  • 5/21/2018 He Thong Nhung 2014

    121/121