當前位置:文書都 >

行政公文 >報告 >

FPGA使用入門實驗報告示例

FPGA使用入門實驗報告示例

一.實驗目的

FPGA使用入門實驗報告示例

(1) 掌握ISE 13.2集成開發環境和Modelsim軟件的使用方法;

(2) 熟悉S6 Card實驗板的.使用方法。

(3) 掌握使用Verilog HDL語言實現常用組合邏輯和時序邏輯的方

法。

(4) 瞭解Chipscope的功能與使用方法。

二. 實驗內容

(1) 熟悉S6 CARD實驗板;

(2) 熟悉ISE集成開發環境;

(3) 3比特加法器仿真與上板實驗

(4)m序列產生器仿真與在板Chipscope調試。

三. 實驗過程依照指導書進行

四. 實驗代碼分析

(1)3bit加法器(見註釋

module m_seq_gen(

//端口I/O定義

input clk,//定義clk為輸入類型

input reset,//定義resert為輸入類型

output seq//定義seq為輸出類型

);

//內部信號説明

reg [3:0] state;//定義變量state,為寄存器型,位寬為4

//功能定義

always @(posedge clk or negedge reset)//當clk上升沿來到或者reset下降沿來到,//觸發敏感事件,執行以下程序

begin

if(!reset)//如果不是reset下降沿來到

state <= 4'b1111;//state輸出結果為4位的二進制數字1111

else

begin

state[3:1] <= state[2:0];//state從第二位到第四位輸出結果為其第一位//到第三位的數值

state[0] <= ^(state & 4'b1001);//state第一位輸出結果為state原來的//值與二進制數1001相與的結果

end

end

assign seq = state[0]; //連續賦值,將state第一位值賦給seqEndmodule

(2)m序列測試文件代碼分析(見註釋)

module test_m;

// Inputs,將clk和reset定義為寄存器類型

reg clk;

reg reset;

// Outputs

wire seq;//將seq定義為連線類型

// Instantiate the Unit Under Test (UUT)

m_seq_gen uut (

(clk),

t(reset),

(seq)

);

initial begin

// Initialize Inputs,將初始值均設為0

clk = 0;

reset = 0;

// Wait 100 ns for global reset to finish

#100;

reset = 0;

#50 reset = 1;

// Add stimulus here

end

always #10 clk = ~clk;//產生測試時鐘,延時10s後使時鐘取反endmodule

五. 實驗仿真結果分析

1.3比特加法器(見註釋)

(1)功能仿真波形

由上圖可知加法器功能正常,且當a、b之和大於7時產生進位

(2)時序仿真波形

板子上撥碼開關的6、7、8和1、2、3分別作為加法器的輸入,D1-D4 LED燈分別表示cout和sum,撥動撥碼開關,觀察

LED

的變化。

實驗板實照

由上圖可證程序運行正常,3比特加法成功

2. m序列產生器

(1)產生原理:每一個週期內,第一個和第四個寄存器的值作異或

運算後,寄存器移位,運算出的值賦給第一個寄存器,構成新的系統寄存器狀態值。

(2)功能仿真波形

第一行為時鐘信號,第二行為重置信號,第三行為輸出的m序列。

(3)Chipscope波形

  • 文章版權屬於文章作者所有,轉載請註明 https://wenshudu.com/xingzhenggongwen/baogao/4vqe0q.html
專題