60,Verilog-2005标准篇:边沿敏感的时序式UDP

在电平敏感行为中,输入值和当前状态足以决定输出值。边沿敏感行为的不同之处在于,输出的变化是由输入的特定转换触发的,这使得状态表成为一个转换表。

每行表项的输入最多只能有一个转换形式,且转换由括号中的一对值(如 (01))或转换符号(如 r)指定。例如以下两个转换形式表示是非法的:

 (01) (01) 0 : 0 : 1 ;

所有未指定的转换默认输出值为x。

下面的示例描述了一个上升沿 D 触发器:

primitive  d_edge_ff (q, clock, data);
output  q;  reg  q;
input  clock, data;
table
// clock  data q q+
// obtain output on rising edge of clock
(01)  0 : ? : 0 ;
(01)  1 : ? : 1 ;
(0?)  1 : 1 : 1 ;
(0?)  0 : 0 : 0 ;
// ignore negative edge of clock
(?0)  ? : ? : - ;
// ignore data changes on steady clock
      ? (??) : ? : - ;
endtable
endprimitive

(01) 等术语表示输入值的转换。具体来说,(01) 表示时钟从 0 到 1 的转换。前面 UDP 定义表中的第一行解释如下:当时钟值从 0 变为 1,数据等于 0 时,无论当前状态如何,输出都变为 0。当输入data等于0且当前状态等于1时,时钟从0到x的转换将导致输出q 变为x。

点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值