在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SoPC的通用在線調(diào)試器設(shè)計(jì)

            基于SoPC的通用在線調(diào)試器設(shè)計(jì)

            作者: 時(shí)間:2010-05-28 來源:網(wǎng)絡(luò) 收藏


            參數(shù)指令傳遞模塊用于合并總線讀寫模塊接收的參數(shù)和指令。當(dāng)寫有效且主控模塊沒有工作時(shí),將從Avalon總線接收的前128位數(shù)據(jù)拼接起來存放在參數(shù)寄存器中,后32位數(shù)據(jù)由指令寄存器接收;當(dāng)寫無效時(shí)停止輸入,并且啟動(dòng)狀態(tài)機(jī)模塊。參數(shù)寄存器和指令寄存器均在在本模塊中定義。

            狀態(tài)機(jī)模塊負(fù)責(zé)仿真JTAG狀態(tài)機(jī)中的16個(gè)狀態(tài),憑借主控模塊中TMS序列驅(qū)動(dòng)實(shí)現(xiàn)狀態(tài)間的轉(zhuǎn)移,同時(shí)向JTAG的TMS端口送出TMS序列,以控制目標(biāo)機(jī)中JTAG狀態(tài)機(jī)的運(yùn)行。在SHIFT_IR和SHIFT_DR狀態(tài)下,相應(yīng)的目標(biāo)機(jī)指令(如ARM指令)和數(shù)據(jù)通過JTAG的TDI端口送入目標(biāo)機(jī)。

            目標(biāo)機(jī)TDO序列接收模塊負(fù)責(zé)接收目標(biāo)機(jī)傳來的數(shù)據(jù),并將其存放在相應(yīng)的寄存器中。

            主控模塊在JTAG狀態(tài)機(jī)運(yùn)行之前,根據(jù)參數(shù)指令傳遞模塊中指令寄存器的值更新狀態(tài)機(jī)的TMS和TDI序列數(shù)據(jù);然后初始化TMS寄存器、TDI寄存器、標(biāo)志寄存器,通過標(biāo)志寄存器的值判斷JTAG狀態(tài)機(jī)的運(yùn)行;在其運(yùn)行結(jié)束后,在狀態(tài)機(jī)結(jié)束處理子模塊中把目標(biāo)機(jī)傳來的數(shù)據(jù)送到輸出寄存器,并設(shè)置讀有效以啟動(dòng)總線讀寫模塊。

            1.2 JTAG IP core接口程序

            仿真子系統(tǒng)中,JTAG IP core接口為JTAG IPcore子系統(tǒng)與NiosII CPU硬件環(huán)境之間提供數(shù)據(jù)交互服務(wù)。接口程序分成宏定義、寫數(shù)據(jù)、讀數(shù)據(jù)3個(gè)部分。

            宏定義部分,JTAG IP core中的操作指令包括:進(jìn)入調(diào)試狀態(tài)、獲取CPU IDCODE、讀/寫寄存器、讀/寫內(nèi)存、設(shè)置斷點(diǎn)、設(shè)置觀察點(diǎn)、跳出調(diào)試狀態(tài)等。

            寫數(shù)據(jù)部分,目標(biāo)機(jī)的內(nèi)存地址和寄存器號(hào)作為參數(shù)數(shù)據(jù)傳遞到JTAG IP core子系統(tǒng)中,調(diào)試指令(即宏定義中的指令)與參數(shù)一起被寫入JTAG IP core子系統(tǒng)中。部分程序代碼如下:



            其中,pi表示參數(shù)數(shù)據(jù)(i=0,…,3),ir表示指令。IOWR_32DIRECT(JTAGTEST_0_BASE,ADDR(i),pi)表示將pi或ir的值寫入JTAG IP core。

            讀數(shù)據(jù)部分的功能是從JTAG IP core子系統(tǒng)中讀取目標(biāo)機(jī)傳回的數(shù)據(jù)。當(dāng)仿真子系統(tǒng)的Nios II CPU準(zhǔn)備從JTAG IP core子系統(tǒng)中讀取數(shù)據(jù)時(shí),JTAG IP core子系統(tǒng)中的寄存器數(shù)據(jù)不一定是有效數(shù)據(jù),因而需設(shè)置一個(gè)寄存器(命名為read_ready)來循環(huán)檢測數(shù)據(jù)是否有效。如果寄存器的值不為0,則允許讀取數(shù)據(jù)。



            2 JTAG IP core子系統(tǒng)仿真驗(yàn)證

            JTAG IP core子系統(tǒng)完成后,為了驗(yàn)證邏輯的正確性,在QuartusII環(huán)境下對(duì)該IP core模塊進(jìn)行了仿真驗(yàn)證。在仿真中,將NiosII CPU給出的觸發(fā)信號(hào)cLK修改為2分頻,以便能較直觀地看清觸發(fā)子系統(tǒng)允許的TCK信號(hào)的產(chǎn)生。當(dāng)JTAG IP core接口程序被啟動(dòng)時(shí),總線讀寫模塊開始從Avalon總線上讀取參數(shù)和指令(如圖4所示,writedata、address、instOreg_in[0,1,4]及ir寄存器中出現(xiàn)數(shù)據(jù))。當(dāng)參數(shù)指令傳遞模塊中的palm和ir寄存器中出現(xiàn)數(shù)據(jù)后,主控模塊開始工作;同時(shí),主控模塊的busy_flag信號(hào)觸發(fā)狀態(tài)機(jī)模塊工作。從圖中可看到,TMS序列出現(xiàn)數(shù)據(jù),TDI端口開始送出數(shù)據(jù)。JTAG IP core模塊能按照預(yù)定輸出TMS和TDI調(diào)試序列,說明該IPcore在邏輯上是正確的。

            結(jié) 語

            本文提出了以知識(shí)產(chǎn)權(quán)核(即IP core)復(fù)用技術(shù)為主的思路以及實(shí)現(xiàn)方法。下一步,可以ARM、MIPS系列芯片,結(jié)合本文的解決方案實(shí)現(xiàn)具體的IP core,同時(shí)增加多線程調(diào)試等優(yōu)化工作。

            上一頁 1 2 下一頁

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