中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

WordPress完整安裝包谷歌優(yōu)化師

WordPress完整安裝包,谷歌優(yōu)化師,東莞黃頁,互聯(lián)網(wǎng)營銷有哪些項(xiàng)目代碼下載 還是請大家首先準(zhǔn)備好本項(xiàng)目所用的源代碼。如果已經(jīng)下載了,那就不用重復(fù)下載了。如果還沒有下載,那么,請大家點(diǎn)擊下方鏈接,來了解下載本項(xiàng)目的CPU源代碼的方法。 下載本項(xiàng)目代碼 準(zhǔn)備好了項(xiàng)目源代碼以后&#xff…

項(xiàng)目代碼下載

還是請大家首先準(zhǔn)備好本項(xiàng)目所用的源代碼。如果已經(jīng)下載了,那就不用重復(fù)下載了。如果還沒有下載,那么,請大家點(diǎn)擊下方鏈接,來了解下載本項(xiàng)目的CPU源代碼的方法。

下載本項(xiàng)目代碼

準(zhǔn)備好了項(xiàng)目源代碼以后,我們接著去講解。

本節(jié)前言

有一段時間沒寫本專欄的教程了。在之前的章節(jié)里,我是講解了系統(tǒng)初始化模塊和取指令模塊。取完了指令以后,我們來講解譯碼模塊。

一.? ?代碼展示

首先呢,讓我們來看一看譯碼模塊的全部代碼。

module decode_unit
(input wire sys_clk,input wire sys_rst_n,input wire decode_en,input wire [15:0] instruct_word,output reg decode_done,output reg [4:0] op_code,output reg [2:0] reserve_bit,output reg [7:0] op_rand
);always @(posedge sys_clk or negedge sys_rst_n)if (sys_rst_n == 1'b0)begindecode_done <= 1'b0;op_code <= 5'h0;reserve_bit <= 3'h0;op_rand <= 8'h0;endelse if (decode_en == 1'b1)begindecode_done <= 1'b1;op_code <= instruct_word[15:11];reserve_bit <= 3'h0;op_rand <= instruct_word[7:0];endelsebegindecode_done <= 1'b0;op_code <= op_code;reserve_bit <= reserve_bit;op_rand <= op_rand;endendmodule

不知道,是否因?yàn)?#xff0c;我學(xué)習(xí)電子學(xué)的Verilog HDL與數(shù)字電路的時間太短。我寫完了譯碼模塊以后,我自己都沒想到,沒想到譯碼單元竟然是這么少。譯碼模塊,就是傳說中的譯碼器。

在我這里,譯碼器模塊,只有37行。

上面的代碼塊中的代碼,位于【\cpu_me01\code】路徑里面,代碼文件的名字為【decode_unit.v】。

二.? ?輸入信號

我們來看一看代碼中的輸入信號。

圖1

圖1中的3到6行,便是輸入信號了。第3行與第4行,這倆是系統(tǒng)時鐘與系統(tǒng)復(fù)位信號。其中,系統(tǒng)復(fù)位信號為低電平有效。值得關(guān)注的是第5行和第6行的譯碼使能信號【decode_en】與指令字信號【instruct_word】。

首先,我來說一說【字】的概念。在英特爾匯編里面,字可以指一種數(shù)據(jù)類型,它是16比特長度的整數(shù),也就是相當(dāng)于C語言中的【unsigned short】。而在學(xué)習(xí)一些個計算機(jī)技術(shù)領(lǐng)域的英文文檔時,字往往是指連續(xù)多個比特組成的數(shù)據(jù)結(jié)構(gòu),它可能是一個字節(jié)的長度,也有可能是多個字節(jié)的長度。

在計算機(jī)技術(shù)里面,談到字,首先它是有著一定的長度的,由連續(xù)的比特構(gòu)成。第二,比特組合里面,它有著一定的格式。不同的位,或者不同的位的組合,會代表著不同的含義。

本節(jié)所述的指令字【instruct_word】,它是16位的長度,和匯編語言中的字型數(shù)據(jù)的長度相同。在這個16位的長度的比特組合里面,它包含有3個組成部分,分別是操作碼,操作數(shù)和保留位。至于說,是怎么包含的,我們以后再講。

譯碼使能信號【decode_en】和指令字信號【instruct_word】均來自于取指令模塊的輸出信號。我們來看一看它們的生成于連接情況。

圖2,取指令模塊

本模塊中的譯碼信號【decode_en】和指令字信號【instruct_word】分別對應(yīng)著取指令模塊中的譯碼使能信號【decode_en】和指令碼【instruct_code】信號。

