西工大硬體描述語言實驗報告

2021-03-04 03:00:06 字數 4824 閱讀 6751

班級: ******xx

學號: ******xx

姓名: ******xx

實驗一簡單組合邏輯設計

1.掌握基本組合邏輯電路的實現方法。

2.初步了解兩種基本組合邏輯電路的生成方法。

3.學習測試模組的編寫。

4.通過綜合和布局佈線了解不同層次**的物理意義。

本次實驗採用verilog hdl語言設計乙個可綜合的資料比較器,其功能是比較資料a與資料b的結果,如果兩個資料相同,則輸出結果1,否則給出結果0;並寫出測試模型,使其進行比較全面的測試。

1.建立工程檔案,編寫模組原始碼和測試模組,要求測試模組對原始檔進行比較全面的測試;

2.編譯原始碼和測試模組,用測試模組對原始檔進行測試,並進行**;

3.觀察綜合後生成的檔案和原始檔的不同點和相同點。

4.綜合時採用不同的fpga器件,觀察綜合後的結果有什麼不同。

1.模組原始碼

module ***pare(equal, a, b);

input a,b;

output equal;

assign equal = (a == b)?1:0;

endmodule

2.測試**

`timescale 1ns/1ns

module ***pare_t;

reg a, b;

wire equal;

initial

begin

a=0;

b=0;

#100 a=0; b=1;

#100 a=1; b=1;

#100 a=1; b=0;

#100 a=0; b=0;

#100 $stop;

end***pare m(.equal(equal),.a(a),.b(b));

endmodule

rtl圖及**後波形圖:

1.課本練習一的測試方法二中,第二個initial塊有什麼用?它與第乙個initial塊有什麼關係?

測試方法二中的第二個initial用來暫停**以便觀察**波形,它與第乙個initial是並行關係

2.如果在第二個initial塊中,沒有寫出#10000或者$stop,**會如何進行?

如果沒有寫#10000,**會直接停止,沒有$stop,**不會結束。

3.比較兩種測試方法,哪一種更全面?

第二種測試方法更全面,測試了更多種的變換的情況。

實驗二簡單分頻時序邏輯電路的設計

1.掌握條件語句在簡單時序模組設計中的使用;

2.掌握verilog語句在簡單時序模組設計中的使用;

3.學習在verilog模組中應用計數器;

4.學習測試模組的編寫、綜合和不同層次的**。

1.使用always塊和@(posedge clk)或@(negedge clk)的結構來表述時序邏輯,設計1/2分頻的可綜合模型。得到如下波形圖:

2.對模組進行rtl級**、綜合後門級**,布局佈線**;

1.建立工程檔案,編寫模組原始碼和測試模組,要求測試模組能對原始檔進行比較全面的測試。

2.編譯原始碼和測試模組,用測試模組對原始檔進行測試,並綜合**。得到波形圖。

3.觀察綜合後生成的檔案和原始檔的不同點和相同點。

4.記錄資料並完成實驗報告。

1. 模組**

module half_clk(reset,clk_in,clk_out);

input clk_in,reset;

output clk_out;

reg clk_out;

always @(posedge clk_in)

begin

if(!reset)

clk_out=0;

else

clk_out=~clk_out;

endendmodule

2.測試**

`timescale 1ns/100ps

`define clk_cycle 50

module top;

reg clk,reset;

wire clk_out;

always #`clk_cycle clk=~clk;

initial

begin

clk=0;

reset=1;

#10 reset=0;

#110 reset=1;

#100000 $stop;

endhalf_clk m0(.reset(reset),.clk_in(clk),.clk_out(clk_out));

endmodule

rtl圖以及**後波形圖

1.如果沒有reset訊號,能否控制2分頻clk_out訊號的相位?

如果沒有reset訊號,則無法控制2分頻clk_out訊號的相位。

2. 只用clk時鐘沿的觸發(即不用2分頻產生的時鐘沿)如何直接產生4分頻、

8分頻、或者16分頻的時鐘?

借助乙個整型變數j做計數操作。

3.如何只用clk時鐘沿的觸發直接產生占空比不同的分頻時鐘?

借助乙個整型變數j做計數操作,從而用clk時鐘沿的觸發直接產生4分頻、8分頻或者16分頻的時鐘,及產生占空比不同的分頻時鐘。

