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

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

3天内不再提示

景芯SoC的Spyglass检查

全栈芯片工程师 来源:全栈芯片工程师 2023-08-15 09:45 次阅读

作为IC设计人员,熟练掌握数字前端语法检查工具Spyglass的重要性不言而喻,本文讲解景芯SoC的Spyglass检查。

启动Spyglass软件:spyglass &

d535058e-3aa0-11ee-9e74-dac502259ad0.png

点击左边Add File(s):

d55cd5fa-3aa0-11ee-9e74-dac502259ad0.png

将.v文件通过rtl.f统一添加,如下图,点击OK:

d59d8154-3aa0-11ee-9e74-dac502259ad0.png

或者通过命令添加:

sg_shell> read_file -type sourcelist mcu_rtl_for_sim.f

设置顶层,选中下图左边Set Options,手动设置Value为digital_top.v,这里我们留一个bug,后面看得到。

d5bb332a-3aa0-11ee-9e74-dac502259ad0.png

或者通过命令添加:

sg_shell> set_option top digital_top.v

我们也可以默认缺省顶层文件,此处,我们暂时不用remove_option top命令,注意刚才我们留了一个bug。

sg_shell> remove_option top

点击Read Design,

d5e03c92-3aa0-11ee-9e74-dac502259ad0.png

选择SynthesizeNetlist,在读入设计的同时进行综合

d62c7e36-3aa0-11ee-9e74-dac502259ad0.png

点击Run Design Read:

d656544a-3aa0-11ee-9e74-dac502259ad0.png

读取完成发现:

top 'digital_top.v' : Design unit not found in the design

d69c247a-3aa0-11ee-9e74-dac502259ad0.png

bug来了,什么问题呢?找不到Design unit, 这是培训的同学经常发生的错误,顶层是指module名,不是module文件名。如下图所示:

也就是说设置Top level Design Unit的value为DIGITAL_TOP, 而不是digital_top.v。

d6bc8e7c-3aa0-11ee-9e74-dac502259ad0.png

再次Run Read Design,如下图,读取成功。

d6dd3b5e-3aa0-11ee-9e74-dac502259ad0.png

接着,设置Goal Setup:

d7087724-3aa0-11ee-9e74-dac502259ad0.png

首先选中lint,我们先看lint, 点击Run Goal:

d744a0aa-3aa0-11ee-9e74-dac502259ad0.png

运行得到结果如下,我们开始逐一解析错误的原因,并给出RTL修改办法,具体参见知识星球。

d759faf4-3aa0-11ee-9e74-dac502259ad0.png

在看到一条条lint Warning信息后,怎么才能更清晰地知道warning的具体原因呢?告诉你一个好习惯!

Spyglass的Analyze Results默认GUI界面如下,

d7834bc0-3aa0-11ee-9e74-dac502259ad0.png

我们通过View-> Windows -> Help Viewer 来查看SolvNet对每个RTL lint warning类型的解释。

d800e5bc-3aa0-11ee-9e74-dac502259ad0.png

d8160c4e-3aa0-11ee-9e74-dac502259ad0.png

举个例子:

W528 : A signal or variable is set but never read

W528是Warning类型,说一个信号或者变量没有负载。

举个例子:

信号bigbus在第一个assign statement中被赋值了256bit位宽,但是在第二个assign statement中,bigbus仅128 bits (2**(13-7+1) 或者 2**(6-0+1)) 会被选择。因此,W528 的warning message就会出现。

module test1 (a, b);
  input [13:0] a;
  output [1:0] b;
  wire [255:0] bigbus;
assignbigbus={{16{4'h0}},{16{4'h0}},{16{4'h0}},{16{4'h0}}};
assign b={bigbus[a[13:7]],bigbus[a[6:0]]};
endmodule

那么上面代码应该怎么修改才能避免这个warning message呢?答案参见全栈芯片工程师】知识星球。

【全网唯一】景芯SoC是一款低功耗ISP图像处理SoC,采用低功耗RISC-V处理器,内置ITCM SRAM、DTCM SRAM,集成包括MIPI、ISP、CNN、QSPI、UARTI2C、GPIO、百兆以太网等IP,采用SMIC40工艺设计流片。d85f7b72-3aa0-11ee-9e74-dac502259ad0.png

培训数据包括SoC前端设计、DFT设计、低功耗UPF设计、布局布线,提供服务器供大家实践!带你从算法、前端、DFT到后端全流程参与SoC项目设计。更多内容,请报名登录服务器实践,工程数据分割为如下三个部分。

一键式完成C代码编译、仿真、综合、DFT插入、形式验证、布局布线、寄生参数抽取、PT分析、DRC/LVS、后仿真、形式验证、功耗分析等全流程。V1.0工程仿真如下。

d8d207b4-3aa0-11ee-9e74-dac502259ad0.png

SoC一键式执行flow

d8f541ac-3aa0-11ee-9e74-dac502259ad0.png

MIPI设计

d8fe8000-3aa0-11ee-9e74-dac502259ad0.png

ISP图像处理

dpc - 坏点校正

blc - 黑电平校正

bnr - 拜耳降噪

dgain - 数字增益

demosaic - 去马赛克

wb - 白平衡增益

ccm - 色彩校正矩阵

csc - 色彩空间转换 (基于整数优化的RGB2YUV转换公式)

gamma - Gamma校正 (对亮度基于查表的Gamma校正)

ee - 边缘增强

stat_ae - 自动曝光统计

stat_awb - 自动白平衡统计

仿真结果:

CNN图像识别

