0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SpinalHDL里时钟域中的定制与命名

FPGA之家 来源:似猿非猿的FPGA 作者:似猿非猿的FPGA 2021-03-22 10:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

聊一聊在SpinalHDL里时钟域中时钟的定制与命名。

相较于Verilog,在SpinalHDL里,其对时钟域有着更细致的描述,从而也能够更精细的控制和描述。而对于时钟域,我们往往关系的是:

时钟频率

复位电平:是高电平还是低电平

复位方式,是同步复位还是异步复位。

对于带有时序电路的逻辑而言,最常用的生成Verilog代码方式如下:

时钟域默认为异步高电平复位:

倘若要“定制”时钟域,那么往往采用下面的方式生成RTL代码:

这里在SpinalConfig里常用的用于“定制”时钟的有两个参数:

defaultConfigForClockDomains

defaultClockDomainFrequency

defaultConfigForClockDomains参数可指定时钟域的配置,ClockDomainConfig中可指定的参数包含:

clockEdge:指定有效时钟沿(RISING、FALLING)

resetKind: 指定复位类型(ASYNC、SYNC)

resetActiveLevel: 指定复位类型(HIGH,LOW)

softResetActiveLevel:指定softReset类型(HIGH,LOW)

clockEnableActiveLevel: 指定时钟使能信号电平(HIGH,LOW)

上述代码最终生成的RTL为:

可以看到,复位信号变成了同步高电平复位形式。通过这种时钟域配置的方式,可以做到一键修改适配,从而避免一遍又一遍的posedge、negedge啰嗦~,同时又避免自己在繁杂的Verilog代码里手误(真实遇到过别人代码里复位一会儿posedge、一会儿negedge、估计是写懵了)。

而defaultClockDomainFrequency则用于指定时钟频率,当你的代码里若调用类似这样的lib函数那么指定时钟频率就尤为重要了:

val timeout = Timeout(10 ms) //Timeout who tick after 10 mswhen(timeout){ //Check if the timeout has tick timeout.clear() //Ask the timeout to clear its flag}》》时钟重命名

在当前的开发模式下,很难做到每个人都使用SpinalHDL,而当牵涉到多人合作时,时钟与复位信号的命名往往需达成一致,通过下面的方式可以修改默认时钟域的信号命名:

对应的RTL:

更通用一些,也可以根据复位信号的特征来指定名称:

原文标题:时钟域“定制”

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630192
  • 时钟
    +关注

    关注

    11

    文章

    1953

    浏览量

    134539

原文标题:时钟域“定制”

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    铁路时钟系统介绍、时钟系统、授时服务器

    时钟系统
    西安同步电子科技有限公司
    发布于 :2025年11月12日 17:39:23

    风华电阻器命名规范解析

    在电子制造与维修领域,电阻器作为最基本的电子元器件之一,其命名规范对于元器件的选型、采购、库存管理以及应用都具有重要意义。风华电阻器作为国内知名的电阻器品牌,其命名规范遵循一定的行业标准和内部规则
    的头像 发表于 09-22 15:22 408次阅读
    风华电阻器<b class='flag-5'>命名</b>规范解析

    指针式时钟 单面网络子钟

    时钟
    jf_47371611
    发布于 :2025年09月12日 13:38:52

    Arm产品命名体系的演变

    继 Arm 首席执行官 Rene Haas 宣布 Arm 推出新的产品命名体系后,本文将为你详解新的计算平台名称,以及新命名体系内的新 IP 名称标识。
    的头像 发表于 06-19 10:38 776次阅读
    Arm产品<b class='flag-5'>命名</b>体系的演变

    PCB设计中的焊盘命名规范

    1.焊盘命名规范 获取完整文档资料可下载附件哦!!!!如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 05-29 16:01

    旺诠合金电阻的命名规则

    旺诠合金电阻的命名规则相对严谨且包含丰富的信息,通常包括电阻值、精度、温度系数和功率等级等关键参数。以下是对旺诠合金电阻命名规则的详细解读: 一、电阻值 电阻值是电阻本身的物理特性,通常以欧姆
    的头像 发表于 05-20 11:22 476次阅读
    旺诠合金电阻的<b class='flag-5'>命名</b>规则

    使用CYUSB3065制作了一个定制电路板,并且想要配置我的定制传感器,遇到的几个疑问求解

    我已经使用 CYUSB3065 制作了一个定制电路板,并且想要配置我的定制传感器,但有几个问题。 1.I2C 时钟 如果我想用 2 通道设置配置 AR0144 传感器,这种情况下串行时钟
    发表于 05-15 08:14

    顺络贴片电容规格都是怎么命名

    顺络贴片电容的规格命名通常包含一系列字符,这些字符用于标识电容的关键规格和属性。虽然不同制造商的命名规则可能有所不同,但一般来说,顺络贴片电容的命名规则可能包含以下参数: 1、尺寸:这部分通常
    的头像 发表于 04-29 15:31 807次阅读
    顺络贴片电容规格都是怎么<b class='flag-5'>命名</b>的

    是否可以在没有RTC时钟输入的情况下在基于LS1043的定制板上使看门狗正常工作?

    是否可以在没有 RTC 时钟输入的情况下在基于 LS1043的定制板上使看门狗正常工作? 我们可以将另一个内部 clock source 设置为看门狗的 input 吗? 提前致谢
    发表于 04-14 08:35

    风华电容命名方法深度解析

    在电子元器件领域,风华电容凭借其清晰的命名体系、全面的技术参数和广泛的应用场景,成为国内外市场的标志性品牌。本文将从命名规则、技术参数、行业应用及市场优势四个维度,深度解析风华电容的技术特性
    的头像 发表于 04-11 11:58 1049次阅读

    PCB最全封装命名规范

    范围本规范适用于主流EDA软件在PCB设计前的封装建库命名。 获取完整文档资料可下载附件哦!!!!
    发表于 03-12 13:26

    ads7882面的RD是不是一个同步用的时钟脉冲?

    ads7882面的RD是不是一个同步用的时钟脉冲,如果是的话,他的频率采用多好比较合适啊,另外有没有相关的代码可以参考,新手一个,有点不太会。谢谢!
    发表于 02-10 07:29

    京准电钟发布:定制款席位桌面NTP电子时钟

    京准电钟发布:定制款席位桌面NTP电子时钟
    的头像 发表于 02-07 16:49 691次阅读
    京准电钟发布:<b class='flag-5'>定制</b>款席位桌面NTP电子<b class='flag-5'>时钟</b>

    ARM主板定制流程与成本

    在当今快速发展的科技环境中,定制化的硬件解决方案越来越受到企业和开发者的青睐。ARM架构作为一种高效能、低功耗的处理器架构,广泛应用于嵌入式系统、移动设备和物联网设备等领域。为了满足特定应用需求
    的头像 发表于 01-06 13:21 880次阅读
    ARM主板<b class='flag-5'>定制</b>流程与成本

    SMA连接器的完整名称及其命名由来

    世纪60年代被开发出来,专为微波应用设计,其特点在于小型化和高性能,适用于高频传输  命名由来  SMA连接器的命名遵循了射频同轴连接器的命名规则,其中“Su
    的头像 发表于 12-12 11:12 1780次阅读
    SMA连接器的完整名称及其<b class='flag-5'>命名</b>由来