日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]詳細分析8位微處理器IP core PicoBlaze的結(jié)構(gòu)、原理與設(shè)計方案。

   摘要:詳細分析8位微處理器IP core PicoBlaze的結(jié)構(gòu)、原理與設(shè)計方案;介紹PicoBlaze的指令集和調(diào)試工具pblazeIDE,討論PicoBlaze的編程方案和應(yīng)用設(shè)計實例;列舉幾種PicoBlaze的應(yīng)用方案。

    關(guān)鍵詞:PicoBlaze 微處理器 知識產(chǎn)權(quán)內(nèi)核

1 概述

PicoBlaze 8位微處理器是Xilinx公司為Virtex系列FPGA、Spartan-Iitxi系列FPGA和CoolRunner-II系列CPLD器件設(shè)計嵌入式專用IP Core。它解決了常量編碼可編程狀態(tài)機(KCPSM)的問題。這一模塊只占用SpartanIIE的76個小區(qū)(slice),占最小的XC2S50E器件9%的資源,占XC2S300E器件不到2%的資源。在這一模塊中還包括一個用于存儲指令的由Block RAM組成的ROM,最多可存儲256條指令。PicoBlaze只用了如此少的資源,但其速度卻可達到40MIPS以上。

PicoBlaze提供49個不同的指令,16個寄存器(CPLD為8個),256個直接或間接的可設(shè)定地址的端口,1個可屏蔽的、速率為35MIPS的中斷。它的性能超過了傳統(tǒng)獨立元器件組成的微處理器,而且成本低,使得PicoBlaze在數(shù)據(jù)處理和控制算法領(lǐng)域有著廣泛的應(yīng)用前景 。由于可編程部分也完成嵌入,PicoBlaze可與子程序和外圍設(shè)備結(jié)合起來完成特殊的設(shè)計。其基本應(yīng)用框架如圖1所示。

PicoBlaze模塊由VHDL語言設(shè)計,不需要預(yù)編譯,可直接由布局布線工具嵌入到容量大一點的器件中;可以認為PicoBlaze幾乎不占資源,而且一個設(shè)計中可以包括多個PicoBlaze。PicoBlaze適用于復(fù)雜的但對時間要求不太高的系統(tǒng)中,并可以簡華設(shè)計。

圖1 PicoBlaze處理器的IP Core應(yīng)用框架

2 PicoBlaze原理與結(jié)構(gòu)分析

PicoBlaze 8位微處理器內(nèi)部結(jié)構(gòu)如圖2所示。

PicoBlaze處理器IP Core由全局寄存器、計算邏輯單元(ALU)、程序流控制標志和復(fù)位邏輯、輸入/輸出(I/O)、中斷控制器等幾大部分構(gòu)成。

全局寄存器:16個8位全局寄存器,s0~sf。寄存器的操作是非常靈活的;沒有為特殊任務(wù)保留寄存器,任何寄存器的優(yōu)先權(quán)都是一樣的。

算術(shù)邏輯單元(ALU):提供了8位處理器需要的所有簡單操作。執(zhí)行所有的操作都是用任意一個寄存器提供的操作數(shù)完成。若操作需兩個操作數(shù),則有另一寄存器指定或在指令中嵌入一8位常量值。在不增加程序大小的前提下,指不定期任意常量值,增強了簡單的指令特性。更明白地說,ADD1與INCREMENT指令是等價的。若操作超過8位,則有一選項(增加或減少)可供選擇。二進制操作碼(LOAD、AND、OR、XOR)可操作和測試二進制數(shù),還包括SHIFT和ROTATE指令集合。

程序流控制標志:ALU操作后的結(jié)果影響ZERO和CARRY兩個標記。用有條件的或無條件的程序流控制指令決定程序執(zhí)行的順序。JUMP指令指定在程序空間內(nèi)的絕對地址。CALL指令將程序定位到用一段代碼寫的子程序的絕對地址,同時將返回地址壓棧。嵌套CALL指令使用的棧為15層,對于程序大小足夠了。

復(fù)位邏輯:復(fù)位信號強迫程序回到初始狀態(tài),即程序從地址00開始執(zhí)行,中斷被屏蔽,狀態(tài)標記和堆棧也同時復(fù)位,但寄存器中內(nèi)容不受影響。

