以前看过黑金写的一本教程就是关于verilog的建模的·今天看了从零开始走进FPGA有了更深的感触,决定在自己的板子上从头开始·记录下走的每一步·也为自己以后的学习打下基础和信心。
首先学习的就是流水灯了,具体的步骤详见《从零走进FPGA》,工程分为三个模块
(1)顶层模块:例化各个模块,工程的最高级别文件,
(2)分频模块: 通过分频得到固定的频率
(3)LED显示模块:随固定的频率,来操作LED灯。
我的板子输入时钟为20MHz,若以此时钟变换LED,人眼分辨不出来,所以对其进行分频来适应人眼,模块中分频至10Hz,人眼分辨的极限是25Hz,因此10Hz能感觉到·(可随机修改),Led_en的频率计算公式:
clk_led_en = 20_000_000/(19_99999+1) = 10Hz.
模块不要分频产生10Hz的频率,而是产生使能信号:
assign led_en = (cnt == 21'd19_99999) ? 1'b1 : 1'b0;
编写完后编译下载到板子中可看到流水灯的效果。
通过此例初步体会了模块化处理的方式。