【iCore1S 双核心板_FPGA】例程十:乘法器实验——乘法器的使用
实验现象:
通过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