sv时序组合和时序逻辑

 1 input a;
 2 input b;
 3 input c;
 4 reg d;
 5 wire e;
 6 reg f;
 7
 8 // 时序逻辑,有寄存器
 9 always@(posedge clk)begin
10     if(a==1‘b1)begin
11         d <= b;
12     end else begin
13         d <= c;
14     end
15 end
16
17 // 组合逻辑
18 assign e = d & a;
19
20 //时序逻辑
21 always@(posedge clk)begin
22     if(b&&e)begin
23         f <= 1‘b1;
24     end else begin
25         f <= 1‘b0;
26     end
27 end

有上面这一段verilog代码有的时候验证为了验证而验证就需要在验证环境或者用例中用systemverilog的while(1)实现上面的这个功能,systemverilog是顺序执行语言,要实现时序逻辑中的寄存器输出是在下一拍的功能,需要对时序逻辑做特殊处理。组合逻辑则不需特殊处理,它的输出就在当拍。

input a;
input b;
input c;
bit d;
bit d_reg;
bit e;
bit f;
bit f_reg;

whlie(1)begin
    @(posedge clk);
    d = d_reg;
    f = f_reg;

    if(a==1‘b1)begin
       d_reg = b;
    end else begin
       d_reg = c;
    end

    e = d & a;

    if(b&&e)begin
       f_reg = 1‘b1;
    end else begin
       f_reg = 1‘b0;
    end

end

简单的处理就是对寄存器变量分两个变量来表示,比如上面的d和f,分别用d/d_reg和f/f_reg来表示,其中d_reg和f_reg只是中间变量,不能作为其他语句的输入,只能能在开头将值赋给d和f,这样来模拟数据是在时钟沿输出的效果。d和f才能作为其他语句的输入(用于判断或者赋值语句右边的值)

1、对寄存器变量增加xxx_reg的变量

2、寄存器当前输出值为xxx_reg

3、xxx_reg的值只能在xxx_reg赋值前赋给xxx,一般就放在while(1)中@(posedge clk)的下面。

原文地址:https://www.cnblogs.com/yuandonghua/p/10741910.html

时间: 2024-11-11 13:48:54

sv时序组合和时序逻辑的相关文章

零距离接触阿里云时序时空数据库TSDB

概述最近,Amazon新推出了完全托管的时间序列数据库Timestream,可见,各大厂商对未来时间序列数据库的重视与日俱增.阿里云TSDB是阿里巴巴集团数据库事业部研发的一款高性能分布式时序时空数据库,在即将过去的2018年,我们对TSDB进行了多次的系统架构改进,引入了倒排索引.无限时间线支持.时序数据高压缩比算法.内存缓存.数据预处理.分布式并行聚合.GPU加速等多项核心技术,并且引入了新的计算引擎层和分布式SQL层,使得引擎核心能力有了质的提升,也基本上统一了集团内部的监控存储业务.20

UML建模之 - 类图&amp;时序图

简介 简介 UML是面向对象开发中一种通用的图形化建模语言 UML建模技术就是用模型元素来组建整个系统的模型,模型元素包括系统中的类.类和类之间的关联.类的实例相互配合实现系统的动态行为等 UML建模工具 Rational Rose : 是直接从UML发展而诞生的设计工具,常用建模工具 Power Designer : 是对数据库建模而发展起来的一种数据库建模工具 Microsoft Visio :是一种画图工具,Visio 2010才开始引入UML建模,不是很专业 Star UML : 开源轻

SPI总线协议及SPI时序图详解

SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议.SPI是一个环形总线结构,由ss(cs).sck.sdi.sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换. 上升沿发送.下降沿接收.高位先发送.上升沿到来

&lt;十七&gt;UML核心视图动态视图之时序图

一:时序图 --->时序图是用于描述按时间顺序排列的对象之间的交互模式. --->它按照参与交互的对象所具有的“生命线”和他们相互发送的消息来显示这些对象. --->时序图包含对象和主角实例,以及说明他们如何交互的消息. --->时序图描述了在参与交互的对象中所发生的事件(从激活的角度来说明),以及这些对象如何通过相互发送消息进行通信. --->时序图与协作图是可以相互转换的,与协作图不同的是,时序图强调消息事件发生的顺序,更方便于阐述时间流的过程.但是时序图很难表达对象之间

Xilinx FPGA编程技巧之常用时序约束详解

1.   基本的约束方法 为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取.最普遍的三种路径为: 输入路径(Input Path),使用输入约束 寄存器到寄存器路径(Register-to-Register Path),使用周期约束 输出路径(Output Path),使用输出约束 具体的异常路径(Path specific exceptions),使用虚假路径.多周期路径约束 1.1.  输入约束Input Constraint OFFSET IN约束限定了输入数据和输入时钟边沿的

时序(转载)

SPI总线协议及SPI时序图详解 2014-02-20 21:41:28 分类: 嵌入式 原文网址 SPI总线协议及SPI时序图详解 SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议.      SPI是一个环形总线结构,由ss(cs).sc

时序图、活动图、状态图、协作图的区别

时序图 时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序. 当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件. 在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列. ATM 用户成功登陆的时序图 时序图中的基本概念 对象: 时序图中对象使用矩形表示

时序数据简介

1 什么是时序数据 生活中,我们经常会接触到需要对某些指标或者状态按时间序列进行统计和分析的场景,典型的如股票大盘走势.气象变化.内存监控等. 这些依赖于时间而变化,可以用数值来反映其变化程度的数据就叫时序数据.时序数据具有两个关键的指标:监测时间和监测数值. 2 时序数据模型 时序数据按照其数据组织形式可以分为单值模型和多值模型两种. 2.1 单值模型 单值模型一条监测记录只对应一个指标的数据,如下表所示,每行数据为一条监测记录,每条记录只能反映一个监测指标的信息. metric timest

eclipse下生成Java类图和时序图,生成UML图

最近老板让我做类图和时序图,提苦恼的,完全不会,就从网上整理了些 1.安装和使用AmaterasUML 安装AmaterasUML前,需要先安装GEF 采用eclipse在线安装方式安装就好. eclipse在线安装GEF的地址:http://download.eclipse.org/tools/gef/updates/releases/ 安装好GEF后,安装AmaterasUML 先到如下地址下载:http://sourceforge.jp/projects/amateras/download