差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 后一修订版 两侧同时换到之后的修订记录 | ||
5._时钟分频 [2017/03/05 01:40] zhijun [Verilog代码] |
5._时钟分频 [2017/03/05 01:47] zhijun [Verilog代码] |
||
---|---|---|---|
行 144: | 行 144: | ||
//module调用例化格式 | //module调用例化格式 | ||
- | divide #(.WIDTH(3),.N(5)) u1 ( //#后面的()中为参数传递,如果不传递参数就是所调用模块中的参数默认值 | + | divide #(.WIDTH(4),.N(10)) u1 ( //#后面的()中为参数传递,如果不传递参数就是所调用模块中的参数默认值 |
//divide表示所要例化的module名称,u1是我们定义的例化名称,必须以字母开头 | //divide表示所要例化的module名称,u1是我们定义的例化名称,必须以字母开头 | ||
.clk (clk), //输入输出信号连接。 .clk表示module本身定义的信号名称;(clk)表示我们在这里定义的激励信号 | .clk (clk), //输入输出信号连接。 .clk表示module本身定义的信号名称;(clk)表示我们在这里定义的激励信号 | ||
行 156: | 行 156: | ||
====引脚分配==== | ====引脚分配==== | ||
------- | ------- | ||
- | 小脚丫上的系统时钟连接到FPGA的C1脚,时钟为12MHz。如果我们想得到1秒周期的时钟那么需要设置N=12000000,WIDTH至少为24 | + | 小脚丫上的系统时钟连接到FPGA的C1脚,时钟为12MHz。你可以通过仿真波形观察分频时钟(注意仿真的时间是有限的,所以分频时钟频率需要较高)。如果我们想通过眼睛观察LED的闪烁,那么需要设置参数N和WIDTH得到一个频率较低的时钟(例如N=12000000,WIDTH=24,分频时钟周期为1秒)。 |
\\ | \\ | ||
^信号 ^引脚 ^ | ^信号 ^引脚 ^ | ||
行 164: | 行 164: | ||
\\ | \\ | ||
- | 分频时钟输出到小脚丫上的LED,如果时钟周期够大将能够看到LED闪烁。修改程序中的分频系数和计数器位数就能够调整LED闪烁速度(注意计数的最大值一定要保证超过分频系数N)。 | + | 修改程序中的分频系数和计数器位数就能够调整LED闪烁速度(注意计数的最大值一定要保证超过分频系数N)。 |
\\ | \\ | ||