您身边的网站建设专家
成功案例

【建站服务】嘉峪关网页设计-高端网站设计公司-域名申请

日期: 2022-09-21 03:08:30 浏览数:5


​

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


嘉峪关网页设计-高端网站设计公司

网站建设.png

键词:时延控制,事件触发,边沿触发,电平触发

Verilog 提供了 2 大类时序控制方法:时延控制和事件控制。事件控制主要分为边沿触发事件控制与电平敏感事件控制。

时延控制

基于时延的时序控制出现在表达式中,它指定了语句从开始执行到执行完毕之间的时间间隔。

时延可以是数字、标识符或者表达式。

根据在表达式中的位置差异,时延控制又可以分为常规时延与内嵌时延。

常规时延

遇到常规延时时,该语句需要等待一定时间,然后将计算结果赋值给目标信号。

格式为:#delay procedural_statement,例如:

reg  value_test ;reg  value_general ;#10  value_general    = value_test ;

该时延方式的另一种写法是直接将井号 # 独立成一个时延执行语句,例如:

#10 ;value_ single         = value_test ;

内嵌时延

遇到内嵌延时时,该语句先将计算结果保存,然后等待一定的时间后赋值给目标信号。

内嵌时延控制加在赋值号之后。例如:

reg  value_test ;reg  value_embed ;value_embed        = #10 value_test ;

需要说明的是,这 2 种时延控制方式的效果是有所不同的。

当延时语句的赋值符号右端是常量时,2 种时延控制都能达到相同的延时赋值效果。

当延时语句的赋值符号右端是变量时,2 种时延控制可能会产生不同的延时赋值效果。

例如下面仿真代码:

实例

`timescale 1ns/1ns
 
module test ;
    reg  value_test ;
    reg  value_general, value_embed, value_single ;
 
    //signal source
    initial begin
        value_test        = 0 ;
        #25 ;      value_test        = 1 ;
        #35 ;      value_test        = 0 ;        //absolute 60ns
        #40 ;      value_test        = 1 ;   


5 ;      value_test        = 1 ;

        #35 ;      value_test        = 0 ;        //absolute 60ns

        #40 ;      value_test        = 1 ;        //absolute 100ns

        #10 ;      value_test        = 0 ;        //absolute 110ns

    end

 

    //(1)general delay control

    initial begin

        value_general     = 1;

        #10 value_general  = value_test ; //10ns, value_test=0

        #45 value_general  = value_test ; //55ns, value_test=1

        #30 value_general  = value_test ; //85ns, value_test=0

        #20 value_general  = value_test ; //105ns, value_test=1

    end

 

    //(2)embedded delay control

    initial begin

        value_embed       = 1;

        value_embed  = #10 value_test ; //0ns, value_test=0

        value_embed  = #45 value_test ; //10ns, value_test=0

        value_embed  = #30 value_test ; //55ns, value_test=1

        value_embed  = #20 value_test ; //85ns, value_test=0

    end

 

    //(3)single delay control

    initial begin

        value_single      = 1;

        #10 ;

        value_single = value_test ; //10ns, value_test=0

        #45 ;

        value_single = value_test ; //55ns, value_test=1

        #30 ;

        value_single = value_test ; //85ns, value_test=0

        #20 ;

        value_single = value_test ; //105ns, value_test=1

    end

 

    always begin

        #10;

        if ($time >= 150) begin

            $finish ;

        end

    end

 

endmodule

仿真结果如下,由图可知:


(1)一般延时的两种表达方式执行的结果都是一致的。

(2)一般时延赋值方式:遇到延迟语句后先延迟一定的时间,然后将当前操作数赋值给目标信号,并没有"惯性延迟"的特点,不会漏掉相对较窄的脉冲。

(3)内嵌时延赋值方式:遇到延迟语句后,先计算出表达式右端的结果,然后再延迟一定的时



嘉峪关网页设计-高端网站设计公司


上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设:上往建站