input a;
 input b;
 input c;
 reg d;
 wire e;
 reg f;

 // 时序逻辑,有寄存器
 always@(posedge clk)begin
     'b1)begin
         d <= b;
     end else begin
         d <= c;
     end
 end

 // 组合逻辑
 assign e = d & a;

 //时序逻辑
 always@(posedge clk)begin
     if(b&&e)begin
         f <= 'b1;
     end else begin
         f <= 'b0;
     end
 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()begin
    @(posedge clk);
    //----组合逻辑合时序逻辑赋值----//
    'b1)begin
       d_reg = b;
    end else begin
       d_reg = c;
    end

    e = d & a;

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

    //----寄存器数据生效--------//
    #0.1;
    d = d_reg;
    f = f_reg;
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)块的最后。

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

  1. Altera FIFO IP核时序说明

    ALTERA在LPM(library of parameterized mudules)库中提供了参数可配置的单时钟FIFO(SCFIFO)和双时钟FIFO(DCFIFO).FIFO主要应用在需要数据 ...

  2. 【UML 建模】UML入门 之 交互图 -- 时序图 协作图详解

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 . 动态图概念 : 从静态图中抽取瞬间值 ...

  3. 【接口时序】8、DDR3驱动原理与FPGA实现(一、DDR的基本原理)

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:无 3.仿真工具:无 硬件平台: 1. FPGA型号:无 2. DDR3型号:无 二. 存储器的分类 存储器一 ...

  4. 【接口时序】7、VGA接口原理与Verilog实现

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE 硬件平台: 1. FPGA型号:Xilinx公 ...

  5. 【接口时序】4、SPI总线的原理与Verilog实现

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE 硬件平台: 1. FPGA型号:Xilinx公 ...

  6. UML入门 之 交互图 -- 时序图 协作图详解

    作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 动态图概念 : 从静态图中抽取瞬间值的变化描 ...

  7. UML之时序图详解

    原文链接:https://blog.csdn.net/fly_zxy/article/details/80911942 什么是时序图 时序图(Sequence Diagram),又名序列图.循序图,是 ...

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

    概述 最近,Amazon新推出了完全托管的时间序列数据库Timestream,可见,各大厂商对未来时间序列数据库的重视与日俱增.阿里云TSDB是阿里巴巴集团数据库事业部研发的一款高性能分布式时序时空数 ...

  9. UML时序图(Sequence Diagram)学习笔记

    什么是时序图时序图(Sequence Diagram),又名序列图.循序图,是一种UML交互图.它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作. 让我们来看一看visio2016对时序 ...

随机推荐

  1. 关于codeforces国内访问卡顿慢的最新解决办法,谷歌字体库/屏蔽facebook链接

    在host里最后加上 方法起源来自于https://blog.csdn.net/qq_40693171/article/details/83623409 但是里面的360字体库已经停运http://w ...

  2. 【MySQL】MySQL内连接,左连接,右连接查询

    概念 INNER JOIN(内连接):获取两个表中字段匹配关系的记录.也就是只会返回共有的内容. LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录. RIGHT JOIN(右 ...

  3. 【原创】大叔经验分享(48)oozie中通过shell执行impala

    oozie中通过shell执行impala,脚本如下: $ cat test_impala.sh #!/bin/sh /usr/bin/kinit -kt /tmp/impala.keytab imp ...

  4. 【转载】django 过滤器 、日期格式化参数

    过滤器相关: 一.形式:小写{{ name | lower }} 二.串联:先转义文本到HTML,再转换每行到 标签{{ my_text|escape|linebreaks }} 三.过滤器的参数显示 ...

  5. 二丶Django~1

      一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于 ...

  6. pip安装mysql-python报错:Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-enRreC/mysql-python/

    公司业务开发,用python开发网站;需要使用模块MySQLdb. 我直接pip install MySQLdb,当然不成功了,模块名字因该是mysql-python pip install mysq ...

  7. OpenStack--glance组件镜像服务

    glance介绍 Glance 是 OpenStack 项目中负责镜像管理的模块,其功能包括虚拟机镜像的查找,注册和检索等.Glance 提供 Restful API 可以查询虚拟机镜像的 metad ...

  8. 2018-2019-2 网络对抗技术 20165328 Exp6 信息收集与漏洞扫描

    目录 实验要求 基础问题回答: 实验过程: 各种搜索技巧的应用及DNS IP注册信息的查询 基本扫描技术 漏洞扫描--使用OpenVAS 实验感想 实验要求 (1)各种搜索技巧的应用 (2)DNS I ...

  9. Oracle 去特殊字符

    Create Or Replace Function Zl_Fun_去特殊字符(内容_In In Varchar2) Return Varchar2 IsBegin Return Replace(Re ...

  10. Selenium自动化测试之元素定位

    步骤: 1.通过前端工具,查看元素的属性 2.通过属性定位 iddriver.findElement(By.id("kw")) namedriver.findElement(By. ...