圖2 PicoBlaze處理器內(nèi)部結(jié)構(gòu)

    輸入/輸出(I/O):PicoBlaze提供256個輸入端口和256個輸出端口。由端口總線提供一個8位地址值與一個READ或WRITE選通脈沖信號,一起指定訪問端口。這個端口地址值或為一確定值或由任意一寄存器中內(nèi)容指定。當訪問一由分布式或塊狀RAM組成的內(nèi)存時,最好用直接尋址。當進行輸入操作時,輸入端口上的值被輸出一個READ_STROBE輸出脈沖時,即表示進行了一次輸入操作。

中斷控制器:PicoBlaze提供一中斷輸入信號。只要用一些簡單的組合邏輯,多個信號就可進行組合并被應(yīng)用于這一中斷。程序中可定義此中斷是否被屏蔽,默認值是中斷被屏蔽。一被激活的中斷信號使程序執(zhí)行“CALL FF”指令(FF即256,程序存儲器的最后一個位置),然后設(shè)計者為此定義的放在此處的一段程序被執(zhí)行。一般在此地址放一JUMP指令,跳轉(zhuǎn)到中斷服務(wù)程序。中斷進程屏蔽其它中斷,RETURNI指令保證在中斷程序結(jié)束后,標記和控制指令回到原先的狀態(tài)。

表1 PicoBlaze處理器指令集

控制程序轉(zhuǎn)移指令 循環(huán)轉(zhuǎn)移指令 邏輯操作指令 輸入/輸出指令
81aa JUMP aa
91aa JUMP Z,aa
95aa JUMP NZ,aa
99aa JUMP C,aa
9Daa JUMP NC,aa
83aa CALL aa
93aa CALL Z,aa
97aa CALL NZ,aa
9Baa CALL C,aa
9Faa CALL NC,aa
8080 RETURN
9080 RETURN Z
9480 RETURN NZ
9880 RETURN C
9C80 RETURN NC
Dx0E SP0sX
Dx0F SR1sX
Dx0A SRXsX
Dx08 SRAsX
Dx0C RR s
Dx06 SL0sX
Dx07 SL1sX
Dx04 SLXsX
Dx00 SLAsX
Dx02 RL sX
0xkk LOAD sX,kk
1xkk AND sX,kk
2xkk OR sX,kk
3xkk XOR sX,kk
Cxy0 LOAD sX,sY
Cxy1 AND sX,sY
Cxy2 OR sX,sY
Cxy3 XOR sX,sY
Axpp INPUT sX,pp
Bxy0 INPUT sX,(sY)
Expp OUTPUT sX,pp
Fxy0 OUTPUT sX,(sY)

算術(shù)運算指令

中斷指令

4xkk ADD sX,kk
5xkk ADDCY sX,kk
6xkk SUB sX,kk
7xkk SUBCY sX,kk
Cxy4 ADD sX,sY
Cxy5 ADDCY sX,sY
Cxy6 SUB sX,sY
Cxy7 SUBCY sX,sY
80F0 RETURNI REABLE
80D0 RETURNI DISABLE
8030 ENABLE INTERRUPT
8010 DISABLE INTERRUPT

3 PicoBlaze的指令集和調(diào)試器

表1列舉了所有代表十六進制的PicoBlaze操作碼的指令,其中:

①“X”和“Y”代表寄存器,“s”,范圍為0~F;

②“kk”代表常量,“aa”代表地址,“pp”代表端口地址,范圍均為00~FF。

pBlazIDE(Integrated Development Environment)是PicoBlaze匯編程序的編輯、調(diào)試、匯編集成環(huán)境。利用它可以方便地仿真所寫程序的輸入輸出、寄存器內(nèi)值的變化及程序指令的順序執(zhí)行過程,便于檢查程序的錯誤。PicoBlaze處理器IP Core應(yīng)用的VHDL源代碼和調(diào)試器pBlazeIDE可以從Xilinx網(wǎng)站上直接下載。

4 PicoBlaze的應(yīng)用系統(tǒng)設(shè)計

應(yīng)用于Spartan-II和Virtex-E器件的PicoBlaze處理器IP Core,外掛一個可存儲256條指令的RAM,共同工作。若是用戶需要更多的程序存儲空間以便執(zhí)行更加復(fù)雜的操作,有以下幾種解決方案。

    *Xilinx針對Virtex-E器件特別設(shè)計了KCPSM2模塊,提供1024個地址,且操作32個寄存器。

