差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
后一修订版 两侧同时换到之后的修订记录
5._时钟分频 [2017/03/05 01:47]
zhijun [Verilog代码]
5._时钟分频 [2017/03/07 21:23]
zhijun [Verilog代码]
行 67: 行 67:
  if(!rst_n)  if(!rst_n)
  clk_p<​=0;​  clk_p<​=0;​
- else if (cnt_p<​(N>>​1)) ​         //​N>>​1表示移一位,相当于除以2去掉余数+ else if (cnt_p<​(N>>​1)) ​         //​N>>​1表示移一位,相当于除以2去掉余数
  clk_p<​=0;​  clk_p<​=0;​
  else ​  else ​
行 144: 行 144:
  
           //​module调用例化格式           //​module调用例化格式
-          divide ​ #​(.WIDTH(4),​.N(10))  u1 (                         //#​后面的()中为参数传递,如果不传递参数就是所调用模块中的参数默认值+          divide ​ #​(.WIDTH(4),​.N(11))  u1 (                         //#​后面的()中为参数传递,如果不传递参数就是所调用模块中的参数默认值
                                                                    //​divide表示所要例化的module名称,u1是我们定义的例化名称,必须以字母开头                                                                    //​divide表示所要例化的module名称,u1是我们定义的例化名称,必须以字母开头
  .clk (clk), ​    //​输入输出信号连接。 .clk表示module本身定义的信号名称;(clk)表示我们在这里定义的激励信号  .clk (clk), ​    //​输入输出信号连接。 .clk表示module本身定义的信号名称;(clk)表示我们在这里定义的激励信号
行 169: 行 169:
 ====小结==== ====小结====
 ------ ------
-在本实验学习了如何进行任意整数的分频设计,我们产生各种时钟,通过修改程序还能实验调整输出时钟的频率、相位以及占空比,非常灵活。在下个实验我们将进一步了解时序逻辑,如何利用时钟来进一步设计,请看最常见的[[6.LED流水灯|流水灯]]。+在本实验学习了如何进行任意整数的分频设计,我们产生各种时钟,通过修改程序还能实验调整输出时钟的频率、相位以及占空比,非常灵活。同时学习了如何编写testbench文件,了解verilog中如何例化module,在后面的学习中将会经常用到。在下个实验我们将进一步了解时序逻辑,如何利用时钟来进一步设计,请看最常见的[[6. LED流水灯|流水灯]]。