Lattice Diamond 的PLL IPcore的使用

今天研究Diamond的IPcore 的使用,以PLL IP为例研究了,终于在开发板上测试成功了。

首先使用编写一个LED程序:

module testcpld
(
    input           a,
    input        x_clk,
    output[67:0]  test_point,
    output[1:0]   led
);

 localparam  TIME1MHZ_DIV     = 40000_000; 
  localparam  TIME1MHZ_DIV2     = 40000_000; 

//mypll __ (.CLKI( ), .CLKOP( ));

assign    test_point={68{1'b1}}; 

 wire sys_clk;
 assign    sys_clk =x_clk;
 //defparam OSCH_inst.NOM_FREQ = "38.00";
//OSCH OSCH_inst( 
     //.STDBY(1'b0), // 0=Enabled, 1=Disabled // also Disabled with Bandgap=OFF
     //.OSC(sys_clk),
     //.SEDSTDBY()
     //); // this signal is not required if not // using SED
     
   
reg[31:0]    led0_blink_count,led1_blink_count;
 always @(posedge    clkled)
 begin
    if(led0_blink_count == TIME1MHZ_DIV)
        led0_blink_count <= 0;
    else
        led0_blink_count <= led0_blink_count+ 1'd1;
end

always @(posedge    sys_clk)
 begin
    if(led1_blink_count == TIME1MHZ_DIV2)
        led1_blink_count <= 0;
    else
        led1_blink_count <= led1_blink_count+ 1'd1;
end

reg[1:0]    led_temp;

assign led = led_temp;

always @(posedge    clkled)
begin
    if(led0_blink_count == TIME1MHZ_DIV)
        led_temp[0] <= ~led_temp[0];
    else
        led_temp[0] <= led_temp[0];
end

always @(posedge    sys_clk)
begin
    if(led1_blink_count == TIME1MHZ_DIV2)
        led_temp[1] <= ~led_temp[1];
    else
        led_temp[1] <= led_temp[1];
end

wire lockled;
wire clkled;


mypll mypll(
            .CLKI(sys_clk),
            
            .CLKOP(clkled)
            

          );


endmodule

运行 IPexpress,进行PLL的如下设置,即10分频。

然后在input中添加.ipx 文件或.v 文件即可。

下载使用RAM 的bit 文件下载,发现可以分频的。

备注:

其中调试过程中遇到代码错误,不能编译通过,后来发现下面代码错误。

reg    led_temp[1:0];

修改成 reg [1:0]   led_temp; 即pass。 

看来是受C的影响。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值