從圖2可以看出,當(dāng)取指令模塊檢測到【rd_en_d1】為1的時候,取指令模塊中的【decode_en】變?yōu)楦唠娖?#xff0c;同時【instruct_code】信號被賦值為有效的值。還可以看到,取指令模塊中的【decode_en】信號和【instruct_code】信號同時變?yōu)橛行?#xff0c;并且譯碼使能信號【decode_en】僅僅維持一個時鐘周期。

圖2顯示了取指令模塊的【decode_en】和【instruct_code】信號的生成情況。接下來,我們?nèi)ケ卷?xiàng)目的頂層模塊【cpu_top】中查看一下連接情況。

圖3,本項(xiàng)目頂層設(shè)計模塊【cpu_top】

在圖3里面,我們可以看到,我在頂層模塊里面申請的幾個用于連接不同模塊的變量。其中呢,紅色框線所示的第13行和第14行,顯示了我所聲明的譯碼使能【decode_en】信號和指令字信號【instruct_word】。

我們接著看。

圖4,本項(xiàng)目頂層設(shè)計模塊【cpu_top】

圖4中,我們可以看到,取指令模塊的【decode_en】和【instruct_code】信號,分別連接到頂層模塊的【decode_en】和【instruct_word】變量。

我們接著看。

圖5,本項(xiàng)目頂層設(shè)計模塊【cpu_top】

如圖5的紅色框線所示,頂層模塊中的【decode_en】與【instruct_word】分別連接到本模塊的同名信號。

這樣一來,我們就清楚了本模塊的輸入信號【decode_en】與【instruct_word】的來源了。

三.? ? 輸出信號

講完了輸入信號以后,我們再來講解輸出信號。

圖1,副本

在圖1副本中,我們?nèi)タ?到11行的代碼。這里呢,包括兩部分,第一部分呢,是譯碼完成信號【decode_done】,第二部分,是對輸入的指令字的分解出來的各部分信號,分別是操作碼【op_code】,操作數(shù)【op_rand】,還有保留位。

我們還是來看一下代碼。

圖6,本模塊的輸出信號的邏輯代碼

在圖6中,主要是輸出信號的邏輯。我們首先來看譯碼完成信號【decode_done】。它的邏輯,根據(jù)圖6的代碼,我們可以看到,當(dāng)系統(tǒng)復(fù)位信號為低電平有效時,它是0值。當(dāng)系統(tǒng)監(jiān)測到輸入信號譯碼使能【decode_en】為1時,譯碼使能信號【decode_done】被非阻塞賦值為1。然后呢,在else分支里面,【decode_done】又變?yōu)榱?值。輸入信號中的譯碼使能信號【decode_en】僅僅是維持一個時鐘周期的高電平,所以呢,本模塊中的【decode_done】信號也是僅僅維持著一個時鐘的高電平。

也就是說,本模塊的輸出信號,譯碼完成信號【decode_done】,也是僅僅維持一個時鐘周期的高電平。僅當(dāng)檢測到輸入信號,譯碼使能信號【decode_en】為1時,譯碼完成信號【decode_done】才變?yōu)?,且僅僅維持一個時鐘周期的高電平,隨即又變?yōu)?值。

說完了這個譯碼完成信號以后,我們再來說其余的三個輸出信號。

在輸入信號里面,指令字信號【instruct_word】是一個16比特的信號。對于這個信號,本模塊,也就是譯碼模塊,需要將其分為三個部分。第一部分,是它的位15到位11,這一部分,我們要將其提取出來,并賦給輸出信號,操作碼【op_code】。第二部分,是位10到位8,我們忽略這三位的信號值,并固定地,將【3'h0】賦給輸出信號,保留位【reserve_bit】。第三部分,是位7到位0,我們要將其提取出來,并賦給輸出信號,操作數(shù)【op_rand】。

我們來看一看圖6中,關(guān)于【op_code】,【reserve_bit】與【op_rand】的情形,基本上與我的講述是一致的。。

操作碼【op_code】,保留位【reserve_bit】和操作數(shù)【op_rand】,在系統(tǒng)復(fù)位信號為有效的低電平時,均為0值。而在檢測到高電平有效的譯碼使能信號【decode_en】以后,將輸入的指令字信號【instruct_word】的位選 [15:11] 賦給了【op_code】,將保留位?【reserve_bit】設(shè)置為固定的【3'h0】,將【instruct_word】的位選 [7:0] 賦給了【op_rand】。當(dāng)僅僅維持一個有效的高電平信號,譯碼使能信號變?yōu)榈碗娖綍r,操作碼【op_code】,保留位【reserve_bit】和操作數(shù)【op_rand】維持不變。

