如何在晶格冰棒上的verilog中获得更快的时钟?

如何在晶格冰棒上的verilog中获得更快的时钟?,verilog,fpga,Verilog,Fpga,斗杆上有一个12MHz的振荡器 我已经设法写了verilog代码来划分这个时钟,闪烁的LED是1Hz。(我刚刚开始学习verilog。) 我相信这种FPGA将在高达133MHz的频率下工作 是否有办法从12MHz振荡器产生更快的时钟信号(verilog) 答案尚未测试 通过 发件人: 此外: iCE40系统时钟锁相环 iCE40锁相环(PLL)提供多种用户可合成时钟频率以及CU- tom相位延迟。iCE40设备中的PLL可以通过软件宏或 PLL模块生成器。PLL模块生成器实用程序帮助用户快速配置

斗杆上有一个12MHz的振荡器

我已经设法写了verilog代码来划分这个时钟,闪烁的LED是1Hz。(我刚刚开始学习verilog。)

我相信这种FPGA将在高达133MHz的频率下工作

是否有办法从12MHz振荡器产生更快的时钟信号(verilog)

答案尚未测试

通过

发件人:

此外:

iCE40系统时钟锁相环 iCE40锁相环(PLL)提供多种用户可合成时钟频率以及CU- tom相位延迟。iCE40设备中的PLL可以通过软件宏或 PLL模块生成器。PLL模块生成器实用程序帮助用户快速配置所需设置 在GUI的帮助下,生成配置PLL宏的Verilog代码。图2显示了iCE40系统- 时钟锁相环框图


我使用了更高的时钟频率,用TinyFPGA BX在VGA显示器上显示乒乓球游戏。TinyFPGA BX和格子冰棍非常相似。因此,我想分享我的代码。您可能需要使用官方的Lattice软件来实现更简单的GUI(图形用户界面)配置


FPGA上有DCM吗?我发现有一个PLL…卓越。。它应该很容易使用。。
wire clk;

  SB_PLL40_CORE #(.FEEDBACK_PATH("SIMPLE"),
                  .PLLOUT_SELECT("GENCLK"),
                  .DIVR(4'b0001),
                  .DIVF(7'b1000010),
                  .DIVQ(3'b100),
                  .FILTER_RANGE(3'b001),
                 ) uut (
                         .REFERENCECLK(pclk),
                         .PLLOUTCORE(clk),
                         .LOCK(D5),
                         .RESETB(1'b1),
                         .BYPASS(1'b0)
);
module top(
input wire clk_16,
output USBPU
);

assign USBPU = 0; // drive USB pull-up resistor to '0' to disable USB 
output wire;
SB_PLL40_CORE #(
                .FEEDBACK_PATH("SIMPLE"),
                .DIVR(4'b0000),         // DIVR =  0
                .DIVF(7'b0110001),      // DIVF = 49
                .DIVQ(3'b101),          // DIVQ =  5
                .FILTER_RANGE(3'b001)   // FILTER_RANGE = 1
        ) uut (
                .LOCK(locked),
                .RESETB(1'b1),
                .BYPASS(1'b0),
                .REFERENCECLK(clk_16),  // clk_16_MHz is the original clock
                .PLLOUTCORE(clk)        // clk is the modified clock with higher frequency
                );