RTL代码分析思路(这里不进行具体代码的分析)

verilog文件是以.v结尾的

1 RTL代码示例

//Date        :  2023-01-09
//E-mail : xxxxxx@163.com
//copyright : xxxx
//------------------------------------------------------------------------------- //module header may includes:
//module name,port,direction,port width and port types module AndOr {
output X,Y,
input A,B,C
}; assign #10 X = A & B;
assign #10 Y = B | C;
endmodule
  • RTL中有内建的and or 一般写& |

2 使用Makefile进行仿真

Makefile是一个脚本,简单理解为将仿真使用的命令放到脚本中,方便执行

all:compile simulate

compile:
vcs -sverilog -debug_all -timescale=1np/1ps full_adder.v full_adder_tb.v -l com.lg simulate:
.simv -l sim.log clean:
@rm -rf csrc DVEfiles simv simv.daidir ucli.key VCS*
@rm -rf *.log *.vpd *.svf *.SDF *Synth *Netlist*
@rm -rf alib-52

make all就会执行all下面的complie和simulate

生成sim.og文件

使用 dve查看波形文件

// & 后台运行dve
dve &



设计人员也需要会部分验证

3 进行逻辑综合

3.1 tcl脚本的方式进行逻辑综合

//在linux中使用脚本进行综合
dc_shell -f xxx.tcl
//自动调用design compiler进行综合
  • 延时信息--#5 是不可综合的

3.2 使用GUI界面方式进行逻辑综合

//调出design compiler的界面工具
design_vision &



详细的过程不在这里进行详细叙述

通过逻辑综合可以看到RTL变成的具体电路

4 一些问题:

  • 设计人员需要掌握verilog的testbench,掌握初级的验证
  • VCS使用的比较多,使用不同的仿真工具只需要改变工具
  • 正常开发的时候通常使用脚本的方式进行仿真和综合,公司中的脚本设计比较完善,就可以直接跑
  • 脚本虽好,但是仍然需要进行了解其中的原理
  • verdi优点,大型芯片的效率比较高
  • 前端设计人员Coding能力和Debug能力,工具使用比较简单
  • RTL code在release之前需要进行检查
  • 芯片设计人员需要掌握常用的EDA工具

02-RTL代码分析思路的更多相关文章

  1. 20155301 Exp4 恶意代码分析

    20155301 Exp4 恶意代码分析 实践目标 (1) 是监控你自己系统的运行状态,看有没有可疑的程序在运行. (2) 是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用 ...

  2. .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量

    随着团队越来越多,越来越大,需求更迭越来越快,每天提交的代码变更由原先的2位数,暴涨到3位数,每天几百次代码Check In,补丁提交,大量的代码审查消耗了大量的资源投入. 如何确保提交代码的质量和提 ...

  3. 贪吃蛇的java代码分析(三)

    代码剖析 在上一篇文章中,我们完成了贪吃蛇部分代码的构造.回头审视我们写的代码与思路,会发现我们遗漏了一个重要的地方,那就是:贪吃蛇的自身移动.想必大家都知道,贪吃蛇自身是会自己移动的,并且会跟随你的 ...

  4. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  5. angular代码分析之异常日志设计

    angular代码分析之异常日志设计 错误异常是面向对象开发中的记录提示程序执行问题的一种重要机制,在程序执行发生问题的条件下,异常会在中断程序执行,同时会沿着代码的执行路径一步一步的向上抛出异常,最 ...

  6. Linux内核中的GPIO系统之(3):pin controller driver代码分析

    一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datash ...

  7. MTK6589下传感器框架结构和代码分析以及传感器的参数指标

    MTK6589下传感器框架结构和代码分析以及传感器的参数指标 作者:韩炜彬  中国当代著名嵌入式研究专家 一.      模块框架 1)配置 路径:Alps/mediatek/config/$(pro ...

  8. Linux时间子系统之(十七):ARM generic timer驱动代码分析

    专题文档汇总目录 Notes:ARM平台Clock/Timer架构:System counter.Timer以及两者之间关系:Per cpu timer通过CP15访问,System counter通 ...

  9. 20165223《网络对抗技术》Exp4 恶意代码分析

    目录 -- 恶意代码分析 恶意代码分析说明 实验任务目标 实验内容概述 schtasks命令使用 实验内容 系统运行监控 恶意软件分析 静态分析 virscan分析和VirusTotal分析 PEiD ...

  10. Exp4 恶意代码分析

    一.原理与实践说明 1. 实践目标 1.1 监控你自己系统的运行状态,看有没有可疑的程序在运行. 1.2 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysin ...

随机推荐

  1. JUC(2)使用condition实现精准通知唤醒

    package com.orderPC; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks. ...

  2. Silky微服务框架之服务引擎

    构建服务引擎 在注册Silky微服务应用一节中,我们了解到在ConfigureServices阶段,通过IServiceCollection的扩展方法AddSilkyServices<T> ...

  3. 研发效能|DevOps 已死平台工程永存带来的焦虑

    最近某位大神在推特上发了一个帖子,结果引来了国内众多卖课机构.培训机构的狂欢,开始贩卖焦虑,其实「平台工程」也不是什么特别高深莫测的东西.闲得无聊,把这位大神的几个帖子薅了下来,你看过之后就会觉得没啥 ...

  4. 死磕Java面试系列:深拷贝与浅拷贝的实现原理

    深拷贝与浅拷贝的问题,也是面试中的常客.虽然大家都知道两者表现形式不同点在哪里,但是很少去深究其底层原理,也不知道怎么才能优雅的实现一个深拷贝.其实工作中也常常需要实现深拷贝,今天一灯就带大家一块深入 ...

  5. Karmada大规模测试报告发布:突破100倍集群规模

    摘要:在本文中,我们将介绍用于测试的相关指标,如何进行大规模测试,以及我们如何实现大规模的集群接入. 本文分享自华为云社区<突破100倍集群规模!Karmada大规模测试报告发布>,作者: ...

  6. Byte和byte的区别

    Byte和byte的区别 背景 今天学习网络编程中,在建立Udp连接时,使用byte[]数组接收传输的数据,但是byte[]错写为Byte[],导致错误.    //接收数据:         Byt ...

  7. LAL v0.32.0发布,更好的支持纯视频流

    Go语言流媒体开源项目 LAL 今天发布了v0.32.0版本.距离上个版本刚好一个月时间,LAL 依然保持着高效迭代的状态. LAL 项目地址:https://github.com/q19120177 ...

  8. MongoDB导入导出备份数据

    需要提前安装mongodb-database-tools参考:centos离线安装mongodb-database-tools 导出数据 常用的导出有两种:mongodump和mongoexport, ...

  9. AR手势识别交互,让应用更加“得心应手”

    现如今, AR技术不断发展,人们不再满足于运用键盘.鼠标等简单器械来实现传统的人机交互模式.随着用户接触机器的多样化,繁琐的操作不但对一些用户有门槛,而且还增加其学习成本:如果能用自然且符合日常生活习 ...

  10. Linux配置ipv6脚本

    #!/bin/bash REMOTE_IP6="2001:da8:900c:eeee:0:5efe" REMOTE_IP4="" #填你自己学校的路由隧道的ip ...