轻松成为设计高手

2023-11-04

目录

 

2、Verilog语言基础   

   2.1、三种描述方法

     


 

2、Verilog语言基础   

   2.1、三种描述方法

             1)数据流描述:assign连续赋值语句

             2)行为描述:过程赋值语句,always和initial过程块

             3)结构化描述:实例化已有的功能模块

     逻辑值:net型如果没有赋初始值,其值为高阻;reg型没有初始化,其值为x。这一点在仿真时verdi软件看出来。

变量的物理含义:

1)线网变量:通常用在连续赋值中,可以理解为时电路中的连线,一根导线

2)reg变量:并不能严格对应于电路中的存储单元(触发器或者锁存器)。寄存器类型存的值,是从一个赋值到下次赋值的值都被保存,并且在仿真过程中会保持而不会丢失。

这些是一直以来我们对这两个变量的理解,但是从仿真器的角度或者说从verilog语法的发明者来说说这两个变量:reg型变量是占用仿真环境的物理内存的,寄存器被赋值之后就一直保存物理内存中,并且保持该值不变,知道下一次对该寄存器变量进行赋值。而线网类型实际上是不占仿真内存的,它的值是由当前驱动他的变量决定的(可以理解是每个time都在计算这个wire型变量值)。

因此:所谓reg并不指示能综合成电路上的寄存器,而是指示这个变量占用实际的物理内存。但是在D触发器建模的时候必须用reg型的变量。

(实际电路-------实际物理内存)

驱动和赋值:

驱动:线网是被驱动的,该值不会被保持,在任意一个仿真步进上都需要重新计算。

赋值:寄存器是被复制的,并且在仿真过程中,该值会被保持,直到下一个赋值的出现

3、描述方式和设计层次

数据流描述:连续assign语句,信号经过组合逻辑类似数据的移动,信号从输入流向输出,信号不会存储,会实时影响。

1)连续驱动:任何时刻的输入都会影响输出

2)只有线网类型能够在assign中赋值,线网类型可以多驱,而寄存器不允许被多驱。

3)并行性:所有assign语句进程是并发的。

高级编程语句:

1)if else

从上到下逐条检查。具有优先级顺序,如果sela是关键路径的话,利用这样的优先级编码提高设计的性能,逻辑中的级数要明显少一些。(为什么需要组合逻辑的级数少一些?)学习以下if-else会综合成什么?

 

 4、RTL概念与常用RTL建模   

作者推荐的设计步骤

1)功能定义和模块划分

2)定义所有模块的接口

3)设计的时钟域

单单看这三点实际上是没有太多感触的,不妨谈一下我的感悟。

功能定义和模块划分:记得实习最初让我们做一个很简单的设计,但是当时菜的扣脚,甚至不能知道整个模块的顶层是什么样,输入输出接口是什么样,更别提内部模块划分了。所以第一步明确需求,了解顶层的输入输出,根据整个功能划分模块。其中划分模块又有几点需要注意,记得当时我们已经划分好模块了但是在逻辑设计的时候仍然是信号从前到后的画波形图理不清楚,当时出现这个原因的问题是,即使我明确了每个模块的功能,但是对每个模块的接口时序没有理清楚,导致一根信号从头到尾地去思考。其实一旦我们划分好模块就只思考该模块的功能,以及他最终要输出什么信号给后级模块。后级模块再利用这个信号去思考,做到真正模块划分。总结一下,明确每个模块的内部功能以及模块最终输出接口上的信号。时钟域相对复杂,暂时我也不太清楚(留个坑 当我有了新经验和感悟的时候再来填)

4)设计的关键路径

关键路径指的是设计中的时序要求最难以满足的路径。设计的时序主要再频率,建立时间,保持时间。(这儿我也不太懂,但是浅谈以下。实习的时候每次rt白盒化后,他们会算组合逻辑的级数看是否满足时序,应该是为了满足建立时间)通过一些时序手段(pipeline、retiming、逻辑复制等)缓解时序压力,这种方法比单依靠综合和布局布线工具的自动优化有效的多。

5)顶层设计

6)FSM设计

7)时序逻辑设计

根据时钟域划分好寄存器组,描述各个寄存器的数据传输方式(哎 不懂)

8)组合逻辑设计

一般来说,大段的组合逻辑最好和时序逻辑分开描述,这样有利于时序约束和时序分析,使综合器和布线布局达到更好的优化效果。

寄存器电路建模

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