?四.? ? 本模塊總體邏輯

本模塊的總體邏輯其實(shí)很簡單。就是將輸入信號【instruct_word】的位選 [15:11] 與位選 [7:0] 提取出來,并分別賦給操作碼信號【op_code】和操作數(shù)信號【op_rand】。而對于保留位,則固定地將其設(shè)置為【3'h0】。

本模塊的邏輯還是很簡單的。

結(jié)束語

到了這里,本節(jié)也就該結(jié)束了。然后呢,按照以往的經(jīng)驗(yàn),我們又該去編寫驗(yàn)證代碼了。這一塊,我覺得,其實(shí)寫不寫驗(yàn)證都是那么回事。因?yàn)楸灸K的邏輯真的很簡單。

對于本模塊,我就不去寫test bench代碼了。

驗(yàn)證代碼雖然不寫了,我們還是會有其他的任務(wù)。

到了這里,由于取指令和譯碼模塊,我都講完了,我也講過了本項(xiàng)目的機(jī)器碼格式,那么,接下來,我打算來講一講,我在本系統(tǒng)里面,往指令ram中寫入了哪些指令。

下一節(jié)開始,我們要來看一看,本系統(tǒng)所要執(zhí)行的幾條機(jī)器指令。當(dāng)然了,在后面,我也會講到,如何來將你想要去執(zhí)行的指令,寫入指令ram中。

本節(jié)結(jié)束。

http://m.risenshineclean.com/news/59530.html

相關(guān)文章:

  • 六安火車站網(wǎng)站網(wǎng)絡(luò)推廣seo是什么
  • 大良營銷網(wǎng)站建設(shè)信息整站seo排名要多少錢
  • 網(wǎng)站開發(fā)需求清單成都關(guān)鍵詞seo推廣平臺
  • 大連專業(yè)模板網(wǎng)站制作外貿(mào)網(wǎng)站推廣怎么做
  • 做租房網(wǎng)站搜索引擎優(yōu)化的目的是對用戶友好
  • 網(wǎng)站利潤優(yōu)化關(guān)鍵詞排名seo軟件
  • 網(wǎng)站qq客服顯示不在線中國知名網(wǎng)站排行榜
  • b2b網(wǎng)站做網(wǎng)絡(luò)推廣有用嗎seo1短視頻網(wǎng)頁入口營銷
  • unity3d做網(wǎng)站網(wǎng)絡(luò)營銷的營銷方式是什么
  • 訪問國外網(wǎng)站 速度慢最近的新聞大事20條
  • 重慶網(wǎng)站推廣公司百度如何發(fā)布作品
  • 微信版網(wǎng)站開發(fā)seo是什么級別
  • 獨(dú)立站代運(yùn)營公司站長統(tǒng)計ios
  • 建設(shè)部網(wǎng)站如何登錄監(jiān)理工程師最新熱搜新聞事件
  • 做淘寶主要看哪些網(wǎng)站網(wǎng)絡(luò)營銷名詞解釋
  • 做網(wǎng)站顯示上次登錄時間代碼手機(jī)百度搜索app
  • wordpress關(guān)閉搜索功能搜索引擎優(yōu)化人員優(yōu)化
  • 怎樣注冊.com網(wǎng)站app用戶量排名
  • 網(wǎng)站開發(fā)軟件培訓(xùn)seo網(wǎng)絡(luò)培訓(xùn)班
  • b2b網(wǎng)站怎么發(fā)布信息微營銷
  • 東方網(wǎng)站建設(shè)百度打開百度搜索
  • 網(wǎng)站建設(shè)技術(shù)服務(wù)公司白度指數(shù)
  • wordpress還原站點(diǎn)設(shè)計網(wǎng)站用什么軟件
  • 深圳做手機(jī)網(wǎng)站建設(shè)seo優(yōu)化包括什么
  • 什么店是做網(wǎng)站制作的今天最火的新聞頭條
  • 紹興免費(fèi)做網(wǎng)站專業(yè)搜索引擎seo服務(wù)
  • 廣告體驗(yàn)程序網(wǎng)站開發(fā)快速排名方案
  • 建設(shè)網(wǎng)站各方面費(fèi)用預(yù)算網(wǎng)絡(luò)宣傳
  • 購物網(wǎng)站建設(shè)比較好的知乎關(guān)鍵詞排名優(yōu)化工具
  • 網(wǎng)站后臺怎么修改前臺的某個超鏈接網(wǎng)址常州seo招聘