DC基础学习(五)Verilog语言结构到门级的映射1

2023-10-29

    Design Compiler(以下简称DC)是Synopsys公司用于做电路综合的核心工具,可以将HDL描述的电路转换为基于工艺库的门级网表。本系列主要介绍综合相关的知识以及DC工具的使用。


 

    Verilog编码效率的高低是综合后电路性能高低的决定性因素,两种不同风格的编码,即使它们所表达的逻辑功能一下,也会产生出大不一样的综合结果。就算综合工具运用的再好,也不能完全依赖它把一段编码很差的代码综合出一个像样的电路来。本节将通过大量的实例介绍综合时Verilog的各种语言结构(always、if、case、loop等等)到门级的映射。这些语言结构是在编写Verilog代码的时候经常用到的一些基本结构,希望通过分析他们与门级网表之间的对应关系,大家能够对什么样的语句能生成什么样的具体电路有个初步的认识。

    编写用于综合的HDL代码的三个原则:

①编写代码的时候注意代码综合后大概的硬件结构,不写不可综合的语句;

②编写代码的时候注意多用同步逻辑,并将异步和同步逻辑分开处理;

③编写代码的时候注意代码的抽象层次,多用RTL级的描述。

 

1、always语句的综合

    always语句用来描述电路的过程行为(procedural behavior), 表示当事件列表中的状态发生变化时,执行语句体中的语句。下面是一个包含过程赋值的always语句的例子。

图片

    电路综合后的网表如下图所示:

图片

    使用always语句描述组合电路要注意的是:在该语句中读入的所有变量都需要出现在事件列表中(对Verilog语言而言是指”@”符号之后的信号),否则可能会得不到用户期望的结果。

 

 

2、If语句的综合

    if 语句用于描述受条件控制的电路,下面是一个例子:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DC基础学习(五)Verilog语言结构到门级的映射1 的相关文章

  • 多处理器的基本概念

    SISD 单指令流单数据流 特性 各指令序列只能并发 不能并行 每条指令处理一两个数据 不是 数据级并行技术 硬件组成 一个处理器 一个主存储器 若采用指令流水线 需设置多个功能部件 采用多模块交叉存储器 SIMD 单指令流多数据流 特性
  • 使用较广泛的安全测试工具有哪些?

    使用较广泛的安全测试工具有哪些 安全测试是一个非常复杂的过程 安全测试所使用到的工具也非常多 而且种类不一 如漏洞扫描工具 端口扫描工具 抓包工具 渗透工具等 一 Web漏洞扫描工具 AppScan AppScan是IBM公司开发的一款We
  • mysql未开启binlog恢复数据_MYSQL bin_log 开启及数据恢复

    参考博客 A https www jianshu com p 55b0d52edca2 B https www cnblogs com martinzhang p 3454358 html C https www cnblogs com x
  • C语言-从txt文件中读取数据,忽略换行及回车

    long file size char filename FILE fp fopen filename r if fp return 1 fseek fp 0L SEEK END long size ftell fp fclose fp r
  • Mysql安装,控制台安装

    控制台安装要比exe方式安装简单很多 下载mysql 官网地址 mysql 解压下载的文件后 在生成的主目录里面创建一个my ini文件 文件内容如下 mysqld 端口号 port 3306 mysql安装目录 basedir C Pro
  • 步进电机S型曲线加速的实现

    之前做电机相关的项目比较少 最近有个项目涉及到步进电机的精确控制 参考了一些资料研究了一下S型曲线加减速 这里总结一下分享给大家 硬件是 STM32 驱动器 步进电机 STM32定时器输出PWM 控制驱动器来驱动步进电机 单片机只要控制电机
  • ROS系统上的单目相机标定步骤

    单目相机标定步骤 前置条件 已经安装完usb cam包 Git链接 已经安装完camera calibration包 安装了完整的ROS系统就有 可以通过下面的命令来检查 rosdep install camera calibration
  • 豆瓣Top250:Python爬虫+数据可视化

    文章目录 前言 数据爬取 测试类库 1 urllib request 获取网页HTML源代码 2 re 匹配HTML源代码 3 bs4 HTML XML的解析器 搜索文档树 CSS选择器 4 xlwt 解析出的数据保存到Excel 5 sq
  • python 读取pkl文件

    python 读取imdb full pkl文件 import cPickle as pickle f open D keras imdb full pkl info pickle load f print info show file
  • vue+electron 跨平台桌面应用开发实战教程

    一 创建项目 1 1 安装vue cli 先查看是否已经安装了vue cli vue cli的版本是什么 查看版本命令 vue version 如果版本叫老 可以直接卸载 再安装最新版本 卸载命令 npm uninstall vue cli
  • 最深情的告白——郁金香(Python实现)

    目录 1 最深情的告白 2 即兴赞之 2 1 李小白言郁金香 2 2 郁金香般的姑娘 2 3 荷兰的郁金香 3 Python代码实现 3 1 郁金香的芬芳 3 2 我俩绚丽多姿的风景 1 最深情的告白 曾经以为 她爱玫瑰 然后我画了好几种
  • Python简介、历史及优缺点

    Python是一种高级 解释型 面向对象的编程语言 它由Guido van Rossum于1989年在荷兰创造 并于1991年发布 Python的设计哲学强调代码的可读性和简洁性 它具有清晰简洁的语法 使得它易于学习和使用 Python的历
  • linux新建用户代码,Linux_用dsadd添加用户的代码,描述: 此工具命令将一些具体 - phpStudy...

    用dsadd添加用户的代码 描述 此工具命令将一些具体的对象类型添加到目录 dsadd 命令 dsadd computer 将计算机添加到目录 dsadd contact 将联系人添加到目录 dsadd group 将组添加到目录 dsad
  • DB2 import和load

    Import和Load 都可以将数据导入到DB2服务器中 但是2者是有很大区别的 Import 其实执行了SQL 的INSERT 操作 和INSERT 操作一样 Import 执行的时候会激活触发器 所有的约束会强制实现 而且会使用数据库的
  • Linux系统如何正确的关机、重启

    1 在使用Linux系统时 需要注意 linux系统可同时登陆多个账户使用 所以在关机和重启时都需要对每个登陆的账户进行数据保存 楼主在使用保存命令时为了防止出现保存失误 一般使用三个sync super localhost sync sy
  • Matlab求范数

    对 p 2 这称为弗罗贝尼乌斯范数 Frobenius norm 或希尔伯特 施密特范数 Hilbert Schmidt norm 不过后面这个术语通常只用于希尔伯特空间 这个范数可用不同的方式定义 这里 A 表示 A 的共轭转置 i 是
  • leetcode704. 二分查找

    给定一个 n 个元素有序的 升序 整型数组 nums 和一个目标值 target 写一个函数搜索 nums 中的 target 如果目标值存在返回下标 否则返回 1 示例 1 输入 nums 1 0 3 5 9 12 target 9输出

