<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è) > 嵌入式系統 > 設計應用 > Spoc CPU軟核 Part 4-軟件(即程序員)模型

Spoc CPU軟核 Part 4-軟件(即程序員)模型

作者: 時(shí)間:2024-01-22 來(lái)源: 收藏

...或如何將外圍設備連接到 。

本文引用地址:http://dyxdggzs.com/article/202401/455001.htm
內存模型

0 數據存儲器空間深度為 64Kbits。

  • 從 0x0000 到 0x0FFF 的地址保留供內部使用。

  • 從 0x1000 到 0xFFFF 的地址可供外部外設免費使用。讓我們看看如何使用它!

寫(xiě)入外圍設備

寫(xiě)入事務(wù)的寬度可以是 1、8、16 或 32 位。

例如:

do #0x1000 -> WA0
do.byte #0x55 -> @         // write the 8-bits value 0x55 to the peripheral residing at address 0x1000

Spoc0 有 3 個(gè)輸出端口,用于寫(xiě)入外設。

地址端口寬 16 位(覆蓋 64K 空間),但數據端口只有一個(gè) 1 位寬(8、16 或 32 位寬的寫(xiě)入事務(wù)需要匹配的時(shí)鐘周期數)。

寫(xiě)入 1 位外設

假設您的 中需要一個(gè)標志,并且該標志需要可由 Spoc 寫(xiě)入。
在這里,我們使用地址0x3000作為標志的位置。

reg mySpocFlag;
always @(posedge clk)
begin
	if(WriteEnable & WriteAddress==0x3000) mySpocFlag <= WriteData;
	end

將“1”寫(xiě)入標志的簡(jiǎn)單例程是:

do #0x3000 -> WA0
do.bit #1 -> @         // write 1 to the flag

閱讀與寫(xiě)作類(lèi)似,但有一個(gè)很大的區別。 讀取需要從提供地址到 Spoc 讀取數據的 2 個(gè)時(shí)鐘延遲。 這允許“流水線(xiàn)化”讀取數據路徑。 這樣做是因為否則,較長(cháng)的數據路徑(非流水線(xiàn))會(huì )降低 Spoc 設計的注冊性能(時(shí)鐘速度)。

例如,讓我們在地址 8x0 處映射 55 位值0x1000,在地址 0x0 處映射 2000xAA。 這些值在這里是固定的,但也可以是中的任何寄存器或引腳(即Spoc可以讀取一些引腳)。
讀取這些值的簡(jiǎn)單例程是:

wire [7:0] MyValue1 = 8'h55;
wire [7:0] MyValue2 = 8'hAA;

// we need 2 registers to create 2 levels of clock latency
reg spoc_ReadData, spoc_ReadData_reg;
always @(posedge clk)   //  one level of clock latency
case(spoc_ReadAddress[15:12])    // coarse address decoding
    4'h1: spoc_ReadData_reg <= MyValue1[spoc_ReadAddress[2:0]];
    4'h2: spoc_ReadData_reg <= MyValue2[spoc_ReadAddress[2:0]];
    default: spoc_ReadData_reg <= 1'b0;endcase// second level of clock latency
    always @(posedge clk) spoc_ReadData <= spoc_ReadData_reg;
do #0x1000 -> RA0do.byte @ -> A        // read 0x55 into accumulator
do #0x2000 -> RA0
do.byte @ -> A        // read 0xAA into accumulator

上一篇:Spoc CPU軟核 Part 3-軟件(即程序員)模型

下一篇:Spoc CPU軟核(總)



關(guān)鍵詞: FPGA Spoc

評論


相關(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>