轻松成为设计高手 的相关文章

  • 常见传感器和芯片的介绍

    文章目录 一 传感器 1 1 KY xxxx系列 KY 002 KY 003 KY 004 KY 005 KY 006 KY 007 KY 008 KY 009 KY 010 KY 011 KY 012 KY 013 KY 014 KY 0
  • PCB中电流与线宽 电流与过孔的关系

    1 一般认为20mil走线可以过1A电流 有一定余量 2 0 5mm 20mil 过孔可以过1A电流 有一定余量 如果2A电流放置0 25mm 10mil 过空作为载流 至少放置四个过孔 制作最小过孔的能力与板厂的制作能力和工艺有关系 嘉立
  • PCB高速信号布线技巧

    转载 玩转嵌入式 2021 07 31 18 59 电源布局布线 数字电路很多时候需要的电流是不连续的 所以对一些高速器件就会产生浪涌电流 如果电源走线很长 则由于浪涌电流的存在进而会导致高频噪声 而此高频噪声会引入到其他信号中去 而在高速
  • 数字电源核心理论-“伏妙平衡“与“安秒平衡“

    数字电源 数字电源核心理论 伏妙平衡 与 安秒平衡 最后一个bug 2020 10 14 22 54 16 341 收藏 3 文章标签 编程语言 xhtml xmpp jrebel dwr 版权 1 聊一聊 今天跟大家分享的是迈克在本公众号
  • FM/AM收音机原理

    收音机这东西很早就开始用了 但一直都没有了解过它的原理 听说是很简单 下面记录一些笔记 1 基本概念 收音机是一种小型的无线电接收机 主要用于接受无线电广播节目 收听无线电发射台 首先说一下收音机的种类 按解调方式和波长可以分为以下几类 调
  • 优秀的NAS不光只有群晖,看看威联通在安全性上如何K掉群晖

    声明 此贴转载纳斯网 感谢kala版主的呕心评测 让大家NAS有了更深入的了解 有了更多的选择 第一 为什么选择nas 其实nas对于我们来讲 第一大用处是什么 就是安全性 我想很多人都想把nas做成家里的数据中心吧 对应数据中心当然是希望
  • 四轴笔记----PSRAM存储器介绍

    一 什么是PSRAM存储器 PSRAM全称Pseudo static random access memory 指的是伪静态随机存储器 之所以叫伪静态是因为它具有类SRAM的接口协议 给出地址 读 写命令 就可以实现存取 不像DRAM需要m
  • 怎么检查PCB layout?!推荐一款避坑神器

    原文来自公众号 工程师看海 公众号私信获取资料 DFM 对于硬件工程师而言 最紧张的时间节点就是发板前夕 画好的PCB要出Gerber文件给工厂 这Gerber文件是一定要仔仔细细检查 以前我一直用CAM350 这种检查纯靠 眼力 简单的板
  • 射频原理图设计checklist

    射频原理图设计checklist 持续更新 文章目录 射频原理图设计checklist 1 WiFi GPS测试兼容 2 SAR SENSER 的GPIO控制和电源供电需常开 3 射频收发器与基带芯片之间的IQ连接线需参考平台推荐 4 主集
  • 一分钟带你快速认识S参数

    S 参数是SI与RF领域工程师必备的基础知识 大家很容易从网络或书本上找到S Y Z参数的说明 但即使如此 在相关领域打滚多年的人 仍然可能还是会被一些问题困扰着 你懂S参数吗 不懂的话 那么请继续往下看 S参数简介 S参数 也就是散射参数
  • 【硬件架构的艺术】学习笔记(1)亚稳态的世界

    目录 1 亚稳态 1 1 什么是亚稳态 1 2 亚稳态窗口 1 3 避免亚稳态 1 3 1 使用多级同步器 1 3 2 使用时钟倍频电路的多级同步器 1 4 亚稳态测试电路 1 5 同步器的类型 1 6 亚稳态综合性建议 1 亚稳态 1 1
  • Windows平台下 USRP E310 基础环境配置

    原创声明 作者 Billyme 詩 博客园 https www cnblogs com billyme CSDN https blog csdn net horizon08 Github https billyas github io 本文
  • 磁环相关的计算公式

    磁环相关的计算公式 公式来源 收集于各大网站 公式仅供参考 如有错误或不全的 欢迎留言指出 通过查磁环手册或咨询供应商可知的固有量 磁环外径 D 单位mm 磁环内径 d 单位mm 磁环高度 h 单位mm 磁环芯材磁导率 u 可推导的量 导磁
  • UDIMM和RDIMM内存条区别

    那什么是RDIMM 什么又是UDIMM呢 RDIMM registered DIMM Registered Dual In line Memory Module 带寄存器的双线内存模块 表示控制器输出的地址和控制信号经过Reg寄存后输出到D
  • 机械键盘按键失灵解决办法(亲测有效,不用换不用拆,5分钟搞定)

    机械键盘不灵的小伙伴们 有福音了 不用换不用拆 只需要一根牙签 一把美工刀 或者剪刀 一瓶酒精 或者免洗消毒液 就可以修好上百块钱的东西 5分钟搞定 这两天不知道为啥机械键盘的ctrl键居然失灵了 有时候可以有时候不好用 怎么回事 一个上百
  • UDIMM、LRDIMM、RDIMM三种内存的区别

    目前使用的内存条类型 DIMM 主要有三种 UDIMM RDIMM和LRDIMM UDIMM UDIMM 全称Unbuffered DIMM 即无缓冲双列直插内存模块 指地址和控制信号不经缓冲器 无需做任何时序调整 直接到达DIMM上的DR
  • PCB设计笔记

    系列文章目录 1 元件基础 2 电路设计 3 PCB设计 4 元件焊接 5 板子调试 6 程序设计 7 算法学习 8 编写exe 9 检测标准 10 项目举例 11 职业规划 文章目录 前言 一 PCB板上的 地 1 详解电路设计中单点接地
  • 计算机科学丛书(2014-2018.Q1)

    ISBN 名称 作者 出版时间 978 7 111 53451 8 数学设计和计算机体系结构 原书第2版 美 戴维 莫尼 哈里斯 莎拉 L 哈里斯著 978 7 111 44075 8 嵌入式计算系统设计原理 美 Marilyn Wolf著
  • 变频器典型电路原理图文分析,了解变频器的内在。进线端用RST表示ABC三相,出线端用UVW表示ABC三相。应该只是相邻的字母表示三相,没有具体的物理意义

    变频器典型电路原理图文分析 了解变频器的内在 要想做好变频器维修 当然了解变频器基础知识是相当重要的 也是迫不及待的 下面我们就来分享一下变频器维修基础知识 大家看完后 如果有不正确地方 望您指正 如果觉得还行支持一下 给我一些鼓动 可以简
  • 锂电池管理系统(BMS)

    引言 在现代科技的推动下 锂电池已经成为各种电动设备和能源存储系统的首选能源媒介 然而 锂电池在充电和放电过程中存在一系列潜在的安全隐患 同时其性能和寿命也受到一些限制 为了解决这些问题 锂电池管理系统 BMS 应运而生 BMS不仅仅是一个

