1927|1

2943

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

SparkRoad测评(5)-时钟系统与IP资源引用 [复制链接]

 

对于fpga的芯片很多都内置了一些IP资源,本期测试用来验证SparkRoad的时钟系统和如何引用内置的PLL资源。

module ledflash(clk,led,x);

input  clk;
output led;
output x;
wire sreset;
wire sstdby;
wire srefclk;
wire sclk;

reg [23:0] counter;
reg led;
assign sreset=1'b0;
assign sstdby=1'b0;
assign x=1'b0;
assign sclk=clk;

pllclk pll(
		.refclk(clk),
        .reset(sreset),		
        .stdby(sstdby),        
        .clk0_out(srefclk),        
        .extlock()
 );

always @(posedge srefclk)
if (counter == 12000000) 
begin 
	counter <= 0;
    led <= !led ;
end
else 
    counter <= counter + 1'b1; 
  
endmodule

上面这段程序是将外接的clk,引入到硬件pll中,将24M的频率通过内置的PLL硬件倍频到100M的过程。

首先第一步、建立主模块,这里有个坑:先不要写代码或者先不要写模块引用代码。

第二步,向过程中进入IP,也就是引用硬件PLL,菜单 Tool-> IP  Generator 

 选择默认 create a new IP Core

  给定文件名称

 选择PLL内核,当然还有其它的内核。这里我根据需要选择pll

  

这里的输入时钟为24.00000000M,其它默认

 这个我需要的频率是100M,直接next就可以生成IP了

 这里就是生成好的ip了,这是注意:这时需要进行‘综合’,而不是编写引用代码,如果这时马上编写引用代码,就会出现很多的‘综合’错误!!!,不管你的代码是如何的正确,这里就是我说的坑。

第三步,综合正确后,就可以引用该模块了。

wire sreset;
wire sstdby;
wire srefclk;
wire sclk;

reg [23:0] counter;
reg led;
assign sreset=1'b0;
assign sstdby=1'b0;
assign x=1'b0;
assign sclk=clk;

pllclk pll(
		.refclk(clk),
        .reset(sreset),		
        .stdby(sstdby),        
        .clk0_out(srefclk),        
        .extlock()
 );

我使用四个中间变量 sreset; sstdby; srefclk; sclk;和模块连接。

这里注意rest和stdby的信号都必须为低电平,以后将clk,也就是与晶振连接的clk引脚。输入给模块的refclk,模块输出为clk0_out引脚,就可以通过srefclk取出信号。

always @(posedge srefclk)
if (counter == 12000000) 
begin 
	counter <= 0;
    led <= !led ;
end
else 
    counter <= counter + 1'b1; 

这时,就可以看到原来使用24M的led闪烁的速度变快了。说明引用成功了。

 

最新回复

第一步的这个坑提示的好,谢谢,先不要写代码或者先不要写模块引用代码   详情 回复 发表于 2022-4-18 07:09
点赞 关注
 
 

回复
举报

6856

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

第一步的这个坑提示的好,谢谢,先不要写代码或者先不要写模块引用代码

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表