實驗現象:
通過FPGA 的一個I/O 口連線LED;設定I/O 為輸出模式。內部乘法器完成乘法計算後
改變輸出LED 的狀態(紅色LED 閃爍)。
核心程式碼:
module MULT( input CLK_12M, output FPGA_LEDR ); //------------------rst_n-------------------------// reg [3:0]cnt_rst; reg rst_n; always@(posedge CLK_12M) //產生復位訊號 begin if(cnt_rst==4'd15) begin cnt_rst = 4'd15; rst_n =1'd1; end else cnt_rst <= cnt_rst + 1'd1; end //--------------------CLK_10Hz--------------------// reg [20:0]cnt; reg CLK_10HZ; always@(posedge CLK_12M) begin if(!rst_n) begin CLK_10HZ <= 1'd0; cnt <= 21'd0; end else if(cnt==21'd1199_999) begin CLK_10HZ <=~CLK_10HZ; cnt <= 21'd0; end else cnt <= cnt + 1'd1; end //----------------data_in&data_out---------------// reg [7:0]a; always@(posedge CLK_10HZ) begin if(!rst_n) a<= 8'd0; else if(a==8'd255) a <= 8'd0; else a <= a + 1'd1; end //------------------my_mult--------------------// wire [15:0]out; my_mult u1( .dataa(a), .datab(a), .result(out) ); assign FPGA_LEDR = out[6]; //-------------==---endmodule------------------// endmodule
實驗方法及指導書:
連結:http://pan.baidu.com/s/1o8KCaTW 密碼:n3fg