组合电路模块---Verilog

1、多路选择器

2选1多路选择器
积之和的形式:求积(与门),求和(或门)

在这里插入图片描述
4选1选择器:利用两个S0,S1的组合作为选择判断点,再利用积之和形式
也可以利用多个2选1,理解为分级处理

在这里插入图片描述
在这里插入图片描述
对4选1多路选择器,进行逻辑综合
思路:
在这里插入图片描述

2、香浓定理

在这里插入图片描述

3、译码器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
思考如何实现4-16译码器
在这里插入图片描述

4、编码器

在这里插入图片描述

5、比较器

在这里插入图片描述

6、Verilog代码实现组合逻辑

// 2选1
module mux2to1(w0,w1,s,f)

	assign f = s? w1 : w0;
	
endmodule
//4选1选择器
module mux4to1(w0,w1,w2,w3,s,f)
	input	w0,w1,w2,w3;
	input	[1:0] s;
	output	f
	
	assign f = s[1]? (s[0] ? w3 :w2) : (s[0] ? w1 :w0)
endmodule

if语句实现组合逻辑
在这里插入图片描述
case语句实现组合逻辑
在这里插入图片描述

Verilog运算符

//按位运算
	~			//取反
	&			//按位与
	|			//按位或
	^			//按位异或
	~^或者^~	//按位同或
	
//逻辑运算
	!			//取反,标量时和按位取反一样,矢量时就不一样了,f=!A 当A的所有位都为假的时候,f输出为真
	&&			//与
	||			//或

//缩减运算		就是对单个矢量操作数的位之间进行运算,其结果缩减为一位二进制数
	&			//缩减与	f=&A 	其实意义时f=a0*a1*a2
	~&			//缩减与非
	|			//缩减或
	~|			//缩减或非
	^			//缩减异或
	~^或者^~	//缩减同或
	
//算术运算	标准的算术操作
	+			//加
	-			//减
	-			//补码
	*			//乘法
	/			//除法
	
//关系运算
	>			//大于
	<			//小于
	>=			//大于等于
	<=			//小于等于
	
//等式运算
	==			//逻辑等于
	!=			//逻辑不等于
	
//移位运算
	>>			//右移
	<<			//左移
	
//位连接运算	把两个或更多的矢量连接到一起,形成更大的矢量	
//假如超出上限怎么办?会丢弃吗?
	{,}			//连接

//复制运算
	{{}}		//复制,{3{a}}等价于{a,a,a}
	
//条件运算
	? :			//条件

优先级

在这里插入图片描述

练习

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值