数字集成电路设计(五、仿真验证与 Testbench 编写)(二)

news2024/10/6 22:21:14

文章目录

  • 4. 信号时间赋值语句
    • 4.1 时间延迟的语法说明
    • 4.2 时间延迟的描述形式
    • 4.3 边沿触发事件
      • 4.3.1 事件表达式
      • 4.3.2 边沿触发语法格式
    • 4.4 电平敏感事件


4. 信号时间赋值语句

  • !!信号赋值语句是硬件描述语言非常重要的一条语句,是对于任意信号形式和实际变量的仿真的一种格式
    在这里插入图片描述
  • 延迟信号的产生再硬件描述语言有俩个大的类型:延迟控制(可以分为串行延迟控制、并行延迟控制、阻塞式延迟控制和非阻塞式延迟控制)和事件控制(可以分为边沿触发事件控制和申平敏感事件控制)。

4.1 时间延迟的语法说明

  • 延时控制可以写成两种形式
    在这里插入图片描述
  • 第一种假如没有行为语句,加一条库语句也是可以的
  • 其中,符号“#”是延迟控制的关键字符,“延迟时间”可以是直接指定的延迟时间量,或者以参数的形式给出。在仿真过程中,所有延迟时间都根据时间单位定义。例如:
    在这里插入图片描述
  • !!控制方式可以分为很多类,但是只要能理解这种意思,选用其中一种都可以写出测试向量,而测试向量的写法在硬件描述语言中是不做硬性规定的,信号波形产生了就可以
    (1)外部延迟控制:时间控制出现在整个过程赋值语句的最左端,也就是出现赋值目标变量的左边的时间控制方式。语法结构和等效如下:
    在这里插入图片描述
    (2)内部延迟控制:过程语中的时间制部还可以出现在“值操作符和“赋值表达式”之间的时间控制方式。语结构和举例:
    在这里插入图片描述

4.2 时间延迟的描述形式

  • 时间延迟的描述形式是指延迟控制的描述形式,分为串行延迟控制、并行延迟控制、阻塞式延迟控制和非阻塞式延迟控制四种形式。
  • 下面以实现两组不同波形的信号为例(图5.4-2中的q0_out 和q1_out)来说明四种不同时间延迟的描述形式。
    在这里插入图片描述

1.串行延迟控制
(1)串行延迟控制是最为常见的信号延迟控制,它是由 begin-end 过程块加上延迟赋值语句构成
(2)对上图进行描述
在这里插入图片描述
2. 并行延迟控制
(1)并行延迟控制方式是通过 fork-join 过程块加上延迟赋值语句构成的(对于 fork-join ,不管采用阻塞还是非阻塞赋值,所有语句都是并行的)
(2)对上图进行描述
在这里插入图片描述
3.阻塞式延迟控制
(1)阻塞式延迟控制是在阻寨式过程赋值基础上带有延迟控制的情况
在这里插入图片描述
(2)控制结果
在这里插入图片描述
(3)解释:相当于把值给了temp,然后延迟结束temp给a,一开始a=0,然后temp=1,5s后,a=temp=1,temp=0。!!如果用阻塞,延迟就是相对延迟

4.非阻塞式延迟控制
(1)非阻塞式延迟控制是在非阻塞式过程赋值基础上带有延迟控制的情况
在这里插入图片描述
(2)控制结果
在这里插入图片描述
(3)!!如果用非阻塞,前面的延迟就变成绝对的延迟

  • !!这四种形式选择哪一种看个人习惯,这时候就在硬件描述语言的测试和仿真中形成了你自己的风格。在这个阶段,你面对的就是计算机的cpu不是硬件电路,所以可以用你想到的各种方式去做,只要产生的激励信号是对的,观察方法是对的就可以。更加注意的是信号产生的形式,只要波形和想的是一样的,用什么方法都可以

4.3 边沿触发事件

  • 边沿触发事件控制的语法格式有以下四种形式:
    在这里插入图片描述在这里插入图片描述
  • !!在硬件描述语言中,可以用or把事件隔开,也可以用“,”,这两个方式是统一的
  • !!如果把这个变成一种不确定事件的标志,刚刚的#加一个时间是加一个固定延迟,可以用参数方式去写,但是一旦程序运行,这个延迟就固定了。而这个不确定延时可能是很多事件表达式集合在一起以后的作用,这个在仿真中是不可遇见的

4.3.1 事件表达式

  • 事件表达式可以出现以下三种形式
    在这里插入图片描述
  • 形式1是上升沿和下降沿;形式2是上升沿;形式3是下降沿
  • !!在电路中,正跳负跳就是0-1和1-0,其他状态全都是不正确的状态。而在仿真中,信号有四个电平:0,1,X,Z,对于正跳负跳的规定如下表
    在这里插入图片描述
  • !!电路级的概念只有0-1,1-0成立,而仿真一级,所有概念都成立。所以,可综合语言的语法集要比硬件描述语言的所有语法集要小得多

