Verilog实现 您所在的位置:网站首页 怎样用时钟表示方向 Verilog实现

Verilog实现

2024-07-15 12:33| 来源: 网络整理| 查看: 265

目录 实现目标代码和说明测试结果和建议

实现目标

最近想设计一个实现时钟信号90°相移的代码,网上的都是通过FPGA调用PLL或者MCMM来实现的,奈何我是数字IC设计,没有这样的IP,只能自己苦想了一个办法用Verilog实现。 首先要有想相移时钟的至少两倍频时钟,然后对这个倍频时钟取反,用得到的反倍频时钟去采样想要相移的时钟即可得到90°相移的时钟信号,可以参考以下的时序图 在这里插入图片描述

代码和说明

因为倍频同样需要PLL或MCMM等IP,我同样无法用,故这次写的代码是用时钟分频得到想要相移的时钟的,顶层具体代码如下:

//----------------------------------------------------------------------------------------------- // Copyright : // Author : Luk.wj // File Name : clk_90 // Module Name : clk_90 // Create : 2021.12.09 // Revise : // Fuction : //----------------------------------------------------------------------------------------------- module CLK_90 ( input clk_256, input rst_n, output reg clk_out ); wire clk_128; assign clk_256_inv = ~clk_256; Div#( .cnt_width ( 2 ), .fre_div ( 2 ) )u_Div( .rst_n ( rst_n ), .clk_in ( clk_256 ), .clk_out ( clk_128 ) ); always @(posedge clk_256_inv or negedge rst_n) begin if(!rst_n) clk_out


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有