随机推荐

  • Java中类数组,创建后使用set函数,报NullPointerException空指针异常

    最近从新学习数组发现了一些问题 先创建一个Person类 public class Person private String name private int age public Person String name int age t
  • 线程状态是五种对?还是六种对?

    五种 线程在一定条件下 状态会发生变化 线程一共有以下几种状态 1 新建状态 New 新创建了一个线程对象 2 就绪状态 Runnable 线程对象创建后 其他线程调用了该对象的start 方法 该状态的线程位于 可运行线程池 中 变得可运
  • 推荐系统系列——推荐系统简介

    目录 演化关系图 推荐系统简介 什么是推荐系统 为什么需要推荐系统 如何构建推荐系统 推荐系统的步骤 常用评测指标 召回与排序 召回层与排序层的特点 多路召回 使用Embedding做召回 A B测试 为什么需要A B测试 A B测试的流程
  • 基于神经回路的靶向治疗的未来

    以靶向大脑回路为原则的治疗方法 随着诸如经颅磁刺激 TMS 深部脑刺激 DBS 和聚焦超声 FUS 等脑刺激治疗的发展 逐渐引起了广泛关注 这些技术可以有效治疗不同的神经精神疾病 但治疗特定疾病取决于选择合适的治疗目标 在这里 我们提出了一
  • 删除type报ORA-02303错误

    drop type result type 时 报错ORA 02303 无法使用类型或表的相关性来删除或取代一个类型 drop type result type array 时报错 对象不存在 CREATE OR REPLACE TYPE
  • 练习敲代码速度

    2023年9月18日 周一晚上 今晚不想学习 但又不想玩游戏 于是找了一些练习敲代码的网站来玩玩 顺便练习一下敲代码的速度 目录 参考资料 个人推荐 第一个 第二个 第三个 参考资料 电脑打字慢 有哪些比较好的练打字软件 知乎 https
  • C#——Lambda 表达式

    C Lambda 表达式 Lambda 表达式 是采用以下任意一种形式的表达式 表达式 lambda 表达式为其主体 input parameters gt expression 语句 lambda 语句块作为其主体 input param
  • 分布式相关论文

    想从事分布式系统 计算 hadoop等方面 需要哪些基础 推荐哪些书籍 转自知乎 作者 廖君 链接 https www zhihu com question 19868791 answer 88873783 来源 知乎 分布式系统 Dist
  • 线性代数学习之正交性,标准正交矩阵和投影

    正交基和标准正交基 前言 经过上一次线性代数学习之向量空间 维度 和四大子空间的学习 对于空间的概念已经有了非常深刻的认识了 而描述空间很重要的方式除了维度以外 那就是空间的基了 而如小标题所示就是跟空间的基相关 所以先来回忆一下空间基的相
  • autojs获取最近创建的媒体文件,获取本机音频视频图片文件脚本源码,翻译自java

    说明 本文提供的代码仅供参考 不建议用于生产环境 可能有些地方在最新版本的Auto js上面需要做修改 才能运行 Auto js简介 Auto js是利用安卓系统的 辅助功能 实现类似于按键精灵一样 可以通过代码模拟一系列界面动作的辅助工作
  • 宋人千首绝句【全十卷】

    千首宋人绝句 是清代严长明编辑的书籍 全书共十卷 分七言 五言 六言三部分 其中七言七卷 五言两卷 六言一卷 且按帝王 后妃 宫掖 宗室 降王 宋臣 闺媛等分类 收录有王安石 苏轼 黄庭坚 秦观 陆游 杨万里 范成大等著名诗人的六言绝句 编
  • 看了一次strongswan ipsec的设置.

    看了一次strongswan ipsec的设置 这次的设置要求是 Linux 中 strongwans与hillstone防火墙 stoneOS 建立ipsec连接 network network进行通信 要求Linux可以同时与多台防火墙
  • 从2018年以太坊统计数据看区块链发展趋势

    今年6月 我们发布了 以太坊网络状态 重点介绍了整个网络的一些关键数据和统计数据 六个月后 即将在2018年结束时 我们处于长期 加密货币冬天 的尾声 2017年末至今的市场波动已经引起了区块链行业的普遍关注 然而 仔细研究这些数字可以发现
  • Python实现根据磁盘剩余空间对磁盘多次写入和擦除

    实现根据磁盘剩余容量 对剩余容量 预留了1GB 进行多次的写入和删除数据 次数为变量counts 每次写入1GB的数据 即变量data 多次操作 以实现上述功能 通过更改taskTimes变量可以多次写入和删除 from datetime
  • 基于STM32的智能电子秤设计

    硬件设计 本设计是一款基于STM32单片机的电子秤系统 随着科学技术的不断发展 传统的机械秤逐渐被电子秤所取代 相比于计量不精确 费时费力的机械秤 电子秤采用在方便快捷的同时 又保证了结果的准确性 本次设计采用STM32单片机作为处理器 控
  • 03智慧安防

    一张图读懂一个产业之智慧安防 自2015年起 安防行业逐渐引入人工智能技术 智慧安防 一词开始进入大众视野 伴随着政府 平安城市 天网工程 雪亮工程 等项目不断推出 智慧安防快速成为智慧城市应用中落地情况较好 技术与服务相对成熟的领域之一
  • java 实现部门树_Java实现部门模块开发

    一 新增部门接口开发 1 1 DeptParam java 1 2 LevelUtils java 1 4 1 导入 commons lang3 依赖包 1 2 2 实现LevelUtils开发 1 3 在 com yuluomoshang
  • 物联网设备获取北京时间、年月日、星期几,GMT格林威治标准时间转换为北京时间,授时api Fiddler抓包调试

    1 获取北京时间 年月日 授时api 苏宁获取北京时间的api不要太方便 http quan suning com getSysTime do 使用 Fiddler抓包调试 查看HTTP返回报文 双击左侧抓取到的HTTP返回报文 使用 Sy
  • 同步异步BUCK研究

    目录 一 同步时钟 二 异步BUCK电路 1 基本公式推导 2 电感选型计算 三 同步BUCK电路 四 同步异步BUCK电路对比 前言 在硬件设计中 电源模块基本都会接触到 DC DC拓扑电路又是最常见的 所以深入理解DC DC电路至关重要
  • 轻松成为设计高手

    目录 2 Verilog语言基础 2 1 三种描述方法 2 Verilog语言基础 2 1 三种描述方法 1 数据流描述 assign连续赋值语句 2 行为描述 过程赋值语句 always和initial过程块 3 结构化描述 实例化已有的