4.3.2 边沿触发语法格式

  • 形式1:
    在这里插入图片描述

  • 举例:
    在这里插入图片描述

  • !!选了一个计数器的例子,是为了告诉大家,这种边沿触发的信号,更多的是用于电路,而之前的那些信号更多用于测试和仿真

  • !!所有的语句都可以用在仿真,但是不是所有语句都能用在可综合电路设计

  • 形式2:
    在这里插入图片描述

  • 比如组合电路,只有信号电平发生变化

  • 举例
    在这里插入图片描述在这里插入图片描述

  • 这个例子是测量信号仿真中时钟的周期或占空比

  • 形式3:
    在这里插入图片描述

  • 形式4:
    在这里插入图片描述

  • 举例:
    在这里插入图片描述

  • 在a的上升沿和b的下降沿到达的时候打印,之前讲过,屏幕打印要找寻特定的时刻,实际上这个就是一种特定的时刻

4.4 电平敏感事件

  • 电平敏感事件语法格式有两种
    在这里插入图片描述

  • 在边沿敏感的时候@的信号列表,并没有做一个判定

  • 电平敏感的第一种形式:
    在这里插入图片描述

  • !!这个例子在传统的数字电路中,把它归为时序电路,这个东西叫做latch

  • !!现在用的触发器叫Flip Flop,还有一种电路叫latch,它是靠电平进行锁定的。在latch中你工作在高电平或者低电平,这时输入信号发生变化,输出信号也要发生变化,它的延迟由latch整个的延迟决定,这时一个不可控延迟,latch是一个可控延迟,但是不一定工作过程中输入不变化,这时候的延迟是不可控的

  • 这种latch电路在早期是存在的,但是随着技术发展,会发现latch信号非常不稳定。见到latch通常称为异步时序电路,而我们要求的是同步时序电路设计,正是因为异步时序的延迟没办法控制

  • !!一个是电路设计,一个是怎么让时钟在全局网络都变得一致,这两个东西都做的很好,所以同步时序电路在数字电路硬件设计中间占据了绝对的重要地位

  • !!但是异步时序电路也不是没有了,在DSP,单片机中都没有异步,在FPGA中也基本都是同步时序,只有在一个厂家Actel的一个系列的很小一部分有电平敏感

  • !!!我们现在做的东西都是工地的,但是做到航空,导弹上都是隔离的,没有一个共同的地,这时候如果用边沿触发就会带来很多问题,所以电平敏感主要面向于军工

  • 电平敏感的第二种形式:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/20123.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Zookeeper:Zookeeper的主从选举机制

ZAB 协议,全称 Zookeeper Atomic Broadcast(Zookeeper 原子广播协议),是为分布式协调服务 ZooKeeper 专门设计的一种支持崩溃恢复的一致性协议。基于该协议,ZooKeeper 实现了一种主从模式的系统架构来保持集群中各个副…

业务定制型异地多活架构设计

1个原理 大道至简-异地多活核心原理 异地多活本质上是 CAP 中的AP 大道至深-CAP 粒度 CAP 关注的粒度是数据,而不是系统,需要根据不同业务的数据特点来设计异地多活 延迟 CAP 是忽略网络延迟的 ,但工程落地不可能做到零延迟 分区容忍…

【Linux】linux中你不得不爱的命令集(上)

Linux命令集 我们将要介绍的命令并不是linux中所有的命令,是我们常见的和经常要使用的命令。 我们所用的linux版本是centos7,我们的linux搭建是在腾讯云服务器上搭建的,借助Xshell登录服务器,在root下进行命令行的操作。 目录 L…

[附源码]java毕业设计社区生鲜仓库管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

异地多活架构的3种模式

业务定制型异地多活 按照业务的优先级进行排序,优先保证核心业务异地多活 基于核心业务的流程和数据,设计定制化的异地多活架构 优点 对基础设施无强要求,例如机房部署、存储系统、时延等,一般部署在远距离的两个城市&#xff…

经济师报考专业选择及难度分析!这三个专业每年报考人数超10万!

经济师 经济师考试报考专业设有10个专业,含工商管理、农业经济、财政税收、金融、保险、运输经济、人力资源管理、旅游经济、建筑与房地产经济、知识产权。那么,哪些专业是经济师报考的热门专业?哪些专业前景较好?哪个又更好考呢…

SAP 物料分类账配置详解Part 2( 基于SAP S/4HANA1909 版本)

1.12 检查物料会计科目的结算 1.13 激活在制品实际成本计算 1.14 定义并分配评估策略 1.15 定义实际成本核算/物料分类帐的访问 1.16 分配成本核算码到物料类型 1.17 将评估范围设置为生产 1.12 检查物料会计科目的结算 1.12.1 概念说明 为物料分类账的结账配置自动…

