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

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

3天内不再提示

讲一讲芯片设计中的verilog是什么

冬至子 来源:伟酱的芯片后端之路 作者:伟酱的芯片后端之 2023-12-04 13:52 次阅读

相信不少人都听过verilog这个词,今天我就想讲一讲我所理解的verilog是什么。

Verilog是一种硬件描述语言,它最基本的功能,就是把一份电路图用代码的形式表示出来,然后让计算机理解一份代码所对应的电路。

硬件描述语言有很多,现在主流的基本就是verilog,或者它的升级版systemverilog。之前上学的时候还接触过VHDL,但现在好像慢慢地没什么人在用了。

Verilog代码和C、Java这种计算机编程语言有本质的不同,verilog里基本所有写出来的东西都会对应实际的电路。

声明变量的时候如果指定是一个reg,那么这个变量就有寄存数值的功能,可以综合出来一个实际的寄存器;如果指定是一段wire,那么他就只能传递数据,只是表示一条线。

在verilog里写一个判断可能就对应了一个mux,写一个for可能就是把一段电路重复好几遍(这在电路设计中是不太实用的,for语句也好像只在systemverilog中才支持)。

最能体现电路设计思想的就是always块了,它可以指定某一个信号在某个值或某个跳变的时候执行块里的代码。

总之,前端工程师写verilog代码的目的,就是要对应出一个实际的电路出来,这个电路会完成我们期望的逻辑功能。

但是,人类写出来的verilog代码是高度抽象的,一般人甚至编码者自己也很难把一段verilog代码和实际的电路联系起来。

编码者在编写的时候更多的是关心信号的逻辑功能有没有错误,我们会看每一个关键信号的波形,确保输入输出一切正常。

至于哪里用了一个三输入与门或者两个二输入与门我们不会去关心。一般就把这些人类写出来的很抽象的代码叫做verilog RTL代码,RTL是register transition level。

RTL代码要翻译给机器看懂,还要经过synthesis(综合)这一步。这一步是tool完成的,它表示就把RTL变成最基本的逻辑门连接的形式,还是以verilog的格式写出来,一般我们就称综合后的verilog为网表文件,或者叫netlist。

综合的时候已经要开始考虑芯片PPA的性能了,要知道,一段逻辑相同的电路,可能有很多种实现方式。

比如说一个逻辑表达式可以写成与非的形式,也能写成或非形式,对应的电路可能就是与非门或者或非门。

而对于同一种电路,选用的cell可能也不一样,同样是一颗buffer,要选驱动能力多大的、开启电压选多大的等等也有很多讲究。

后端在拿到netlist就可以布局布线了,我们后端在做的时候netlist也不是会一成不变的,我们会在确保逻辑功能不变的前提下对netlist进行改动。

但是,改动之后必须要和改动前的netlist对比检查,确保没有改它的逻辑才行。

这一步有时候我们就会称为formal检查,formality就是一个可以用来做这种检查的工具,synopsys家的。实际上,前端在综合前后也会做类似的检查。

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

    关注

    31

    文章

    5308

    浏览量

    119975
  • 芯片设计
    +关注

    关注

    15

    文章

    1001

    浏览量

    54802
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109970
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    59692
收藏 人收藏

    评论

    相关推荐

    一讲的TCP三次握手和四次挥手

    如果你学过网络基础知识,那么你定对TCP三次握手不陌生。今天我想用通俗的话来给大家一讲TCP三次握手和四次挥手。毕竟,这个知识点在面试时被问到的概率很高!
    的头像 发表于 02-03 10:43 2676次阅读
    <b class='flag-5'>讲</b><b class='flag-5'>一讲</b>的TCP三次握手和四次挥手

    数采达人第一讲

    中科泛华教程,数采达人系列第一讲。要是资料对大家有帮助的话,就发余下的几讲出来,如果没什么帮助,那就算了。
    发表于 09-13 09:02

    高频功率磁性材料特性与应用(第一讲 +第二)

    高频功率磁性材料特性与应用(第一讲 +第二)
    发表于 05-04 08:49

    一讲嵌入式技术

    我们知道,要想让物体“开口”, 即具有通信与计算能力,必须要为其嵌入系统。下面就来讲一讲嵌入式技术。1. 嵌入式技术的发展过程阶段:以可编程控制器系统为核心的研究阶段嵌入式系统最初的应用是
    发表于 12-21 08:07

    一讲三大运营商的物联网卡选择哪个比较合适

    卡是走的公网流量,动态IP的那种好的物联网卡,而非那种定转非的垃圾卡。物联网卡挑选方法可见我上篇文章,这里就不再多。下面主要就讲一讲三大运营商的物联网卡选择哪个比较合适,仅仅代表个人观点,
    发表于 01-12 06:52

    一讲高级定时器的死区时间是怎么算出来的

    ,位DTG[7:0]控制(中文数据手册可能出现错误,应当是DTG)。  官方数据手册的说明不容易看懂,举的例子与我的应用场合也不致,我使用的是72MHz的晶振,一讲我的死区时间
    发表于 01-12 07:34

    简单一讲PCB Layout的设计要点

    如何进行合理的PCB布板设计呢?简单一讲PCB Layout的设计要点
    发表于 02-22 06:16

    一讲在FatFs文件系统下读取SD卡的该如何做

    1、前言上篇文章我讲述了在SDIO模式下读取SD卡,在文章最后说了需要注意的地方,同时也是裸机下利用SDIO模式的不足,今天给大家一讲在FatFs文件系统下读取SD卡的该如何做,以及相比于裸机下SDIO模式的优势。2、Fat
    发表于 03-02 07:08

    DAQ基础知识第一讲-视频教程

    DAQ基础知识第一讲-视频教程
    发表于 03-31 10:27 40次下载

    C程序设计概述 第一讲

    C程序设计概述 第一讲 学习要点:熟记C 语言的语法、句法学会算法分析与算法的设计本课重点:第 3 章~第6 章本课难点:第 4 章(函数)和第7 章(指针
    发表于 06-21 09:23 0次下载

    01_第一讲_SOC技术概述

    电子发烧友网站提供《01_第一讲_SOC技术概述.ppt》资料免费下载
    发表于 04-26 10:33 0次下载

    一讲单片机基础知识

    电子发烧友网站提供《第一讲单片机基础知识.pdf》资料免费下载
    发表于 04-18 10:41 6次下载

    一讲 现代EDA技术概述

    一讲 现代EDA技术概述。
    发表于 04-26 17:59 0次下载

    Verilog HDL应用程序设计实例精

    Verilog HDL应用程序设计实例精
    发表于 05-20 11:16 301次下载

    一讲_风电场与电网的连接

    一讲_风电场与电网的连接
    发表于 01-17 19:47 4次下载