實驗三利用條件語句實現計數分頻時序電路

1.掌握條件語句在簡單時序模組設計中的使用;

2.掌握最基本時序電路的實現方法;

3.學習在verilog模組中應用計數器;

4.學習測試模組的編寫、綜合和不同層次的**。

1.複習課本,熟悉條件語句的使用方式;

2.建立工程並編寫源**;

3.綜合並布局佈線**並分析always語句在時序邏輯中的作用;

4.學習測試模組的編寫、綜合和**。

1.建立工程檔案,編寫模組原始碼和測試模組,要求測試模組能對原始檔進行比較全面的測試;

2.編譯原始碼和測試模組,用測試模組對原始檔進行測試,並綜合**;

3.觀察綜合後生成的檔案和原始檔的不同點和相同點;

4.綜合時採用不同的fpga器件,如altera公司的cyclone ii系列和stratix iii系列,觀察綜合後的結果有什麼不同。

1.模組**

module fdivision(reset,f10m,f500k);

input f10m,reset;

output f500k;

reg f500k;

reg [7:0]j;

always @(posedge f10m)

if(!reset低電平復位。

begin

f500k <= 0;

j <= 0;

endelse

begin

if(j==19) //對計數器進行判斷,以確定f500k訊號是否反轉。

begin

j <= 0;

f500k <= ~f500k;

endelse

j <= j+1;

endendmodule

2.測試**

`timescale 1ns/100ps

`define clk_cycle 50

module division_top;

reg f10m,reset;

wire f500k_clk;

always #`clk_cycle f10m=~f10m;

initial

begin

reset=1;

f10m=0;

#100 reset=0;

#100 reset=1;

#10000 $stop;

endfdivision fdivision(.reset(reset),.f10m(f10m),.f500k(f500k_clk));

endmodule

rtl圖以及**後波形圖:

1.考慮如何實現任意數值分頻。

任意分頻**:

module divn(clk,rst_n,o_clk);

input clk,rst_n;

output o_clk;

parameter width = 3;

parameter n = 5;

reg [width-1:0] **t_p,**t_n; //count_pose,count_nege

reg clk_p,clk_n;

assign o_clk = (n==1)? clk : (n[0])?(clk_p&clk_n) :clk_p;

//如果n=1,o_clk=clk; 如果n為偶數,o_clk=clk_p; 如果n為奇數,o_clk=clk_p & clk_n,

//之所以是相與運算,是因為clk_p和clk_n兩者高電平比低電平多乙個clk,而兩者相 //差半個clk,相與結果使o_clk占空比為50%

always @ (posedge clk or negedge rst_n)

begin

if(!rst_n)

**t_p<=0;

else if (**t_p==(n-1))

**t_p<=0;

else

**t_p<=**t_p+1;

endalways @ (posedge clk or negedge rst_n)

begin

if(!rst_n)

clk_p<=0;

else if (**t_p<(n>>1))

clk_p<=0;

else

clk_p<=1;

endalways @ (negedge clk or negedge rst_n)

begin

if(!rst_n)

**t_n<=0;

else if (**t_n==(n-1))

西工大高頻實驗報告

電子版 班級 08030901班級 08030901 學號 2009301998學號 2009300093 姓名 劉旭龍姓名 郭楠 20 11 年 11 月 實驗一 小訊號諧振放大器 1 本次實驗電原理圖 2 直流工作點對放大器的影響關係 2 1 直流工作點與對放大器影響關係得結論 輸入一定的情況下...

西工大高頻實驗報告

201 5年 11 月 實驗1 調幅發射系統實驗 一 實驗目的與內容 圖1為實驗中的調幅發射系統結構圖。通過實驗了解與掌握調幅發射系統,了解與掌握lc三點式振盪器電路 三極體幅度調製電路 高頻諧振功率放大電路。圖1 調幅發射系統結構圖 2 實驗原理 1 lc三點式振盪器電路 給出原理圖,並分析其工作...

西工大模電實驗報告

2014模擬電子實驗總結報告 計算機學院 班號 10031201 學號 2012302606 姓名 劉凱 實驗一 電晶體單級放大器3 一 實驗目的3 二 實驗原理3 三 實驗內容4 四 實驗結果5 實驗二 多級負反饋放大器的研究6 一 實驗目的6 二 實驗原理6 三 實驗內容10 四 實驗結果11 ...