博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Verilog中的逻辑运算符与按位运算符的区分
阅读量:2028 次
发布时间:2019-04-28

本文共 599 字,大约阅读时间需要 1 分钟。

我们在写Verilog的时候经常会用到的是低电平复位问题,例如:

always@(posedge clk or negedge rst_n) beginif(~rst_n) ...;else ...;end

由于rst_n是一位的,所以使用逻辑非!,或者是按位非~,效果是一样的,但是如果遇到的是向量呢?

逻辑非和按位非就不能混用了。包括逻辑或||,按位或|等。

二者之间的长相区别很明显,按位操作一般只有单个符号,例如:&,|,而逻辑是双的,如:&&,||。

下面给出一个例子:

Bitwise vs. Logical Operators

a和b是输入,out_or_bitwise和out_or_logic分别是按位或与逻辑或的结果。

out_not是a和b的按位取反,b在高位。

写出代码如下:

module top_module(     input [2:0] a,    input [2:0] b,    output [2:0] out_or_bitwise,    output out_or_logical,    output [5:0] out_not);    assign out_or_bitwise = a | b;    assign out_or_logical = a || b;    assign out_not =  {~b, ~a};endmodule

 

转载地址:http://mmjaf.baihongyu.com/

你可能感兴趣的文章
GridView选择性导出Excel
查看>>
GridView+存储过程实现'真分页'
查看>>
HTML5-认识篇
查看>>
Web Service(一):Hello World
查看>>
开启 J2EE(二)— JDBC
查看>>
使用redis做mysql缓存
查看>>
JavaWeb JavaScript
查看>>
JavaWeb Request和Response
查看>>
深入理解JVM1
查看>>
JavaWeb Servlet
查看>>
深入理解JVM3
查看>>
JavaWeb Tomcat
查看>>
rocketMQ基本理解
查看>>
Linux下的Nginx安装
查看>>
利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件
查看>>
JVM
查看>>
Apach Hadoop 与 CDH 区别
查看>>
Docker(五):Dockerfile
查看>>
tomcat中server.xml配置详解
查看>>
事务及事务隔离级别
查看>>