d99d9b90-3aa0-11ee-9e74-dac502259ad0.png

支持手写数字的AI识别:

d9a626b6-3aa0-11ee-9e74-dac502259ad0.png

仿真结果:仿真识别上图7、2、1、0、4、1、4、9

d9bb2d40-3aa0-11ee-9e74-dac502259ad0.png

UPF低功耗设计

支持UPF低功耗设计(含DFT设计):

d9d4b292-3aa0-11ee-9e74-dac502259ad0.png

CPU启动指令分析

d9da47a2-3aa0-11ee-9e74-dac502259ad0.png

审核编辑:汤梓红

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

    关注

    38

    文章

    1292

    浏览量

    103807
  • soc
    soc
    +关注

    关注

    38

    文章

    4129

    浏览量

    217996
  • 命令
    +关注

    关注

    5

    文章

    679

    浏览量

    22000

原文标题:Spyglass检查(一)

文章出处:【微信号:全栈芯片工程师,微信公众号:全栈芯片工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    重庆电感供应/锰共模电感-谷电子

    工程师绕制了两款不同材质的共模电感给客户寄过去。一款是锰材质,一款是镍材质。对于急需电感的客户,谷会配合客户的时间,加急赶制,在两天内,就给客户寄过去了。客户从很多电感厂家中选
    发表于 06-09 10:01

    重庆电感器厂家/锰共模电感器-谷电子

    工程师绕制了两款不同材质的共模电感给客户寄过去。一款是锰材质,一款是镍材质。对于急需电感的客户,谷会配合客户的时间,加急赶制,在两天内,就给客户寄过去了。客户从很多电感厂家中选择了谷
    发表于 07-29 11:31

    分享一些语法检查的工具

    1DVD(对RTL以及Netlist进行语法检查的工具)Atrenta SpyGlass vL-2016.06 Linux64 1DVDAtrenta.SpyGlass.v5.4.1.SP1.Linux64 1CDAtrent
    发表于 07-12 07:41

    SOC、MCU工作不起来要检查哪些硬件问题

    嵌入式软件工程师一般不考硬件题目,但是有一道题却是经常考的。SOC、MCU工作不起来要检查哪些硬件问题?答案:1、电源2、时钟3、复位电路
    发表于 12-21 07:43

    成科创板首个EDA公司?

    近日,北京软件技术股份有限公司(以下简称“”)的科创板上市申请被受理。公司的主营业务为依托自主开发的电子设计自动化(EDA)软件,开展集成电路分析服务和设计服务。
    发表于 02-12 09:52 1788次阅读

    EDA厂商终止深交所主板IPO

           北京软件技术股份有限公司主营业务是依托自主开发的电子设计自动化EDA软件,开展集成电路分析服务和设计服务。 此前计划是在科创板上市,后来主动撤回科创板上市。并
    的头像 发表于 12-07 16:32 2885次阅读

    详解Spyglass使用(一)

    作为IC设计人员,熟练掌握数字前端语法检查工具Spyglass的重要性不言而喻,本文手把手教你学习Spyglass工具。
    的头像 发表于 12-28 09:27 6003次阅读

    详解Spyglass使用(二)

    接着上文继续聊,详解Spyglass使用(一),在看到一条条lint Warning信息后,怎么才能更清晰地知道warning的具体原因呢?告诉你一个好习惯!
    的头像 发表于 12-29 09:16 4969次阅读

    手把手教你学习Spyglass工具

    作为IC设计人员,熟练掌握数字前端语法检查工具Spyglass的重要性不言而喻,本文手把手教你学习Spyglass工具。
    的头像 发表于 04-03 10:46 2758次阅读

    SoC项目之DFT debug

    SoC项目是个付费培训项目,项目数据在服务器上。SoC在tessent完成edt occ
    的头像 发表于 08-09 10:11 2111次阅读
    <b class='flag-5'>景</b><b class='flag-5'>芯</b><b class='flag-5'>SoC</b>项目之DFT debug

    如何在SpyGlass环境本身中修复这些Lint错误呢?

    我们将分析 lint目标运行期间产生的违规行为。我们可以使用 SpyGlass GUI 中的各种调试工具来了解违规
    的头像 发表于 08-14 10:08 3020次阅读
    如何在<b class='flag-5'>SpyGlass</b>环境本身中修复这些Lint错误呢?

    SoC/MCU v2.0重磅升级!9.1号涨价了

    SoC集成了大型IP,一次仿真时间就是1.5小时起步,DFT、DC、PR就需要超过24小时的run time了,大部分学员耗不起这个时间。为了加速flow,暂时去掉大型IP,我们只需关注和理解设计的核心要素。
    的头像 发表于 09-01 15:12 1956次阅读
    <b class='flag-5'>景</b><b class='flag-5'>芯</b><b class='flag-5'>SoC</b>/MCU v2.0重磅升级!9.1号涨价了

    怎么检查SoC的低功耗power domain有没有错误?

    bind 检查power domain的library binding情况,也就是检查是否所有的cell 都被link 到了对应的库上
    的头像 发表于 09-15 09:28 792次阅读

    SpyGlass®Lint Turbo结构用户指南

    电子发烧友网站提供《SpyGlass®Lint Turbo结构用户指南.pdf》资料免费下载
    发表于 12-21 09:48 0次下载

    科普电感磁发热的解决办法

    科普电感磁发热的解决办法编辑:谷电子电感磁发热是电感产品中的常见问题,它可能影响电感的的性能和可靠性。解决电感磁发热的方法多种多
    发表于 11-13 22:58 0次下载