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(clk),
.reset(reset),
.seq(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波形
【FPGA使用入門實驗報告示例】相關文章:
實驗報告范文01-20
倉儲實踐實驗報告01-13
實驗報告范文(15篇)01-20
實驗報告范文15篇01-20
實驗報告范文(集錦15篇)01-20
圍棋入門規則04-25
《血染的實驗報告》讀后感01-20
民間文學課題實驗報告01-20
小學常規管理規定示例04-11
2015年訃告參考示例09-08