随机推荐

  • 计算机缺失d3dcompiler43.dll,电脑d3dcompiler43.dll文件丢失怎么解决?

    最近有很多小伙伴在使用win7系统的时候 遇到了系统提示d3dcompiler43 dll文件丢失的问题 那么 这个问题该怎么解决呢 这种文件的丢失一般影响到玩游戏 因为文件没有及时的更新 其实只要我们重新网上下载同一个该文件就可以了 下面
  • 编程的:23种设计模式

    color red 1 工厂模式 客户类和工厂类分开 消费者任何时候需要某种产品 只需向工厂请求即可 消费者无须修改就可以接纳新产品 缺点是当产品修改时 工厂类也要做相应的修改 如 如何创建及如何向客户端提供 color color gre
  • Ubuntu18.04配置darknet环境实现YOLOv4目标检测(五)——darknet YOLOv4和YOLOv4-tiny模型转ONNX转TensorRT部署

    文章目录 1 github开源代码 2 darknet模型转ONNX模型 3 ONNX模型转TensorRT模型 3 1 概述 3 2 编译 3 3 运行 4 推理结果 1 github开源代码 开源代码位置在这里 darknet转ONNX
  • 基于Qt的OpenGL编程(3.x以上GLSL可编程管线版)---(一)简介

    笔者写的这个教程集 是一项带引号的 翻译 类教程 Joey De Vries 的现代OpenGL教程是我看过最好的图形学教程 没有之一 这是教程地址https learnopengl cn github io 01 20Getting 20
  • Polyman 初使用-01

    软件安装很easy 不赘述 启动软件 打开 edf文件 左侧是不同的通道名称 每页是一个epoch 也就是 30s 左下角的三角可以翻页 速度有点慢 我们可以拖动右上方方框里的白色竖条进行时间拉伸 红色填充是每个阶段的标签 这个是额外引入的
  • 由于您访问的url有可能对网站造成安全威胁_Web常见安全漏洞-XSS攻击

    XSS攻击 跨站脚本攻击 Cross Site Scripting 为了不和层叠样式表 Cascading Style Sheets CSS 的缩写混淆 故将跨站脚本攻击缩写为XSS XSS是一种常见的web安全漏洞 它允许攻击者将恶意代码
  • 区块链风暴来袭,这五大行业将受到强烈冲击

    自从第一枚比特币诞生以来 加密货币就代表了经济实现重大飞跃的一次机会 尽管比特币出现了 没有中心化的机构 并且成为了传统货币的数字化选择 驱动加密货币运作的底层计算机协议则是从之后才被认为具备大量其他的应用场景 从分布式账本的不可更改性到加
  • salt-key收集的主机名与实际主机名不一致

    salt key收集的主机名与实际主机名不一致 一 问题背景 root host 39 108 217 12 minions salt key L iZbp150ikdomqe3b32qaubZ izwz9f8xrvty50quc2gq50
  • Redhat6.5安装vnc服务远程桌面

    环境 操作系统 Redhat6 5 已安装桌面 远程工具 Xshell6 VNC服务 可以远程将桌面输出 tigervnc tigervnc server ssh远程到服务器之后 yum安装tigervnc tigervnc server
  • CKA认证题型解析

    文章目录 0 前言 1 RBAC 授权 2 节点设置不可用 3 升级 K8s 版本 注意 4 etcd 备份与恢复 5 网络策略 查看官网 NetworkPolicy 6 SVC 暴露应用 7 Ingress 查看官网 ingress 8
  • unix环境高级编程——进程间通信之管道

    本期主题 unix环境高级编程 进程间通信之管道 管道 1 什么是管道 1 定义 2 管道的局限性 2 进程管道 1 popen和pclose 2 使用popen的弊端 3 pipe函数 1 单进程管道通信 2 跨越fork调用的管道 4
  • 数字证书简介

    1 为什么 在说清楚数字证书是什么之前 先要搞清楚为什么要有数字证书 或者说数字证书的出现是为了解决什么问题 请看以下通信流程 1 1 使用数字签名技术防止信息伪造 1 1 1 发送明文信息 小灰灰给懒羊羊发了一条信息 约懒羊羊去玩 1 1
  • 自行获取区域经纬度的工具

    摘要 上一章教大家如何建立自己的行政区域地图 这次为大家提供一个 可视化选择区域 并且能自动生成经纬度代码的工具 工具的源代码完全公开 并且做了详尽的注释 可以单纯做为一个工具 也可做为百度地图API的学习案例 工具说明 1 开关可以控制
  • substring的常用两个方法

    概述 1 substring是用来截取字符串的 根据参数的个数不同 方法含义也不同 2 substring 0 2 这个只含开头不含结尾 因此截取是截取两个字符 从第一个到第二个字符 不包含第三个 3 substring 2 这个表示截掉前
  • javaweb-30:smbms项目搭建

    SMBMS 数据库 sql脚本 通过sqlyog图形化界面操作 在历史记录中对应相应的sql 表的引擎默认为InnoDB 字符集和核对默认和数据库一致 CREATE DATABASE smbms CHARACTER SET utf8 COL
  • java堆外内存泄漏分析排查

    JAVA堆外内存分析 文章目录 JAVA堆外内存分析 1 前言 2 准备 3 具体分析 3 1堆外溢出风险判断 3 1 1确认java进程号 3 1 2查看此java进程的jvm参数 3 1 3查看java进程的大概内存占用情况 3 1 4
  • bug: tab 标签页界面切换导致echarts图表默认宽度100px的问题

    bug tab 标签页界面切换导致echarts图表默认宽度100px的问题 最近在bootstrap中使用echarts 本来在一个页面显示全部图表时是正常的 后面使用tab标签页界面切换不同表格时碰到的一个echarts bug tab
  • 【CSDN开发云】光速认识Cloud IDE

    个人格言 时间是亳不留情的 它真使人在自己制造的镜子里照见自己的真相 Git专栏 Git篇 你的一键三连是对我的最大支持 CSDN最新产品 云IDE 来啦 云IDE 将为各位技术er一键秒级构建云开发环境 提升开发效率 为持续提升产品体验
  • javaScript数组方法记录——持续补充

    javaScript数组方法记录 将平时用到的或者可能用到的记录一下 有助于加深记忆 查找起来也方便 concat concat 方法用于 连接 两个或者多个 数组 会返回合并数组之后的数据 不会改变原来的数组 let a 张三 李四 赵五
  • DC基础学习(五)Verilog语言结构到门级的映射1

    Design Compiler 以下简称DC 是Synopsys公司用于做电路综合的核心工具 可以将HDL描述的电路转换为基于工艺库的门级网表 本系列主要介绍综合相关的知识以及DC工具的使用 Verilog编码效率的高低是综合后电路性能高低