FPGA project : example_ip

该文章详细描述了一个使用Verilog语言编写的PLL(锁相环路)模块,它用于处理系统时钟信号,包括乘法器、除法器、相位调整和周期调整功能。测试模块展示了如何配置和驱动PLL,以及如何在仿真环境中设置时钟周期。

PLL:

module top(
    input           wire    sys_clk      ,

    output          wire    clk_mul_2    ,
    output          wire    clk_div_2    ,
    output          wire    clk_phase_90 ,
    output          wire    clk_ducyle_2 ,
    output          wire    locked    
);



pll pll_insert(
	.inclk0                  ( sys_clk      ),
	.c0                      ( clk_mul_2    ),
	.c1                      ( clk_div_2    ),
	.c2                      ( clk_phase_90 ),
	.c3                      ( clk_ducyle_2 ),
	.locked                  ( locked       )
    );

endmodule
`timescale 1ns/1ns
module test_pll ();
    reg                 sys_clk         ;
    wire                clk_mul_2       ;
    wire                clk_div_2       ;
    wire                clk_phase_90    ;
    wire                clk_ducyle_2    ;
    wire                locked          ;

top top_insert(
    .sys_clk            ( sys_clk       ) ,

    .clk_mul_2          ( clk_mul_2     ) ,
    .clk_div_2          ( clk_div_2     ) ,
    .clk_phase_90       ( clk_phase_90  ) ,
    .clk_ducyle_2       ( clk_ducyle_2  ) ,
    .locked             ( locked        )    
);

    parameter CYCLE = 20 ;

    initial begin
        sys_clk <= 1'b1 ;
    end
    always #(CYCLE / 2) sys_clk <= ~ sys_clk ;
    
endmodule

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值