• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      FPGA的虛擬JTAG技術(shù)對并口FLASH快速編程

      2018-03-01 00:36:52,
      關(guān)鍵詞:字節(jié)寄存器移位

      (諾基亞上海貝爾股份有限公司,杭州 310053)

      引 言

      聯(lián)合測試行動小組(Joint Test Action Group, JTAG) 邊界掃描(Boundary Scan) 是IEEE1149.1標(biāo)準(zhǔn),其接口在大量的數(shù)字芯片中集成,方便調(diào)試和編程。集成電路板上一般將各個芯片的JTAG接口串接起來形成菊花鏈,這樣可以通過JTAG工具進(jìn)行統(tǒng)一的自動化操作。FLASH存儲芯片往往掛載在具有JTAG接口的芯片的總線上,這樣在工廠進(jìn)行大規(guī)模生產(chǎn)時,可以通過JTAG鏈對FLASH芯片進(jìn)行編程。

      1 JTAG接口簡介

      JTAG接口一般有4個信號,分別為測試數(shù)據(jù)輸入(TDI)、測試數(shù)據(jù)輸出(TDO)、測試時鐘(TCK)、測試模式選擇(TMS),測試復(fù)位信號(TRST)是可選的。TMS、TCK連入芯片內(nèi)部的測試接入端口(TAP),TDI串接到芯片引腳的邊界掃描單元(BS)上,這些單元串接后通過TDO連出芯片。TAP控制器在TCK觸發(fā)下通過一系列的TMS信號進(jìn)行狀態(tài)機(jī)的改變,這些狀態(tài)包括:Capture DR(得到當(dāng)前數(shù)據(jù)寄存器的內(nèi)容),Shift DR(對數(shù)據(jù)寄存器進(jìn)行數(shù)據(jù)移位,從TDI移入,TDO移出),Update DR(更新當(dāng)前數(shù)據(jù)寄存器的內(nèi)容),Capture IR(得到當(dāng)前數(shù)據(jù)指令寄存器的內(nèi)容),Shift IR(對指令寄存器進(jìn)行數(shù)據(jù)移位,從TDI移入、TDO移出),Update IR(更新當(dāng)前指令寄存器的內(nèi)容)。

      IR和DR一起進(jìn)行邊界掃描單元的控制,比如當(dāng)IR是全1時,一般對應(yīng)的功能是測試數(shù)據(jù)直通輸出(通過1比特的移位寄存器Bypass Register)。還可以控制引腳數(shù)據(jù)是從內(nèi)部邏輯得到還是掃描單元得到,掃描單元的數(shù)據(jù)是從引腳輸入還是輸出到引腳上,從而實現(xiàn)特定的JTAG動作(如圖1所示)。

      圖1 TAP控制器原理框圖

      2 FLASH器件的編程

      集成電路板上的FLASH器件一般掛載在具有JTAG接口的芯片上,在批量生產(chǎn)中往往需要通過JTAG燒寫一個小的引導(dǎo)程序或數(shù)據(jù)文件,大小從幾十KB到幾MB不等。

      傳統(tǒng)的邊界掃描方式是依次將數(shù)據(jù)串行移位到芯片的掃描單元(BS)里,準(zhǔn)備好各個數(shù)據(jù)線(data)、地址線(address)、片選線(cs)、讀寫使能線(wr)、輸出使能(oe)、編程使能(AW),接線如圖2所示。

      圖2 FLASH連接圖

      因為每次移位都需要遍歷芯片的所有BS,一次數(shù)據(jù)的準(zhǔn)備需要額外的開銷,所以這種方式的編程十分低效,只能用來燒寫小塊的程序和數(shù)據(jù)。即便這樣,這種方式的耗時也不可小覷,以1 MB的數(shù)據(jù)和有100個引腳的芯片以及有32字節(jié)編程塊緩存的FLASH(即有N=32K字節(jié)塊,一次性可以編程32字節(jié))為例。

      為方便計算,忽略FLASH的命令字,僅僅計算有效字節(jié)編程時間。一個塊編程周期包含片選CS從高到低,然后寫有效信號WE從高到低,數(shù)據(jù)有效(可同時),WE從低到高,WE從高到低,數(shù)據(jù)有效(可同時),WE從低到高…… 最后CS從低到高。JTAG控制器就需要至少移位K=(2N+3) cycles(對應(yīng)一個TCK時鐘周期),每次都需要移位Tshift=100次。假設(shè)JTAG控制器的TCK時鐘為Ttck=20 MHz,那么T cycle=50 ns??倳r間就是:

      T=K×Tcycle×Tshift=327.695 s>5 min

      實際上的引腳會更多,編程命令字的開銷也不少,JTAG工具每批次移位的間隔還有時間,需要更多的編程時間。

      3 虛擬JTAG簡介

      批量生產(chǎn)的自動化測試需要用到JTAG接口,而傳統(tǒng)的JTAG編程又比較低效費時,有沒有兩全其美的方法呢?答案是肯定的,就是可編程器件FPGA或CPLD(Complex Programmable Logic Device)的虛擬JTAG技術(shù)。Virtual JTAG 是ALTERA(已被Intel收購)公司提出的一個概念,XILINX公司和LATTICE公司也有相對應(yīng)的提法,具體實現(xiàn)大同小異。

      在可編程器件里面,JTAG TAP控制器可以作為一個硬核對用戶開放,用戶可以得到TAP狀態(tài)機(jī)的各種狀態(tài),當(dāng)然包括TDI、TCK、TDO,從而可以接管TDI的數(shù)據(jù),自定義返回給TDO的數(shù)據(jù)。

      觸發(fā)用戶自定義的JTAG后級控制器的原理用到了指令寄存器(instruction register)里面的用戶數(shù)據(jù)寄存器(user data register)。當(dāng)輸入特定數(shù)據(jù)給用戶寄存器0和用戶寄存器1后,相應(yīng)的狀態(tài)指示線發(fā)出高電平,JTAG后級控制器就可以知道后面的數(shù)據(jù)都是輸入給它的,就可以對這些數(shù)據(jù)進(jìn)行自定義的操作、自定義虛擬指令寄存器(Virtual Instruction Register,VIR)和虛擬數(shù)據(jù)寄存器(Virtual Data Register, VDR), 從而完成了虛擬JTAG的實現(xiàn),如圖3所示。

      圖3 Virtual JTAG實現(xiàn)原理圖

      4 掛載FPGA上的FLASH的快速編程

      基于Virtual JTAG技術(shù),可以自定義后級JTAG TAP控制器,定義好虛擬數(shù)據(jù)寄存器(VDR)和虛擬指令寄存器(IR)。再移植一個Flash Memory Controller,由相應(yīng)的虛擬IR指令得到擦除、讀取、編程等命令,相應(yīng)的數(shù)據(jù)從VDR得到或保存于VDR。一般的FPGA有足夠的內(nèi)部存儲空間RAM,所以上位機(jī)可以一次性把大容量數(shù)據(jù)通過虛擬JTAG傳給VDR,后級的Flash Controller就可以啟動相應(yīng)的編程序列,從而節(jié)省了很多傳輸和邊界移位的開銷,極大地提高了FLASH的編程效率。圖4就是一種實現(xiàn)的功能框圖。

      圖4 虛擬JTAG 快速FLASH編程實現(xiàn)框圖

      TAP控制器里面對Virtual JTAG的內(nèi)核進(jìn)行了封裝,導(dǎo)出了三個總線,分別是對下級模塊輸出的虛擬IR、虛擬DR以及從下級模塊輸入的虛擬DR。下級的命令轉(zhuǎn)換模塊從輸入的VIR和VDR得到命令和數(shù)據(jù),通過Wishbone總線轉(zhuǎn)換為FLASH控制器的命令和數(shù)據(jù),以及得到返回的數(shù)據(jù)。FLASH控制器進(jìn)行對FLASH的實際讀寫操作。

      VIR定義為4比特位寬, 其定義如表1所列。

      還是以1 MB的數(shù)據(jù)為例,VDR存儲深度為1 KB,如果VDR的存儲深度變得更大(一般FPGA里面有足夠多的內(nèi)存),那么時間將更少,最后的瓶頸取決于FLASH自身的編程速度。

      表1 VIR VDR對應(yīng)關(guān)系表

      T=K×Tcycle×Tshift=52.633 6 s<1 min

      結(jié) 語

      [1] Dr. Ben Bennetts.IEEE 1149.1 JTAG and Boundary Scan Tutorial[EB/OL].[2017-10]. https://www.asset-intertech.com/eresources/ieee-11491-jtag-and-boundary-scan-tutorial.

      [2] ALTERA. Virtual JTAG (altera_virtual_jtag) IP Core User[EB/OL].[2017-10]. https://www.altera.com/en_US/pdfs/literature/ug/ug_virtualjtag.pdf.

      丁峰平(硬件工程師), 主要研究方向為電信硬件電路、FPGA設(shè)計和實現(xiàn);陳莉萍(項目經(jīng)理),主要研究方向為電信工程項目組織計劃和實現(xiàn)。

      猜你喜歡
      字節(jié)寄存器移位
      No.8 字節(jié)跳動將推出獨立出口電商APP
      Lite寄存器模型的設(shè)計與實現(xiàn)
      再生核移位勒讓德基函數(shù)法求解分?jǐn)?shù)階微分方程
      大型總段船塢建造、移位、定位工藝技術(shù)
      No.10 “字節(jié)跳動手機(jī)”要來了?
      Σ(X)上權(quán)移位算子的不變分布混沌性
      簡談MC7字節(jié)碼
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      多指離斷手指移位再植拇指25例
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      拉孜县| 嘉善县| 祥云县| 健康| 土默特左旗| 寿阳县| 娄烦县| 铜鼓县| 威信县| 武邑县| 南木林县| 建阳市| 余江县| 乐业县| 家居| 富裕县| 西华县| 金坛市| 西丰县| 永川市| 沙洋县| 孝义市| 临城县| 西充县| 龙口市| 吕梁市| 顺义区| 陇南市| 资中县| 基隆市| 开江县| 永清县| 云霄县| 江油市| 清徐县| 清原| 霸州市| 来安县| 海南省| 香格里拉县| 扎兰屯市|