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

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

3天内不再提示

分享一些优秀的verilog代码 高质量verilog代码的六要素

sanyue7758 来源:IC的世界 作者:IC的世界 2023-07-18 10:09 次阅读

高质量6要素

高质量的verilog代码至少需要包含以下几个要素:可读性、功能、性能、标准化、稳定性、可定位。

标准化:iterlaken MAC PCIE 这些模块的设计必须要符合协议标准,能够与其他厂商产品进行正常对接。

可读性:代码是容易阅读,是否容易理解原理

功能:功能是否正确,功能点是否全面,是否灵活可配置。

性能:读写、传输速率是否达标

稳定性:跨时钟等是否处理细致,异常情况代码是否能够保持稳定,是否能够自恢复,状态机是否会卡住。

可定位:定位手段是否添加全面、遇到故障,是否能够快速定位。

wKgaomS19GKAAPY_AAGVDtwT-A4277.png

1、可读性

代码是否容易阅读理解,需要注意代码格式、关键信号命令、尽量多添加注释。

代码格式:代码编写需要采用普遍的格式、如空格的插入、if else的位置放置、特别是复杂的逻辑判断,该断行的需要断行,该添加括号的地方添加括号。

信号命名:信号命名需要注意:如请求信号以req命令,响应信号ack,流控信号fc,信号命令需要通俗易懂,采用常见的缩写。

注释清晰:一定要多写注释,很多代码时间长了,自己都看不明白了,就算能看明白,也需要花费不少时间

2、功能达标

代码功能点是否全面。

各个功能是否能够正常实现。

各功能是否灵活可配置,如是否具有使能开关

3、性能达标

模块性能是否达标。设计是否已考虑各项性能指标,如数据通路常见的指标为BPS和PPS。

极限(最佳速率和最差速率)和正常场景下性能是否达标。

特殊包长场景是否已考虑。是否能够及时处理突发数据。

4、标准化

模块设计是否符合标准协议,如IEEE802.3 MAC 模块设计是否符合标准,PCIE 是否能够与其他厂商的PCIE进行对接传输数据,且与主机相关的各项能力结构能够与主机正常交互。如interlaken接口是否能够与FPGA的interlaken进行正常对接。

5、稳定性

代码的稳定性需要关注常见的spyglass lint cdc、跨时钟信号、代码是否能够自恢复。

常见spyglass lint检查:信号位宽是否匹配,技术是否会溢出、是否产生了latch等等

跨时钟:跨时钟的信号是否都进行了同步处理、单bit、多bit信号是否正确同步。电平单bit、多bit数据、单bit脉冲、复位信号的同步方式各不相同,是否都正确同步了。信号同步的max_delay 延时是否符合要求。

自恢复:异常情况下,模块是否能够自行恢复,当异常情况消失后,模块是否够能够正常工作。异常情况有:

1)不符合规定的信号输入:输入信号eop_in/sop_in/vld_in/error_in的有效状态有一定的规律,不符合规律的输入信号是否会导致模块无法正常处理后面正确的输入数据。

2)状态机没有响应:状态机跳转信号没有响应,是否会导致状态机卡死,无法跳转到IDLE状态。

3)关键信号异常跳变:偶发性强电磁反应导致的信号跳变是否会导致模块一直无法正常工作。

6、可定位

常见的定位手段是否添加全面,比如:各类统计计数、关键信号状态是否可读、中断信号添加是否全面。

统计计数:模块进入数据包多少,输出数据包多少。完成了多少次xx操作。

关键信号可读:状态机当前状态要求可读,关键信号要求可读

中断:fifo和ram的写溢出、空读、ECC、parity要求接入中断。

教你如何书写高质量的Verilog代码?

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

    关注

    28

    文章

    1326

    浏览量

    109302
  • 时钟
    +关注

    关注

    10

    文章

    1479

    浏览量

    130306
  • 编程
    +关注

    关注

    88

    文章

    3440

    浏览量

    92389
  • 中断
    +关注

    关注

    5

    文章

    884

    浏览量

    41023
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66767

原文标题:高质量的verilog代码是什么样的

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    何为高质量代码?如何写出高质量代码

    懂得“数据结构与算法” 写出高效的代码,懂得“设计模式”写出高质量代码
    发表于 08-02 09:44 454次阅读
    何为<b class='flag-5'>高质量</b>的<b class='flag-5'>代码</b>?如何写出<b class='flag-5'>高质量</b><b class='flag-5'>代码</b>?

    编写高质量C语言代码

    编写高质量C语言代码 编写高质量C语言代码 编写高质量C语言代码
    发表于 07-31 17:47

    Verilog代码书写规范

    Verilog代码书写规范 本规范的目的是提高书写代码的可读性、可修改性、可重用性,优化代码综合和仿真的结果,指导设计工程师使用
    发表于 04-15 09:47 106次下载

    Verilog代码覆盖率检查

    Verilog代码覆盖率检查是检查验证工作是否完全的重要方法,代码覆盖率(codecoverge)可以指示Verilog代码描述的功能有多少
    发表于 04-29 12:35 7945次阅读

    verilog_代码资料

    verilog_代码资料,非常实用的代码示例。
    发表于 02-18 15:00 36次下载

    verilog代码规范

    verilog代码规范,学会写代码还不行,我们需要更加的规范。
    发表于 03-25 14:43 24次下载

    8051 verilog代码

    8051 verilog代码分享,有需要的下来看看。
    发表于 05-24 09:45 0次下载

    Verilog 入门的实例代码

    Verilog 入门的实例代码,有需要的下来看看
    发表于 05-24 10:03 19次下载

    verilog_代码

    verilog_代码分享,有需要的朋友下来看看。
    发表于 05-24 10:03 11次下载

    Verilog HDL入门教程

    本文主要介绍了Verilog HDL 语言的一些基本知识,目的是使初学者能够迅速掌握HDL设计方法,初步了解并掌握Verilog HDL语言的基本要素,能够读懂简单的设计
    发表于 07-15 15:27 0次下载

    Verilog HDL入门教程

    本文主要介绍了Verilog HDL 语言的一些基本知识,目的是使初学者能够迅速掌握HDL 设计方法,初步了解并掌握Verilog HDL语言的基本要素,能够读懂简单的设计
    发表于 02-11 08:00 95次下载
    <b class='flag-5'>Verilog</b> HDL入门教程

    高质量Verilog代码有什么特点

    高质量verilog代码主要包含以下几个要素:可读性、功能、性能、标准化、稳定性、可定位。
    发表于 03-30 10:12 1802次阅读
    <b class='flag-5'>高质量</b><b class='flag-5'>Verilog</b><b class='flag-5'>代码</b>有什么特点

    8位串转并并转串verilog代码代码+testbeach文件

    8位串转并并转串verilog代码代码+testbeach文件(新星普德电源技术有限)-8位串转并,并转串verilog代码
    发表于 09-16 14:55 11次下载
    8位串转并并转串<b class='flag-5'>verilog</b><b class='flag-5'>代码</b><b class='flag-5'>代码</b>+testbeach文件

    什么样的Verilog代码风格是好的风格?

    代码是给别人和多年后的自己看的。 关于Verilog代码设计的一些风格和方法之前也写过一些Verilo
    的头像 发表于 10-24 15:23 1077次阅读

    如何使用参数化编写可重用的verilog代码

    我们将介绍如何使用verilog参数和generate语句来编写可重用的verilog 代码。 与大多数编程语言一样,我们应该尝试使尽可能多的代码可重用。这使我们能够减少未来项目
    的头像 发表于 05-11 15:59 710次阅读