实验现象:
通过FPGA 的一个I/O 口连接LED;设定I/O 为输出模式。内部乘法器完成乘法计算后
改变输出LED 的状态(红色LED 闪烁)。
核心代码:
module MULT(
input CLK_12M,
output FPGA_LEDR
);
//------------------rst_n-------------------------//
reg [:]cnt_rst;
reg rst_n; always@(posedge CLK_12M) //产生复位信号
begin
if(cnt_rst=='d15)
begin
cnt_rst = 'd15;
rst_n ='d1;
end
else cnt_rst <= cnt_rst + 'd1;
end //--------------------CLK_10Hz--------------------//
reg [:]cnt;
reg CLK_10HZ; always@(posedge CLK_12M)
begin
if(!rst_n)
begin
CLK_10HZ <= 'd0;
cnt <= 'd0;
end
else if(cnt=='d1199_999)
begin
CLK_10HZ <=~CLK_10HZ;
cnt <= 'd0;
end
else cnt <= cnt + 'd1;
end //----------------data_in&data_out---------------//
reg [:]a; always@(posedge CLK_10HZ)
begin
if(!rst_n)
a<= 'd0;
else if(a=='d255)
a <= 'd0;
else a <= a + 'd1;
end //------------------my_mult--------------------//
wire [:]out; my_mult u1(
.dataa(a),
.datab(a),
.result(out)
); assign FPGA_LEDR = out[]; //-------------==---endmodule------------------//
endmodule
实验方法及指导书:
链接:http://pan.baidu.com/s/1o8KCaTW 密码:n3fg