数字倍频电路原理图

一个数字倍频电路
这个就是原理图,奉上代码
1 ///////////////////////////////////////////////////////////////////////////// 2 // date : wed jun 6 22:58:17 cst 2012 3 ///////////////////////////////////////////////////////////////////////////// 4 module clk_mul( 5 input wire clk 6 , input wire rst_n 7 , output wire clk_out 8 ); 9 ////////////////////////////////////////////////////////////////////////////// 10 // variable declaration 11 reg temp_mul ; 12 ////////////////////////////////////////////////////////////////////////////// 13 // logic 14 always @(posedge clk_out or negedge rst_n) begin 15 if(~rst_n) temp_mul <= 1'b0 ; 16 else temp_mul <= #2 ~temp_mul ; 17 end 18 assign clk_out = ~(clk ^ ~temp_mul) ; 19 ////////////////////////////////////////////////////////////////////////////// 20 21 endmodule // created by poiu_elab@1207 22 23 ////////////////////////////////////////////////////////////////////////////// 这个东西很简单的,但是要注意,它的核心是第16行的#2,这里的延时(占空比)可以通过电路的tco和经过反相器的时间来搞定(其中可以插入一些buffer来调节时间),testbench这么来写(很简单,但是便于下面解释延时对占空比的影响还是附上)。
1 /////////////////////////////////////////////////////////////////////////////// 2 // date : wed jun 6 23:00:31 cst 2012 3 /////////////////////////////////////////////////////////////////////////////// 4 `define clk_cycle 20 5 module tb(); 6 /////////////////////////////////////////////////////////////////////////////// 7 // variable declaration 8 reg clk ; 9 reg rst_n ; 10 wire clk_out ; 11 /////////////////////////////////////////////////////////////////////////////// 12 // stimulation generation 13 initial forever #(`clk_cycle/2) clk = ~clk; 14 initial begin 15 rst_n = 1'b0 ; 16 clk = 1'b1 ; 17 #500; 18 rst_n = 1'b1 ; 19 #5000; 20 $stop; 21 end 22 /////////////////////////////////////////////////////////////////////////////// 23 // module instaniation 24 clk_mul u_clk_mul( 25 .clk ( clk ) 26 , .rst_n ( rst_n ) 27 , .clk_out ( clk_out ) 28 ); 29 /////////////////////////////////////////////////////////////////////////////// 30 31 endmodule // created by poiu_elab@1207 32 33 /////////////////////////////////////////////////////////////////////////////// 下面给出仿真图,当#2的时候,是这样的,其中你要关心的其实是~temp_mul & clk, 当你要是q端经过反相器的信号与接入的clk信号相同的时候你的clk_out就会起来,之后你的q端翻转了的话,你的clk_out就会落下来,这时候在下一个clk翻转的时候,你的~temp_mul & clk就会又要把clk_out拉起来,q端又翻转,以此类推,就可以继续在每个clk的跳变沿出现你的clk_out的高电平,调整你的tco和反相器延时就可以调整你的高电平时间,由于周期又是固定的,这样就可以调整你的占空比。
而当#5的时候,是这样的
看出什么端倪了没,当你的延时,正好是时钟周期的1/4的时候,你就可以得到一个占空比是50%的2倍频时钟。


鸿蒙报名入口 报名方法如下
在温度跟踪电源中使用热敏电阻
光纤面板你真的了解吗-科兰
西安紫光国芯被陕西发改委通报,境外出资775万美元未备案
源创通信IPP200 USB 手柄电话介绍
数字倍频电路原理图
加密货币Nano在委内瑞拉产生了巨大的影响
摩尔线程与光环新网和光环云达成战略合作
汽车智能驾驶如何实现真正的人工智能
健身房中智能镜子的应用,让健身成为一种新的时尚
聊聊关于虚拟现实的话题
移动视频品质:媒体网关解决方案之革新
解析内存中的高性能内存图结构及关键因素
btb16 800怎么测量好坏
Meta:正在多款自研芯片上使用RISC-V
阿里巴巴和亚马逊将引领全球进入语音互联网
如何建立适合商用的边缘计算网络?
倍流同步整流在DC/DC变换器中工作原理分析
药品冷链运输与存储的解决方案
LED光源黑化初步诊断失效分析