版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ASIC復(fù)習(xí)講解(參考答案)4-14.設(shè)計(jì)并驗(yàn)證一個(gè)能統(tǒng)計(jì)8位輸入字中1的個(gè)數(shù),并用4位輸出指示的Verilog模塊。問(wèn)題:如何檢測(cè)輸入8位字中有多少個(gè)1.方法1:逐位統(tǒng)計(jì)有多少個(gè)1;方法2:?4位輸入指示1的個(gè)數(shù)always
@
(posedgeCLK)if(!Reset_n)begincount<=
0;IsCount<=
0;temp<=
0;end
else
if(DataOK)begintemp<=
data;IsCount
<=
1'b1;count<=
0;
end
else
if(IsCount)begin
if(temp>0)begintemp<=temp&
(temp-1);count<=count+
1'b1;
end
else
begin
IsCount
<=
1'b0;count<=count;
end
end
endmodule
`timescale
1ns
/
1psmoduleCount1(
);wireCLK,Reset_n,DataOK;wire
[7:0]data;DataProduceutt(.CLK(CLK),.Reset_n(Reset_n),.DataOK(DataOK),.data(data));reg
[7:0]temp;
//getthedatareg
[3:0]count;
//countoutputregIsCount;//counthowmany1else
if(dataCount==7)begin
data<=
$random;
DataOK
<=
1'b1;
end
else
begin
data<=data;
DataOK
<=
1'b0;
end
always
@(posedgeCLK)if(!Reset_n)begin
dataCount
<=
0;end
else
dataCount
<=
dataCount
+
1'b1;endmodule產(chǎn)生數(shù)據(jù)模塊moduleDataProduce(output
regCLK,output
regReset_n,output
reg
[7:0]data,output
regDataOK);initial
beginCLK<=
0;
forever
#20CLK<=
~CLK;end
initial
begin
Reset_n<=1;
#30Reset_n<=
0;
forever
#100Reset_n<=
1;end
//producedataandDataOKreg
[3:0]dataCount;always
@
(posedgeCLK)if(!Reset_n)begindata<=
0;end
仿真波形另外一種方法moduleCount2(
);
reg
[7:0]data;
wire
[3:0]count;
assigncount=data[0]+data[1]+data[2]+data[3]+data[4]+data[5]+data[6]+data[7];
always
#20data=$random;endmodule`timescale
1ns
/
1psmodulecount3();reg
[7:0]data;reg
[3:0]count;reg
[4:0]temp;always
@
(data)begincount=
0;
for(temp=0;temp<8;temp=temp+1)
if(data[temp])count=count+
1'b1;end
always
#20data=
$random;endmodule
另外一種方法`timescale
1ns
/
1psmodulecount3();reg
[7:0]data;reg
[3:0]count;reg
[4:0]temp;always
@
(data)begincount<=
0;
for(temp=0;temp<8;temp=temp+1)
if(data[temp])count<=count+
1'b1;end
always
#20data=
$random;endmodule
這個(gè)仿真圖是上面哪一個(gè)的?另外一種方法moduleCount4();reg
[7:0]data;reg
[3:0]count;reg
[7:0]temp;always
@
(data)begintemp=data;count=0;
while(temp)begin
if(temp[0])count=count+
1'b1;temp=temp>>1;
end
end
always
#20data=
$random;endmodule
5-14.編寫(xiě)圖P5.14所示電路的Verilog描述,證明:如果D_in的連續(xù)取樣值具有奇數(shù)個(gè)1,那么電路的輸出P_odd有效。wire
tempD;always
@
(posedge
clk)
if(reset)begin
P_odd
<=
0;
end
else
begin
P_odd
<=
tempD;
end
assign
tempD
=
P_odd^D_in;
endmodule證明:完整程序`timescale
1ns
/
1psmodule
ch5_14();reg
clk;reg
D_in;reg
reset;wire
tempD;reg
P_odd;always
@
(posedge
clk)if(reset)beginP_odd
<=
0;end
else
begin
P_odd
<=
tempD;endassign
tempD
=
P_odd^D_in;//testalways
@(posedge
clk)if(reset)begin
D_in
<=
1'b0;end
else
D_in
<=$random;always
#5
clk
=
~clk;initial
begin
reset
=0;
clk
=0;
#20
reset
=
1;
forever
#30
reset
=0;end
endmodule
5-15.設(shè)計(jì)并驗(yàn)證符合下面規(guī)范的4位二進(jìn)制同步計(jì)數(shù)器的Verilog模型:下降沿同步、同步裝載與復(fù)位、數(shù)據(jù)并行裝載和低有效使能計(jì)數(shù)。輸入:時(shí)鐘,使能,復(fù)位,裝載輸出:計(jì)數(shù)`timescale
1ns
/
1psmodule
ch5_15(input
clk,input
reset,input
enable,input
load,input
[3:0]loadData,output
reg
[3:0]Count);always
@
(negedge
clk)if(reset)beginCount
<=
0;endelse
if(enable)
if(load)begin
Count
<=
loadData;
end
else
begin
Count
<=
Count
+
1'b1;
end
else
begin
Count
<=
Count;
end
endmodule
設(shè)計(jì)模塊`timescale
1ns
/
1psmodule
test();reg
clk,reset,enable,load;reg
[3:0]loadData;wire
[3:0]Count;ch5_15
ut(.clk(clk),.reset(reset),.enable(enable),.load(load),.loadData(loadData),.Count(Count));initial
begin
clk
=0;
forever
#10
clk
=
~clk;end
initial
begin
reset
=0;
#15
reset=1;
forever
#70
reset
=0;end
initial
begin
enable
=1;
#
200
enable
=0;
forever
#30
enable
=1;end
initial
begin
load
=0;
#300
load=1;
forever
#20
load=0;end
initial
begin
loadData
=0;
#300
loadData
=7;
forever
#20
loadData
=0;end
endmodule測(cè)試模塊5-19.設(shè)計(jì)并驗(yàn)證模6計(jì)數(shù)器的Verilog模型。為了方便,直接在第15題的基礎(chǔ)上修改那么需要思考,模6的位置放在那里?`timescale
1ns
/
1psmodule
ch5_19(input
clk,input
reset,input
enable,input
load,input
[2:0]loadData,output
reg
[2:0]Count);
always
@
(negedge
clk)if(reset)beginCount
<=
0;endelse
if(enable)
if(load)begin
Count
<=
loadData;
end
else
begin
if(Count==5)begin
Count
<=0;
end
else
begin
Count
<=
Count
+
1'b1;
end
end
else
begin
Count
<=
Count;
end
endmodule
設(shè)計(jì)模塊`timescale
1ns
/
1psmodule
test();reg
clk,reset,enable,load;reg
[3:0]loadData;wire
[3:0]Count;ch5_15
ut(.clk(clk),.reset(reset),.enable(enable),.load(load),.loadData(loadData),.Count(Count));initial
begin
clk
=0;
forever
#10
clk
=
~clk;end
initial
begin
reset
=0;
#15
reset=1;
forever
#70
reset
=0;end
initial
begin
enable
=1;
#
200
enable
=0;
forever
#30
enable
=1;end
initial
begin
load
=0;
#300
load=1;
forever
#20
load=0;end
initial
begin
loadData
=0;
#300
loadData
=5;
forever
#20
loadData
=0;end
endmodule測(cè)試模塊4、綜合軟件的功能是:A)將一個(gè)低級(jí)別的設(shè)計(jì)描述轉(zhuǎn)換為一個(gè)功能上等效的高級(jí)別的設(shè)計(jì)描述;B)將一個(gè)用某一種HDL語(yǔ)言描述的設(shè)計(jì)轉(zhuǎn)換為一個(gè)等效的用另一種HDL語(yǔ)言描述的設(shè)計(jì);C)從一個(gè)設(shè)計(jì)描述中產(chǎn)生一組測(cè)試向量;D)從一個(gè)功能上等效的、高級(jí)別的設(shè)計(jì)描述中產(chǎn)生一個(gè)低級(jí)別的設(shè)計(jì)描述。判斷題1)在理論上,一個(gè)器件能夠永遠(yuǎn)維持其亞穩(wěn)定狀態(tài)。2)一個(gè)器件進(jìn)入亞穩(wěn)定狀態(tài)的可能性隨著時(shí)鐘頻率的升高而增加。3)流水線技術(shù)可以降低系統(tǒng)功率損耗。4)由連續(xù)賦值語(yǔ)句assign賦值的變量可以是reg類(lèi)型。YNYN簡(jiǎn)答題下列程序中initial塊執(zhí)行完后,I,J,A,B的值會(huì)是多少?reg[2:0]A;reg[3:0]B;integerI,J;initialbeginI=0;A=0;I=I-1;A=A-1;B=A;J=J+1;B=B+1;endI=-1J=XA=3’b111B=4’b10003、下面語(yǔ)句的功能是什么?畫(huà)出對(duì)應(yīng)的電路圖。assigndata_out=(CS_b==0)?(WE==0)?data_in
:data_out:1’bz;當(dāng)CS_b為低,如果WE為低,則將data_in的值賦給data_out,否則data_out保持現(xiàn)有值,如果CS_b不為低,則data_out賦高阻值。帶輸出使能的D鎖存器。CDQWEdata_indata_outCS_b填空題
已知:a=4’b0010,b=4’b1110,c=6’b101101,寫(xiě)出下面verilogHDL表達(dá)式的值。①b&c=;②a&&b=;③a>>2=;④c?a:b=;⑤^c=。Verilog中更多的操作是位操作,所以要用簡(jiǎn)單的&|^來(lái)表示1、6’b001100(按位與)2、1(邏輯與)3、4’b0000(右移2位)4、4’b0010(問(wèn)號(hào)運(yùn)算法)
5、0(位異或兩兩依次異或)
填空題
某設(shè)計(jì)人員定義了下列的信號(hào)標(biāo)識(shí)符,其中哪些標(biāo)識(shí)符是非法的Name$,_Name,55Name,-Name,$Name,\-Name,a*b_name,always,Name@163,\Name@163,
/Name@163Verilog命名規(guī)則以字母或下劃線開(kāi)頭的字符串組成了Verilog的標(biāo)識(shí)符。命名中可以使用下劃線和符號(hào)$。如果以反斜線開(kāi)頭,則標(biāo)識(shí)符中可以使用特殊字符(轉(zhuǎn)義標(biāo)識(shí)符)。問(wèn)答題
談?wù)刬nitial過(guò)程塊和always過(guò)程塊的區(qū)別?一個(gè)程序塊可以有多個(gè)initial和always過(guò)程塊。每個(gè)initial和always說(shuō)明語(yǔ)句在仿真的一開(kāi)始同時(shí)開(kāi)始立即執(zhí)行。initial語(yǔ)句只執(zhí)行一次,而always語(yǔ)句則是不斷的重復(fù)活動(dòng),直到仿真結(jié)束。但always語(yǔ)句后跟著的過(guò)程塊是否運(yùn)行,則要看它的觸發(fā)條件是否滿足,如滿足則運(yùn)行過(guò)程塊一次。閱讀下面的testbench,畫(huà)出在整個(gè)仿真期間a,b,c的波形。`timescale10ns/100psmoduletb;rega,b,c;initial
begina=1’b0;b=1’b1;#10a=1’b1;#5b=1’b0;#20a=1’b0;#35b=1’b1;
#15$finish;endInitial#13c=a&b;endmoduleabcx編程題用VerilogHDL語(yǔ)言實(shí)現(xiàn)給定功能:某一輸入為in輸出為out的“1010”序列檢測(cè)器。當(dāng)輸入序列中含“1010”時(shí),輸出out為1,否則out為0。允許輸入碼型的重疊。狀態(tài)機(jī)題目state01outInitInitc10C1(1)c2c10C2(10)Initc30C3(101)OKc10OK(1010)InitC31`timescale
1ns/1psmodulese_de(inputclk,inputreset_n,inputdata_in,output
regOut);parameterinit=
3'd0;parameterC1=
3'd1;parameterC2=
3'd2;parameterC3=
3'd3;parameterOK=
3'd4;reg
[2:0]current_state,next_state;
always
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版土建項(xiàng)目施工人員勞動(dòng)合同范本9篇
- 2025年倉(cāng)儲(chǔ)果蔬存儲(chǔ)合同
- 2025年智能社區(qū)內(nèi)新型消費(fèi)體驗(yàn)商鋪?zhàn)赓U合同2篇
- 2025年分銷(xiāo)代理合作模板書(shū)
- 2025年醫(yī)療支持服務(wù)合作協(xié)議
- 2025年主題公寓租賃協(xié)議
- 2025年危險(xiǎn)品運(yùn)輸報(bào)關(guān)報(bào)檢協(xié)議
- 2025年作品使用授權(quán)合同
- 2025版外墻內(nèi)保溫系統(tǒng)施工與節(jié)能監(jiān)測(cè)合同3篇
- 2025版信用卡醫(yī)療借款服務(wù)協(xié)議3篇
- 安全常識(shí)課件
- 河北省石家莊市2023-2024學(xué)年高一上學(xué)期期末聯(lián)考化學(xué)試題(含答案)
- 小王子-英文原版
- 新版中國(guó)食物成分表
- 2024年山東省青島市中考生物試題(含答案)
- 河道綜合治理工程技術(shù)投標(biāo)文件
- 專題24 短文填空 選詞填空 2024年中考英語(yǔ)真題分類(lèi)匯編
- 再生障礙性貧血課件
- 產(chǎn)后抑郁癥的護(hù)理查房
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 電能質(zhì)量與安全課件
評(píng)論
0/150
提交評(píng)論