国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

關(guān)于HDLBITS最后一題(Cs450/gshare)

2023-03-26 14:17 作者:綠酒初嘗人易醉  | 我要投稿

該題鏈接:https://hdlbits.01xz.net/wiki/Cs450/gshare

這題主要是看不懂題目,沒法理解題目意思,而且對cpu的gshare預(yù)測分支不了解,所以做不出來。

PHT示意圖

當(dāng)train_valid=1時,PHT的位置由train_pc與train_history異或得到,而PHT的值則是由狀態(tài)機或者說由train_taken來決定。狀態(tài)機是之前題目中的飽和計數(shù)器,當(dāng)狀態(tài)是11或10時,會決定predict_taken為1. predict_taken的值有PHT的狀態(tài)決定。

其中寄存器代碼編寫與上題差不多。

module top_module(

??? input clk,

??? input areset,

?

??? input? predict_valid,

??? input? [6:0] predict_pc,

??? output predict_taken,

??? output [6:0] predict_history,

?

??? input train_valid,

??? input train_taken,

??? input train_mispredicted,

??? input [6:0] train_history,

??? input [6:0] train_pc

);

??? reg pht1[127:0],pht0[127:0];//定義128個1位寄存器pht1

??? wire [6:0]ad,ad2;

???

??? assign predict_taken=pht1[ad2];

??? assign ad=train_history^train_pc;

??? assign ad2=predict_history^predict_pc;

??? always@(posedge clk or posedge areset)begin

??????? if(areset)

??????????? for(int i=0;i<128;i++)begin

??????????????? pht1[i]=0;pht0[i]=1;end

??????? else if(train_valid&train_taken)begin

??????????? if({pht1[ad],pht0[ad]}==2'b11)

??????????????? {pht1[ad],pht0[ad]}<=2'b11;

??????????? else

??????????????? {pht1[ad],pht0[ad]}<={pht1[ad],pht0[ad]}+1;

??????? end

??????? else if(train_valid&~train_taken)begin

??????????? if({pht1[ad],pht0[ad]}==2'b00)

??????????????? {pht1[ad],pht0[ad]}<=2'b00;

??????????? else

??????????????? {pht1[ad],pht0[ad]}<={pht1[ad],pht0[ad]}-1;

??????? end//之前的飽和計數(shù)器

??? end

???

??? always@(posedge clk or posedge areset)begin

??????? if(areset)

??????????? predict_history<=0;

??????? else if(train_mispredicted & train_valid)

??????????? predict_history <= {train_history[5:0],train_taken};

??????? else if(predict_valid )

??????????? predict_history <= {predict_history[5:0],predict_taken};?

??? end

?

endmodule


關(guān)于HDLBITS最后一題(Cs450/gshare)的評論 (共 條)

分享到微博請遵守國家法律
尖扎县| 海口市| 东平县| 历史| 抚远县| 东源县| 紫金县| 永修县| 涞水县| 南开区| 德江县| 疏勒县| 海口市| 紫云| 镇原县| 鄂托克旗| 泌阳县| 日喀则市| 驻马店市| 汾西县| 井冈山市| 宁乡县| 乡宁县| 克东县| 石城县| 云阳县| 黔东| 蓬莱市| 贞丰县| 海兴县| 宜丰县| 威海市| 孙吴县| 宾阳县| 怀安县| 湘阴县| 宿州市| 庆城县| 仪征市| 徐汇区| 东平县|