*若用戶的程序超過了256條指令,則可以考慮將設(shè)計分解為幾個過程,每一個過程由一個單獨的PicoBlaze模塊(每個擁有自己的RAM)完成。在一些設(shè)計中,以一個PicoBlaze為主(Master),其它一個或多個PicoBlaze為輔(Slave)。雙端口分布式存儲器是在處理器間交換數(shù)據(jù)的一個很好的選擇。

*可選擇將超過256個指令的程序分解到兩個或多個塊狀RAM中,用一個選擇開關(guān)來選擇存儲了要執(zhí)行的指令的RAM。最簡單的是使用一個被一觸發(fā)器輸出控制的二選一選擇器來選擇RAM,如圖3所示。

這種方法的缺點是:二路選擇器占用8個slice,且加大了程序執(zhí)行的延時,降低了程序最大執(zhí)行速率。一個更好的方法是將二路選擇器放到RAM中,一條指令被分別存放在兩個512×8的RAM中,用switch信號和8位地址信號組成9位信號,選擇要執(zhí)行的指令。圖4列舉了一個利用PicoBlaze實現(xiàn)控制四個七段數(shù)據(jù)管顯示的例子,左邊兩個從0變到99,右邊情形相同,變化的間隔均為1s。但同時刻只有一個計數(shù)器增加,而選擇哪一個計數(shù)器增加則由DIP switch輸入控制。

圖4 PicoBlaze處理器的IP Core應(yīng)用設(shè)計實例

結(jié)語

PicoBlaze是一個典型的8位微處理器。與傳統(tǒng)的8位MCU相比,它是一個由VHDL實現(xiàn)的軟處理器IP Core,可以在各種FPGA和CoolRunnerII CPLD上實現(xiàn),設(shè)計靈活方便;因此,PicoBlaze將在基于可編程邏輯和MCU的應(yīng)用領(lǐng)域中發(fā)揮積極的作用。其較高的處理性能和較少的資源占用,預(yù)示其具有更加廣泛的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月10日消息,在最近的高盛Communacopia +科技大會上,Intel副總裁John Pitzer透露了Intel在x86和IFS計劃方面的一些新細節(jié)。

關(guān)鍵字: Intel 處理器

在當今的高性能計算領(lǐng)域,確保處理器、存儲和加速器之間快速可靠的通信對系統(tǒng)性能和可擴展性至關(guān)重要。因此,就誕生了Compute Express Link?(CXL?)標準:其目標是實現(xiàn)一致的內(nèi)存訪問、低延遲的數(shù)據(jù)傳輸,以及...

關(guān)鍵字: 芯片設(shè)計 處理器 加速器

9月9日消息,Intel宣布了一系列重大人事調(diào)整,涉及數(shù)據(jù)中心事業(yè)部(DCG)、客戶端計算事業(yè)部(CCG)以及新成立的中央工程事業(yè)部(CEG)。

關(guān)鍵字: Intel 處理器

在半導(dǎo)體行業(yè)的風云變幻中,英特爾公司近來可謂麻煩不斷。

關(guān)鍵字: 英特爾 半導(dǎo)體 處理器

9月2日消息,Intel近日坦承,自家高端桌面CPU競爭力不如AMD的銳龍9000系列,但強調(diào)Panther Lake系列將按計劃在今年內(nèi)上市,同時下一代Nova Lake將全力反擊。

關(guān)鍵字: Intel 處理器

8月26日消息,據(jù)報道,美國政府不僅通過股權(quán)投資Intel,還積極協(xié)助其在美國本土生產(chǎn)先進芯片,包括主動聯(lián)系潛在主要客戶,以提振其晶圓代工業(yè)務(wù)。

關(guān)鍵字: Intel 處理器

開創(chuàng)中國文旅產(chǎn)業(yè)AI深度應(yīng)用新樣本 北京2025年8月22日 /美通社/ -- 以下為來自億歐的報道: 8月22日,桂林旅游股份有限公司旗下銀子巖景區(qū)聯(lián)合合作伙伴正式發(fā)布全球首款A(yù)I伴游財神玩具 —— "五...

關(guān)鍵字: AI IP 數(shù)字化 硬件

8月21日消息,據(jù)報道,Intel正在開發(fā)的新一代AI芯片Jaguar Shores近日首次得到曝光。

關(guān)鍵字: Intel 處理器

8月21日消息,據(jù)報道,Intel近期因資金困境等問題,導(dǎo)致多個關(guān)鍵項目被取消,大量核心人才流失。

關(guān)鍵字: Intel 處理器
關(guān)閉