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家的。实际上,前端在综合前后也会做类似的检查。

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

    关注

    30

    文章

    5028

    浏览量

    117719
  • 芯片设计
    +关注

    关注

    15

    文章

    895

    浏览量

    54411
  • Verilog
    +关注

    关注

    28

    文章

    1326

    浏览量

    109302
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59064
收藏 人收藏

    评论

    相关推荐

    数采达人第一讲

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

    论坛组织FPGA讲座,看看你希望那些方面的内容

    筒子们,福利来了,热心网友@mallon_ml 愿意为大家做关于FPGA的讲座了。讲座时间:第一讲预定为本周六晚上讲座方式:为了照顾到大家都在不同的地方,讲座会以下几种方式:QQ群视频或YY语音或
    发表于 04-07 22:56

    高手支招,告别菜鸟 ——FPGA入门公益学习班全程4精彩...

    如下:第一讲:FPGA的发展背景与基础知识FPGA的典型应用及解决方案FPGA的设计流程与开发方法第二Verilog基本语法与设计方法Verilog系统设计原则与技巧
    发表于 04-10 10:50

    社团崛起之搞定51单片机(第一讲

    3月28日,协会在电子信息与电气工程学院仿真实验室开展《社团崛起之搞定51单片机(第一讲)》培训工作。
    发表于 03-29 21:12

    有没有整本书只个arm实例的,求推荐

    有没有整本书只个arm实例的,知识点贯穿在个实例,实例的实现的讲解特别仔细。现在的书都是就、都是一讲就十几个几十个,看到头,什么也没
    发表于 01-09 16:52

    ISSI公司的sram verilog model使用

    这句话屏蔽,均只能运行200ns,不知道怎么回事,波形图如图,estbench代码也如图,希望会的朋友可以一讲。。。。附件为sram芯片的仿真模型的verilog代码
    发表于 11-07 13:34

    请大神给我一讲DCM和CCM的在实际应用的作用

    本人是个刚刚初学电力电子的研究生,最近看了 fundamental of electronics power 这本书的前五章,看完第五章之后我就有点晕,要说DCM和CCM这两种模式的含义书上已经的很清楚,但是这两种模式 到底有什么实际的应用的问题
    发表于 11-18 15:22

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

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

    Verilog HDL相关应用程序设计实例精讲和经典黑金资料(入门教程+实例精+百例设计)

    Verilog HDL应用程序设计实例精v经典黑金资料(入门教程+实例精+百例设计)
    发表于 03-26 14:45

    一讲嵌入式技术

    我们知道,要想让物体“开口”, 即具有通信与计算能力,必须要为其嵌入系统。下面就来讲一讲嵌入式技术。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

    一讲generate的用法

    就适合本例程。下面我们先讲一讲generate的用法再结合代码简单讲解下,对于generate其实很好理解,只不过写出来比较难。generate用法关键字generate和endgenerate
    发表于 09-29 15:06