BỘGIÁODỤCVÀĐÀOTẠO TRƢỜNGĐẠIHỌCBÁCHKHOAHÀNỘI NGUYỄNVĂNCƢỜNG NGHIÊNCỨUNoCCẤUHÌNHLẠIĐƢỢCTRÊNFPGAVÀPHÁTTRIỂNTHUẬTTO ÁNÁNH XẠĐỘNG ỨNGDỤNGTRÊNNỀNTẢNGNoC LUẬNÁNTIẾNSĨ KỸTHUẬTĐIỆN TỬ HàNội –2017 BỘGIÁODỤCVÀĐÀOTẠO TRƢỜNGĐẠIHỌCBÁCHKHOAHÀNỘI NGUYỄNVĂNCƢỜNG NGHIÊNCỨUNoCCẤUHÌNHLẠIĐƢỢCTRÊNFPGAVÀPHÁTTRIỂNTHUẬTTO ÁNÁNH XẠĐỘNGỨNGDỤNGTRÊNNỀNTẢNGNoC Chuyênngành:KỹthuậtđiệntửM ãsố:62520203 LUẬNÁNTIẾNSĨKỸTHUẬTĐIỆNTỬ NGƯỜIHƯỚNGDẪNKHOAHỌC:PGS TS.PHẠMNGỌCNAM HàNội–2017 LỜICAMĐOAN Tơixincamđoanrằngcáckếtquảkhoahọcđượctrìnhbàytrongquyểnluậnánnàylà kết quảnghiêncứucủabảnthântơitrongsuốtthờigianlàmnghiêncứusinhvàchưatừng xuất công bố tác giả khác Các kết nghiên cứu xác vàtrungthực HàNội,ngày08tháng05năm2017 Tácgiả LỜICẢMƠN Đầu tiên, xin bày tỏ lời cảm ơn sâu sắc kính trọng đến thầy giáo PGS TS.Phạm Ngọc Nam, người hướng dẫn định hướng khoa học cho tơi suốt khóahọc.Cảmơncác thành viên nhómNoC củaL ab ESRCđãhỗ tr ợ vàcùng tơi thựchi ệnmộtsốthí nghiệmtrongluậnánnày Tơi xin trân trọng cảm ơn Ban Lãnh đạo, quý thầy cô cán bộ, chuyên viên trongViện Điện tử Viễn thơng, Bộ mơn Điện tử Kỹ thuật máy tính Viện Đào tạo Sau Đạihọc tạo điều kiện thuận lợi nơi học tập, nghiên cứu, thủ tục hành vàgóp ý chun mơn cho tơi suốt trình học tập nghiên cứu trường Đại họcBáchkhoaHàNội TôicũngxintrântrọngcảmơnBanGiámhiệutrườngĐạihọcCôngnghiệpTp.HCM, Ban Lãnhđạo đồng nghiệp Phân hiệu Quảng Ngãi tạo điềukiện thuận lợi thời gian để học tập nghiên cứu trường Đại học Bách khoa HàNội.Xincảmơncácnghiêncứusinh đãquantâmvàđộngviêntôitrongsuốt khóahọc Cuối cùng, tơi xin bày tỏ lịng biết ơn đến gia đình, đặc biệt vợ tôi.Những người động viên giúp đỡ suốt thời gian vừa qua Đây làđộnglựclớnnhất đểtơivượtquacáckhókhănvàhồnthànhluậnánnày Tácgiả MỤCLỤC LỜIICAM ĐOAN i LỜIICẢMMƠNN .ii MỤCCLỤCC iii DANHMỤCC CÁCTỪ VIẾTTẮT VIẾTTẮTTTẮTT vii DANHMỤCC CÁCHÌNH VẼ,ĐỒTHỊTHỊ x DANHMỤCC CÁCBẢMNGBIỂUU xii MỞĐẦUU .1 Đặttvấn đền đề Mụcctiêu,đối tượng,i tượng,ng,phươngngphápvà phạmmvi nghiêncứuu 3 Cáckếtquả đạtđược luận ántquả đạtđược luận án đạmtđượng,c luận ána luận ánn án Cấn đềutrúc luận ána luận ánn án CHƯƠNNG1C ƠN 1.1 S Ở LÝTHUYẾTTẮTT .7 Lýthuyếtquả đạtđược luận ántvềmạmng trênchip 1.1.1 Nguồnngốccvàthuậtngữtngữ 1.1.2 Cấuuhìnhmạngng 1.1.2.1 Mạngnglưới n-chiềui n-chiềuu(n-DimensionalMesh) .9 1.1.2.2 MạngngK-aryn-cube 1.1.2.3 Mạngngcósốcchiềuuthấup 10 1.1.3 Cơchế điềukhiển điềuukhiểnnluồnng 10 1.1.3.1 Bảnntin 10 1.1.3.2 Cơchế điềukhiển điềuukhiểnnluồnngStore-and-Forward (SAF) 11 1.1.3.3 Cơchế điềukhiển điềuukhiểnnluồnngWormhole(WH) .11 1.1.3.4 Cơchế điềukhiển điềuukhiểnnluồnngVirtualcut-through(VCT) 12 1.1.3.5 Cơchế điềukhiển điềuukhiểnnluồnngkênh ảno(VirtualChannel) 12 1.1.4 Thuậtngữttoán địnhtuyếnnhtuyế điềukhiểnn 13 1.1.4.1 Phânloạngi địnhtuyếnnhtuyế điềukhiểnn .13 1.1.4.2 Cácvấunđều trongđịnhtuyếnnhtuyế điềukhiểnn .14 1.1.5 Tổngngquankiế điềukhiểnntrúcbộđịnhđịnhtuyếnnhtuyế điềukhiểnn 14 1.2 CôngnghệFPGA .16 1.2.1 Kiế điềukhiểnntrúcFPGA 17 1.2.1.1 Tổngngquankiế điềukhiểnntrúcFPGA 17 1.2.1.2 Kiế điềukhiểnntrúcFPGA Xilinxa Xilinx 18 1.2.2 Cấuuhìnhlạngi từngphầnngphầnn 19 1.2.2.1 Cấuuhìnhlạngi từngphầnngphầnnđộđịnhng .21 1.2.2.2 Cácưuđiểnm Xilinxa cấuuhìnhlạngi từngphầnngphầnn 22 1.2.2.3 HỗtrợcấuuhìnhlạngitrongFPGA XilinxaXilinx 23 1.3 Kỹthuận ántánhxạm ứung dụcnglênnềntả đạtđược luận ánng mạmng trênchip 24 1.3.1 Bàitoánánhxạng .24 1.3.2 Ánhxạng tạngithờigianthiếtkếigianthiế điềukhiểntkế điềukhiển 25 1.3.3 Ánhxạng tạngithờigianthiếtkếigianchạngy 26 1.4 Kếtquả đạtđược luận ántluận ánn chươngng .26 CHƯƠNNG2P H Á T T R I ỂU N N ỀNTẢNG N T ẢM N G P H ẦU N C ỨNG N G C ẤUHÌNH U H Ì N H L ẠIĐƯ I Đ Ư ỢC C CHONoC .28 2.1 Thiếtquả đạtđược luận ántkếtquả đạtđược luận án bộđịnh tuyến cho NoCnh tuyếtquả đạtđược luận ánn cho NoC .28 2.1.1 Giới n-chiềuithiệuu 28 2.1.2 Đềuxuấutkiế điềukhiểnntrúcbộđịnhđịnhtuyếnnhtuyế điềukhiểnn 29 2.1.2.1 Lựaachọncácthôngncácthôngsốcthiế điềukhiểntkế điềukhiển 29 2.1.2.2 Bộđịnhđệum ngõvào 32 2.1.2.3 Bộđịnhgiảnimã flit 32 2.1.2.4 Chuyểnnmạngchvà kênhảno .33 2.1.2.5 Bộđịnhphânxử .34 2.1.3 Kế điềukhiểntquản đánhgiá 34 2.1.3.1 Kế điềukhiểntquản tổngnghợp 35 2.1.3.2 Kế điềukhiểntquản môphỏngng 36 2.2 Thiếtquả đạtđược luận ántkếtquả đạtđược luận án bộgiaotiếtquả đạtđược luận ánpmạmng cho NoC 40 2.2.1 Giới n-chiềuithiệuu 40 2.2.2 Phươngpháp tiế điềukhiểnp cậtngữn 40 2.2.3 Đềuxuấutkiế điềukhiểnntrúcbộđịnhgiaotiế điềukhiểnpmạngng 42 2.2.4 Kế điềukhiểntquản đánhgiá 44 2.3 Pháttriểnnnền tả đạtđược luận ánngphầncứng cấuncứung cấn đềuhình lạmitừngngphầncứng cấun động 45 2.3.1 Giới n-chiềuithiệuu 45 2.3.2 Xâydựang hệuthốcng(nềuntảnngphầnncứng)ng)cấuuhình 47 2.3.2.1 Luồnngthiế điềukhiểntkế điềukhiển 47 2.3.2.2 Thiế điềukhiểntlậtngữphệuthốcng 48 2.3.3 Cáctrườigianthiếtkếnghợpnghiêncứng)u 50 2.3.3.1 Cấuuhìnhlạngicơsở hạ hạngtầnngtruyềunthơng 50 2.3.3.2 CấuuhìnhlạngicácPE 53 2.3.4 Kế điềukhiểntquảnthựacnghiệum 54 2.4 Kếtquả đạtđược luận ántluận ánnchươngng .56 CHƯƠNNG 3TRIỂUNKHAICÁCỨNGNGDỤCNGCĨTHỂUĐIỀNTẢNGUCHỈNHMỨCNHMỨNGC C H ẤUHÌNH T LƯỢCNGVÀONỀNTẢNGNT ẢMNGC ẤUHÌNH U H Ì N H L ẠIĐƯ I Đ Ư ỢC C D ỰATRÊNNoCTẠITHỜI A T R Ê N N o C T ẠIĐƯ I T H ỜI I GIANCHẠIĐƯY .57 3.1 Giớiithiệu 57 3.2 Mơtả đạtđược luận ánbài tốnánh xạm 59 3.3 Cácđịnh tuyến cho NoCnhnghĩavàxâydựngngbàitoánánhxạm 60 3.3.1 Mơhìnhứng)ngdụngng 60 3.3.1.1 Đồnthịnhtuyếntác vụngứng)ngdụngng 61 3.3.1.2 Mơhìnhchấutlượng 61 3.3.2 Mơhìnhphầnncứng)ng 62 3.3.3 Xâydựangbàitoánánh xạng .63 3.4 Cácgiả đạtđược luận ániphápchobàitoánánhxạmcácứungdụcnglênNoCtạmithờii gian chạmy 65 3.4.1 Giảnipháptốciưusửdụngngthuậtngữttốntìmkiế điềukhiểnmđầnyđủa Xilinx .66 3.4.1.1 Thuậtngữttoán 66 3.4.1.2 Kế điềukhiểntquảnmôphỏngng vàđánhgiá 67 3.4.2 Giảniphápheuristicchobàitoánánhxạngtạngithờigianthiếtkếigianchạngy 70 3.4.2.1 Chiế điềukhiểnnlượcchọncácthôngn vùnggầnnlồni 70 3.4.2.2 Thuậtngữttoánánhxạngheuristic 73 3.4.2.3 Kế điềukhiểntquảnmôphỏngng vàđánhgiá 75 3.5 Kếtquả đạtđược luận ántluận ánnchươngng .82 KẾTTẮTTLUẬNN 83 Nộidungvàcáckếtquả đạtđược luận ántquả đạtđược luận ánđạmtđượng,ccủa luận ánaluận ánnán .83 Đónggópkhoahọc luậnánc luận ána luận ánnán .84 Hướingpháttriểnn luận ána luận ánn án .85 DANHMỤCC CÁCCƠNGTRÌNH ĐÃCƠNGBỐCỦA LUẬNÁNA LUẬNNÁN 86 TÀILIỆUUTHAM KHẢMO 87 DANHMỤCCÁCTỪVIẾTTẮT Kýhiệu ABP ACMD NghĩatiếngAnhcủatừviếttắt AdaptiveBackPressure AverageCommunication ManhattanDistance AMD AverageManhattanDistance ARM ATG AXI C2R CAGR CF CLB CMPS CPU DDR AdvancedRISCMachine Application-SpecificIntegrated Circuit ApplicationTask Graph AdvancedeXtensibleInterface CoretoRouter CompoundAnnualGrowthRate CompactFlash ConfigurableLogicBlock ChipMulti-Processors CentralProcessing Unit DoubleDataRate DDRAM DoubleDataRate RAM DMA DP DPR DSP DT EDK FF FFT FIFO DirectMemoryAccess DynamicPart DynamicPartialReconfigurable DigitalSignalProcessor Design-time EmbeddedDevelopmentKIT FirstFit FastFourierTransform FirstInFirstOut FPGA FieldProgrammableGateArray FT FlitType GPIO GeneralPurposeInput Output HDL HardwareDescriptionLanguage HTTP-VS HTTPvideostreaming HW/SW Hardware/Software ASIC NghĩatiếngViệt KhoảngcáchManhattantruyền thơngtrungbình KhoảngcáchManhattantrung bình VixửlýARM Vimạchtíchhợpchundụng Đồthịtácvụứngdụng Giaodiện mởrộngtiên tiến TừlõiIPđến bộđịnh tuyến Tốcđộtăng trưởngképhàngnăm Bộnhớflash KhốiLogic cấuhình Chipđaxử lý Đơnvịxửlýtrungtâm Tốcđộdữliệu kép Bộnhớtruycậpngẫunhiêntốc độdữliệukép Truynhập bộnhớ trựctiếp Phầnđộng Cấuhìnhlạitừngphần động Xửlýtínhiệusố Thờigian thiếtkế Bộcơngcụpháttriểnnhúng Thuậttốnánhxạfirst fit BiếnđổiFouriernhanh Vàotrướcratrước Mảngcáccổngcóthểlậptrìnhtại chỗ Loạiflit Cácgiaotiếpvàoramục đích chung Ngơnngữmơtảphần cứng Truyềntảivideoquagiaothức http Phầncứng/Phầnmềm Kýhiệu IC NghĩatiếngAnhcủatừviếttắt IntegratedCircuit ICAP InternalConfigurationAccessPort InP IP ISE ISP JTAG LCD LE LUT MD MPEG-4 MPSoC MWD NI IndefinitePostponement Intellectual Property(IPCore) IntegratedSoftwareEnvironment InstructionSetProcessor JointTestActionGroupCable LiquidCrystalDisplay LogicElement LogicLook-upTable Manhattan MovingPictureExpertsGroup MultiprocessorSystemonChip Multi-WindowDisplay NetworkInterface NN NearestNeighbor NoC OB PC PCB PE PIP PL PLB PLD PR QoS R2C RAM RI RPA RR RT RTL SAF Network-on-Chip OverallBenefit PersonalComputer Printedcircuitboard ProcessingElement PictureIn Picture ProgrammableLogic Processor LocalBus ProgrammableLogicDevice PartialReconfiguration Qualityofservice Routerto Core RandomAccessMemory RoutingInformation Reprogrammability ReconfigurableRegion Run-time RegisterTransferLevel Store-And-Forward SDK SoftwareDevelopment KIT SN SequenceNumber NghĩatiếngViệt Mạchtíchhợp Cổngtruynhậpcấuhìnhbên Trìhỗnkhơngxácđịnh Lõisởhữutrítuệ Mơitrườngphầnmềm tíchhợp Vixửlýtậplệnh CápJTAG Mànhìnhtinhthể lỏng Phầntửlogic Bảngtralogic KhoảngcáchManhattan Hệthốngđaxửlýtrên chip Bộgiaotiếpmạng Thuậttốnánhxạnearest neighbor Mạngtrênchip Giátrịlợi íchtổngthể Máytínhcánhân Bảngmạch in Phầntửxử lý(tínhtốn) Logiclậptrình Thiếtbịlogickhảtrình Cấuhìnhlạiđượctừng phần Chấtlượngdịchvụ Từbộđịnhtuyếnđến lõiIP Bộnhớtruycập ngẫunhiên Thơngtin địnhtuyến Khảnănglậptrình lại Vùngcấuhìnhlại Thờigianchạy Mứctruyềnthanhghi Bộcơngcụpháttriểnphần mềm củaXilinx Sốthứtự