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

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

3天内不再提示

浅析FPGA规范化的重要性

DIri_ALIFPGA 来源:未知 作者:胡薇 2018-10-09 11:10 次阅读

很多人认为,IC/FPGA属于设计范畴。设计是一个需要设计师自由创作的过程,怎么可能被一些条条框框所局限呢?其实,设计规范化与自由创作之间没有任何矛盾。它只是制约了那些可能出错或者低效的行为,令设计思路更加明朗、设计效率得到提高、设计质量充分保证。还有人认为,目前在IC/FPGA设计方面,并没有类似工业ISO质量管理体系的国际通用标准规范体系,到底有没有这样的规范呢?

其实这是一个创造、发展、完善、规范的过程。比如ISO,就是在现代工业发展很多年后,才建立并逐步完善起来,又经过一段时间才大规模的推广使用。相比较之下,FPGA,甚至整个IT产业,都还属于正处于高速发展期,尚未完全成熟。其二,任何大型国际通用规范体系的雏形,都是由一些企业内部规范、行业内部规范逐步整合发展而成。目前有少量企业、研究所都有其相应的标准,成为通用规范需要一个过程。

来看一份计数器规范:

逐一考虑初值、加1条件、结束值三要素,且初值必须为0;

使用某一计数值,须同时满足加1条件;

结束条件必须同时满足加1条件,且结束值必须是结束值-1形式(计数是从0开始的);

取某个数时,assign形式必须为:(加1条件)&&(cnt==计数值-1);

每轮计数周期结束,计数器必须归0;

若要限定范围,推荐>=和<两种符号;

先写always段,条件用名字代替;再assign写加1条件;最后assign写结束条件;

加1条件必须与计数器严格对齐,其它信号一律向计数器对齐;

命名规范。如:add_cnt表示加1条件;end_cnt表示结束条件。

在实际设计中,考虑边界值通常要认真思考,而且很容易出错。在这条规则中,需要限定范围推荐使用“>=”和“<”两种符号。这里严格限制一定是“大于或等于”和“小于”,而不能用“大于”“小于或等于”。如要取前8位数,就取cnt>=0 && cnt<8。

该规则参考编程里的for循环语句。假如要循环8次,for循环的条件通常写成“i=0;i<8;i++”,前面的0表示开始值,后面的8表示循环次数。当然,也可以写成“i=0;i<=7;i++”,但是这些数字的意义令人费解。尽管7是从8-1得来,但是多一个-1的思考,完全是画蛇添足。代码不够简明,而且容易出现混乱。

在这份规范中,每一条原则都有其内在的原因,是从实际工作中凝练而出的,可以用于指导以后工作中通用需求的依据。

规范的意义不止于此,更重要的是对于学习者而言是一条捷径。在初期,不必过多的去纠结其原因,也就是说你不必去想“规则是怎么来的”,只需要按照规则要求去做,即可避免自己慢慢摸索所需要走的弯路。至于规则的原理,在长期的使用中慢慢就会理解并体会。按照正确的方法在实际中运用,接着在实际工作中反过来加深理解。这是“在战争中学习战争”的精髓。

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

    关注

    1629

    文章

    21736

    浏览量

    603202

原文标题:FPGA规范化的重要性

文章出处:【微信号:ALIFPGA,微信公众号:FPGA极客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    求助,ADC接地的重要性

    ADC接地的重要性
    发表于 06-04 07:56

    工器具规范化使用

      电力企业安全工器具规范化操作指导系统 一、系统概述    对电力生产人员来说,了解各种安全工器具的性能和用途,正确掌握它们
    发表于 11-18 14:02

    代码规范重要性是什么

    论代码规范重要性
    发表于 05-19 13:07

    使用ODDR原语的重要性是什么?

    你好我将virtex5 LX50与具有应根据standardEIA / TIA-644 LVDS规范终止的输出数据的设备连接起来我在用着IBUFDS用于将输入LVDS转换为LVTTL,OBUFDS用于输出信号和时钟这是这样做的正确方法为此目的使用ODDR原语的重要性是什么
    发表于 06-17 14:59

    什么是网络拓扑,它的重要性是什么?

    什么是网络拓扑,它的重要性是什么?
    发表于 03-17 06:50

    时钟服务器的重要性是什么?

    时钟服务器的重要性是什么?
    发表于 11-08 08:31

    UPS的重要性

    中心机房的UPS太重要了,前不久就出现过停电坏了一个磁盘陈列硬盘的事故,一个2T的硬盘坏了,还好有一个备用的硬盘使用,否则磁盘陈列里的资料就岌岌可危了。服务器多了,UPS的重要性尤其重要,学校周边
    发表于 11-16 09:09

    arm汇编的重要性是什么?

    arm汇编的重要性是什么?
    发表于 11-30 08:03

    POE浪涌保护的重要性是什么?

    POE浪涌保护的重要性是什么?
    发表于 01-14 06:07

    代码规范化如何学习,单片机也要求规范化吗?

    代码规范化如何学习,单片机也要求规范化么?
    发表于 10-12 07:19

    LabVIEW FPGA重要性及应用

    内容包括:LabVIEW嵌入式产品族,FPGA技术,FPGA在系统中的重要性,简化的FPGA范例,图形
    的头像 发表于 06-25 13:01 4607次阅读
    LabVIEW <b class='flag-5'>FPGA</b> 的<b class='flag-5'>重要性</b>及应用

    数据库-关系规范化的详细资料介绍,为什么要对进行关系的规范化

    对关系的规范化是改造关系模式过程,首先,根据一组不同级别的范式判定关系的规范化程度,确定不正常的数据依赖关系,通过模式分解将一个低一级范式的关系模式,转换为若干个高一级的范式的关系模式的集合,消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。
    发表于 09-05 14:26 5次下载
    数据库-关系<b class='flag-5'>规范化</b>的详细资料介绍,为什么要对进行关系的<b class='flag-5'>规范化</b>?

    怎么样才能让Java代码编写更规范化

    cars? 忘川如斯,拥有一切的人才更怕失去。 背景:如何更规范化编写Java 代码的重要性想必毋需多言,其中最重要的几点当属提高代码性能、使代码远离Bug、令代码更优雅。 一、MyBatis 不要为了多个查询条件而写 1 =
    的头像 发表于 08-27 09:31 3675次阅读

    使用NVIDIA NeMo进行文本规范化和反向文本规范化

    文本规范化( TN )将文本从书面形式转换为口头形式,是文本到语音( TTS )之前的一个重要预处理步骤。 TN 确保 TTS 可以处理所有输入文本,而不会跳过未知符号。例如,“ 123 美元”转换为“一百二十三美元”
    的头像 发表于 10-11 11:41 2097次阅读
    使用NVIDIA NeMo进行文本<b class='flag-5'>规范化</b>和反向文本<b class='flag-5'>规范化</b>

    论硬件开发过程中开发文档规范化重要性

    硬件开发的标准是公司管理过程中的重要组成部分,它离不开硬件开发文档的规范化,很多公司并不了解开发文档的重要性,容易将其忽视。沐渥科技认为一个项目开发完成后,还有着漫长的生命周期、售后
    的头像 发表于 11-28 19:29 840次阅读
    论硬件开发过程中开发文档<b class='flag-5'>规范化</b>的<b class='flag-5'>重要性</b>