C++模拟OpenGL库——图片处理及纹理系统(二):图片Alpha值混合操作

目录 Alpha值混合操作 更改一些类接口设置,实现Alpha值设定 Alpha值混合操作 先上图,其实原理和ColorLerp的原理一样,一种线性插值的方法来实现Alpha通道的混合。 Alpha通道就是对RGB三个值的一种表现约束,比如Alpha0.5&#x…

使用keytool生成Tomcat证书

一、HTTPS原理 1、HTTP、HTTPS、SSL、TLS介绍与相互关系 (1)HTTP:平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的(明文),因此使用HTTP协议传输隐私信息非常不安全。 (2&am…

人工智能学习相关笔记

文章目录留出法(hold-out)Artifact (error)理解交叉熵损失函数(CrossEntropy Loss)信息量信息熵相对熵(KL散度)交叉熵交叉熵在单分类问题中的应用回顾知识蒸馏公式对抗学习随机投影(Random Projection)概述基本实现sklearn中的随机投影独立成分分析(ICA)ICA算法ICA 应用sklearn…

tslib库编译与移植

tslib库编译与移植 1.tslib库简介 tslib 是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。 2…

数据结构——顺序表

目录 一.简介 线性表 顺序表 二.结构体与初始化 1.创建 2.初始化 三.功能实现 1.打印 2.销毁 3.扩容 4.尾插 5.尾删 6.头插 7.头删 8.查找元素 9.下标位置的插入与某一数据前的插入 10.下标位置的删除与某一数据的删除 11.头插、头删、尾插、尾删的常态化 一.简…

模块电路选型(1)----电源模块

系列文章目录 1.电源模块 2.主控模块 3.传感器模块 4.通信模块 5.电机驱动模块 6.存储模块 7.人机交互模块 文章目录前言一、DCDC电源模块1、LM2596 DCDC降压模块设计二、LDO电源模块1、1117芯片前言 送给大学毕业后找不到奋斗方向的你(每周不定时更新&#x…

Spring Data JPA之Spring boot整合JPA进行CRUD

Spring boot整合JPA进行CRUD前言系列博客本博客的实现demo环境配置1.POM依赖2.application.yml文件完整的项目结构代码实现实体类启动类创建数据访问层使用Spring Data JPA 创建带条件的CRUD编写业务层创建UserController类运行测试插入用户数据删除用户数据修改数据查询数据根…

kubernetes(K8S)学习笔记P2:搭建K8s集群2种方式

搭建K8s集群:2种方式2.搭建K8s集群--->kubeadm2.1环境准备2.1.1关闭防火墙2.1.2关闭seliux2.1.3关闭swap分区2.1.4设置主机名称2.1.5将桥接的IPv4流量传递到iptables的链2.1.6时间同步2.2三台虚拟机都安装Docker2.3添加阿里云YUM软件源2.4安装/kubeadm/kubelet2.…

dubbo:从零理解及搭建dubbo微服务框架(一)【附带源码】

0.引言 dubbo作为阿里巴巴开源的微服务框架,提供了高性能的RPC调用。同时因为有阿里的背书,在国内市场得到了广泛应用,dubbo的开源工作在2018年2月阿里将项目捐献给apache基金会后,得到了更加广大的发展。 之前我们讲解了spring…

【图像分割】2021-Swin-Unet CVPR

【图像分割】2021-Swin-Unet CVPR 论文题目:Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation 论文链接:https://arxiv.org/abs/2105.05537 论文代码:https://github.com/HuCaoFighting/Swin-Unet 发表时间&#xff1a…

财政政策与货币政策

财政政策与货币政策 – 潘登同学的宏观经济学笔记 文章目录财政政策与货币政策 -- 潘登同学的宏观经济学笔记中国财政状况中国的财政盈余乘数效应还是李嘉图等价“乘数效应”还是“挤出效应”(crowding out)——“破窗理论”的启示货币政策中国货币的状况…

GreaalVM编译springboot编译springboot

GreaalVM编译springboot编译springboot 原文转自:https://lingkang.top/archives/greaalvm%E7%BC%96%E8%AF%91springboot https://lingkang.top/archives/greaalvm%E7%BC%96%E8%AF%91springboot window下使用GreaalVM编译springboot存在很多坑,主要是…

IfcOpenShell - Python 2022最新安装步骤 兼谈IFC的理解与认识

前言 我之前2020年写了一个IfcOpenShell - Python的安装教程,相信不少对IFC感兴趣的朋友已经看过。两年多以后发生了很多事情,我的工作重心也不再是IFC IFCXML。目前我对IFC的理解就是“底层数据库”,以他为数据库我可以做很多尝试&#xff…