美文网首页
Agile verification principles

Agile verification principles

作者: 云淡风清漫步游 | 来源:发表于2020-04-16 23:32 被阅读0次

    Challenges:

    按照摩尔定律18个月性能提升一倍,大概是五年设计复杂度和性能提升10倍。所以搭建Flow要着眼于5年的可持续发展过程,所以面对的挑战如下:

    1. Reduce time to develop and improve robustness & scalability

    目前验证层面的可复用性、可扩展性的考虑,特别是基于仿真的verification方式越来越受到计算能力无法快速扩充的限制。

    2. Reduce time to function verification and improve accuracy and throughput.

    云计算的引入对提高throughput,accuracy要验证你的测试case的有效性

    3. Reduce time to debug and improve quick turnaround.

    快速定位bug,特别是系统层软硬件联合测试场景下的bug是目前最头痛的一件事。

    4. Reduce time to “comprehensive” coverage.

    除功能的coverage,性能、功耗、可靠性、可测试性、安全性等一系列coverage要求,如何规范的流程中体现出来。

    从IC设计公司的组织管理角度,我个人反思最大的误区是,认为把一个设计划分为小的module之后,普通工程师用man-month就可以解决问题。要充分认识到IC设计是一个种创意性的智能工作,这类工作中超级员工的产出是普通工程师的成百上千倍(包含非直接可计量的产出,如清晰的结构对后期的易扩展性和易维护性,标准工作flow的建立,质量标准的把控,团队文化的确立。。。),给超级员工配置的资源和支持不足,是目前IC设计公司,特别是某些顶级公司效率低下的原因。

    短期可见的一系列Solutions:

    1. Improve the abstraction level to hide more implementation details   

        a. improve the re-usability   

        b. EDA tools get more potential space to do advanced optimization   

        c. more easy to be readable and maintained by human   

        d. less code lines and verification state space.

        e. ESL/TLM models for verification usage, VIP components for further usage

    2. Parameterization to make the key data path scalable

        a. manage the configuration and propagate and derive the "data width"

        b. auto integration tools to help quick CC testing

    3. more random cases generation to improve tests creation

    4. more assertion based to quick root-cause the issue

    5. Deploy well-thought-out hardware acceleration, emulation, or FPGA prototype methodologies.

    Verification reusable methodology:

    https://www.accellera.org/images/downloads/standards/pss/Portable_Test_Stimulus_Standard_v10a.pdf

    中长期验证和工程策略引发的思考:我们的验证怎么算是完成啦?

    一个有趣的IT行业的mind-set,面对系统的复杂度的不断提高的处理方式。

    在硬件的开发流程中,希望把很多任务事先定义清楚,虽然开发中有变动,但是变动不大,每个人在规定的时间内完成模块的就可以了,随着时间的推进任务越来越少。可是目前的开发已经变成了一个动态迭代的过程,无法定义一个清晰的静态版本,不断有新的需求和问题涌现,每个问题都要最高优先级的解决,无法把所有工作作完备。

    所以在这个大背景下,一个项目不应该盯着我的coverage到百分之几十,而应该把最重要的几项完成。

    项目的规划要善于找到最重要的工作,并优先完成。

    我们要主动的拥抱“产品一直迭代的未完成状态”,对于未完成的部分要通过安全的冗余或者隔离策略(可编程或reconfigurable的逻辑包容可能的变化部分,通过可编程性把复杂和变化推到软件端),保证最主要的部分。

    相关文章

      网友评论

          本文标题:Agile verification principles

          本文链接:https://www.haomeiwen.com/subject/amkqvctx.html