011 Verilog原语

原语

是构成设计的最基本单元,通过真值表描述其功能,包括基本逻辑门在内有26个预定义功能模型

n输入逻辑门

在这里插入图片描述

原语描述使用
and与门and(yout, xin1, xin2, xin3)
nand与非nand(yout, xin1, xin2, xin3)
or或门or(yout, xin1, xin2, xin3)
nor或非nor(yout, xin1, xin2, xin3)
xor异或xor(yout, xin1, xin2, xin3)
xnor同或nxor(yout, xin1, xin2, xin3)

n输出组合门

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UDP(User Defined Primitive,用户自定义原语)

符号汇总
符号意义
0,1,x逻辑0,1,x为未知值,UDP中没有z
?无关逻辑,可以是0,1,x
b逻辑0或1
-不变化
(xy)从x变为y,如(01)为上升沿
*输入信号的任何变化
r上升沿
f下降沿
p含x的上升沿,等同于(01)、(0x)、(x1)
n含x的下降沿,等同于(10)、(x0)、(1x)
与门
primitive and(y, x1, x2);
	output y;
	input x1, x2;

	table
	// x1 x2 : y
	0 0 : 0;
	0 1 : 0;
	1 0 : 0;
	1 1 : 1;
	endtable
endprimitive

2输入多路复用器

输入可以是0,1,x,所以考虑所有情况的2输入多路复用器如下:

primitive mux_two(out, select, a, b);
	output out;
	input select, a, b;
	// y = select ? a : b;

	table
	// select	a	b	:	out
	   0		0	0	:	0;
	   0		0	1	:	0;
	   0		0	x	:	0;
	   0		1	0	:	1;
	   0		1	1	:	1;
	   0		1	x	:	1;

	   1		0	0	:	0;
	   1		1	0	:	0;
	   1		x	0	:	0;
	   1		0	1	:	1;
	   1		1	1	:	1;
	   1		x	1	:	1;

	   x		0	0	:	0;
	   x		1	1	:	1;
	endtable
endprimitive

使用助记符?简化,?=0,1,x

primitive mux_two(out, select, a, b);
	output out;
	input select, a, b;
	// y = select ? a : b;

	table
	// select	a	b	:	out
	   0		0	?	:	0;
	   0		1	?	:	1;

	   1		?	0	:	0;
	   1		?	1	:	1;

	   ?		0	0	:	0;
	   ?		1	1	:	1;
	endtable
endprimitive

透明锁存器(电平敏感)

其实就是带使能的锁存器

primitive latch_with_enable(q_out, enable, data);
	output q_out;
	input enable, data;
	reg q_out;
	// q_out = enable ? data : q_out;
	// - 表示保持

	table
	// 时序逻辑table格式
	// input1	input2	state 	: 	output/next_state
	// enable	data	state	:	q_out/next_state
	   1		1			?	:	1;
	   1		0			?	:	0;
	   0		?			?	:	-;

	   x		0			0	:	-;
	   x		1			1	:	-;
	endtable
endprimitive

D触发器(边沿敏感)

primitive DFF(q_out, clk, data);
	output q_out;
	input clk, data;
	reg q_out;
	// q_out = posedge(clk) ? data : q_out;
	// - 表示保持

	table
	// 时序逻辑table格式
	// input1	input2	state 	: 	output/next_state
	// clk		data	state	:	q_out/next_state
	   (01)		0		?		:	0;
	   (01)		1		?		:	1;
	   (0?)		1		1		:	1;

	   (?0)		?		?		:	-;

	   ?		(??)	?		:	-;
	endtable
endprimitive
  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值