<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 光電顯示 > 設計應用 > 基于太陽(yáng)能LED照明控制系統的處理器設計

基于太陽(yáng)能LED照明控制系統的處理器設計

作者: 時(shí)間:2010-11-15 來(lái)源:網(wǎng)絡(luò ) 收藏

  當ADD 指令進(jìn)入LO 級進(jìn)行取數操作時(shí), 其之前的兩條MOVD 指令分別在EX 級與WB 級運行著(zhù), 此時(shí)從寄存器組中取數是不正確的。所以要把ADD 指令推后, 等到MOVD 指令退出流水線(xiàn)后, 方可進(jìn)行取數。如果是第二條MOVD 指令推出流水線(xiàn)時(shí)ADD 進(jìn)入LO 級的話(huà), 中間需要間隔3 個(gè)流水線(xiàn)周期。但實(shí)際上只需間隔兩個(gè)流水線(xiàn)周期就夠了。這是由本處理器ALU 操作體系決定的。ALU 的第一操作數是從寄存器中直接取出, 無(wú)需通過(guò)LO 級。等價(jià)于第一操作數比第二操作數要快一個(gè)流水線(xiàn)周期。所以, 這里設計讓第一條MOVD指令存儲第二操作數, 當此指令完成后,ADD 進(jìn)入LO 級將第二操作數取出。經(jīng)過(guò)一個(gè)流水線(xiàn)周期A(yíng)DD 指令進(jìn)入EX 級時(shí), 第二條MOVD 也把第一操作數存儲到了寄存器。

  之后再經(jīng)過(guò)兩個(gè)周期, 運算結果存入寄存器組。

  整個(gè)過(guò)程如圖4 所示。

  從第一條指令輸入到結果寫(xiě)入寄存器組共用了10 個(gè)流水線(xiàn)周期( 20 個(gè)時(shí)鐘周期) ??紤]到指令串的流水化運行, 在大段程序中費時(shí)是指令輸入的5 個(gè)流水線(xiàn)按周期。實(shí)際上, 在這5 個(gè)流水線(xiàn)周期中的2 個(gè)間隔周期并不必須為空, 只要與本條指令沒(méi)有數據相關(guān)就可以, 例如進(jìn)行兩個(gè)存儲器操作。這樣最好情況下一個(gè)加法操作只需3 個(gè)流水線(xiàn)周期。

  5. 1. 2 分支跳轉指令流

  分支跳轉指令是高級語(yǔ)言中經(jīng)常用到的關(guān)鍵語(yǔ)句?,F在用跳轉指令( JUMPI) 來(lái)構建條件跳轉操作。分支跳轉語(yǔ)句首先是要判斷條件是否成立, 如果條件成立則順序執行, 如果不成立則跳到下一程序塊執行。編譯成處理器的操作碼后變?yōu)? 送條件; 進(jìn)行比較,置標志位; 根據標志位跳轉。在這種情況下, 實(shí)現一個(gè)無(wú)內容條件結構需要7 條語(yǔ)句( 7 個(gè)流水線(xiàn)周期) 。其中兩個(gè)周期可以插入無(wú)關(guān)操作, 還有兩個(gè)周期可以提前執行JUMPI 后續指令。所以最好情況下需要三個(gè)流水線(xiàn)周期完成。

  5. 1. 3 循環(huán)語(yǔ)句

  循環(huán)語(yǔ)句在高級語(yǔ)言中也是常用語(yǔ)句之一。它的實(shí)現與分支跳轉類(lèi)似, 同樣是跳轉指令的應用。

  循環(huán)語(yǔ)句中要定義一個(gè)條件變量, 通過(guò)循環(huán)體的運行改變條件變量的值, 完成后進(jìn)行判斷, 符合條件跳出循環(huán)體, 否則重新開(kāi)始循環(huán)體。

  此種循環(huán)情況下, 循環(huán)結構共需7 條指令, 如條件允許優(yōu)化NOP 指令, 最好情況下只需3 個(gè)流水線(xiàn)周期。在時(shí)序驗證完成后, 筆者結合XILINX 公司的Virtex2 FPGA, 利用Synplify 7. 5 對設計進(jìn)行了綜合,綜合報表顯示時(shí)鐘頻率最高可到153 MHz。

  5. 2 FPGA 實(shí)現

  將設計下載至FPGA 后, 筆者采用名為Chipscope Pr o Analyzer 的波形觀(guān)察工具。Chipscope Pro 是采用JTAG 方式觀(guān)察FPGA 內部的信號, 再反映到終端上,與板級驗證方法原理一致, 而節省了板級布線(xiàn)時(shí)間。

  將Chipscope Pro 設置為arm( 伺機捕獲) 狀態(tài), 當觸發(fā)條件滿(mǎn)足時(shí)捕獲數據, 并且在緩沖區填滿(mǎn)后停止捕獲, 并將數據上傳, 由波形窗口顯示出來(lái)。

  觸發(fā)條件( 復位后) 滿(mǎn)足時(shí)捕獲到的波形圖如圖5所示。所觀(guān)察的數據共有16 位, 其中port[ 0]2por t[ 7] 為存儲器地址輸出, port[ 8]2port[ 15] 為存儲器數據輸出。程序數我們前面所介紹過(guò)的加法操作, 并且在得到結果后利用STORE 指令輸出到總線(xiàn)上。程序為:

  MOVD R2 1B

  MOVD R1 10B

  NOP

  NOP

  ADD R3 R2

  NOP

  NOP

  ST ORE 11110000B R3

  程序的操作是1 加2, 結果為3, 將其送到11110000B 地址, 其后仿真波形如圖6 所示。

  與FPGA 中結果完全相同。設計正確。

  6 結 語(yǔ)

  本文針對太陽(yáng)能 控制系統設計了一款低功耗面積小的精簡(jiǎn)指令集處理器, 指令集共包含12 條指令。處理器綜合頻率達150 MHz, 實(shí)際在板最高工作頻率為100 MHz。系統外設包括計時(shí)器和脈寬調制模塊。能夠實(shí)現系統所需功能, 完成控制器功能。待下一步進(jìn)行系統統調后進(jìn)行芯片后端設計。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: LED 照明

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>