verilog中逻辑运算符与按位逻辑运算符的区别 Verilog中&与&&的区别

\u8bd5\u6bd4\u8f83verilog hdl\u7684\u903b\u8f91\u8fd0\u7b97\u7b26\uff0c\u6309\u4f4d\u8fd0\u7b97\u7b26\u548c\u7f29\u4f4d\u8fd0\u7b97\u7b26\u6709\u54ea\u4e9b\u76f8\u540c\u70b9\u548c\u4e0d\u540c

\u4e0d\u540c\u70b9\uff1a\u903b\u8f91\u8fd0\u7b97\u7b26\u6267\u884c\u903b\u8f91\u64cd\u4f5c\uff0c\u8fd0\u7b97\u7ed3\u679c\u662f\u4e00\u4f4d\u903b\u8f91\u503c0\u30011\u6216x\uff1b\u6309\u4f4d\u8fd0\u7b97\u7b26\u4ea7\u751f\u4e00\u4e2a\u4e0e\u4f4d\u5bbd\u8f83\u957f\u64cd\u4f5c\u6570\u76f8\u7b49\u5bbd\u7684\u503c\uff0c\u8be5\u503c\u7684\u6bcf\u4e00\u4f4d\u90fd\u662f\u4e24\u4e2a\u64cd\u4f5c\u6570\u6309\u4f4d\u8fd0\u7b97\u7684\u7ed3\u679c\uff1b\u7f29\u4f4d\u8fd0\u7b97\u7b26\u5219\u4ec5\u5bf9\u4e00\u4e2a\u64cd\u4f5c\u6570\u8fdb\u884c\u8fd0\u7b97\uff0c\u5e76\u4ea7\u751f\u4e00\u4f4d\u7684\u903b\u8f91\u503c\u3002
\u76f8\u540c\u70b9\uff1a\u9664\u4e86\u903b\u8f91\u975e\uff08!\uff09\u4e0e\u975e\uff08~\uff09\u8fd0\u7b97\u5916\u90fd\u5c5e\u4e8e\u540c\u4e00\u4f18\u5148\u7b49\u7ea7\u7684\u8fd0\u7b97\u7b26\u3002

1\u3001\u4e24\u8005\u6982\u5ff5\u4e0d\u540c
&&\u662f\u903b\u8f91\u4e0e\uff1a\u5373\u5224\u65ad&&\u4e24\u4fa7\u7684\u8868\u8fbe\u5f0f\u662f\u5426\u90fd\u4e3a\u771f\uff0c\u90fd\u4e3a\u771f\u5219\u6b64&&\u8868\u8fbe\u5f0f\u503c\u4e3a\u771f\uff1b
& \u662f\u6309\u4f4d\u4e0e\uff1a\u5373\u5c06&\u4e24\u4fa7\u7684\u6570\u7528\u4e8c\u8fdb\u5236\u5c55\u5f00\uff0c\u6bcf\u4e00\u4f4d\u90fd\u6c42\u4e0e\u8fd0\u7b97(\u4e8c\u8fdb\u5236\u4e0e\u8fd0\u7b97\uff0c\u8ddf\u903b\u8f91\u4e0e\u5dee\u4e0d\u591a)\uff0c\u6700\u540e\u5f97\u5230\u7684\u4e8c\u8fdb\u5236\u6570\u5373\u4e3a\u7ed3\u679c\uff1b
2\u3001\u4e24\u8005\u7ed3\u679c\u4e0d\u540c
\u903b\u8f91\u4e0e\u7ed3\u679c\u53ea\u8bb2\u771f\u548c\u5047\uff0c\u800c\u6309\u4f4d\u4e0e\u5f97\u51fa\u7684\u5374\u662f\u5b9e\u5b9e\u5728\u5728\u7684\u4e00\u4e2a\u6570\u3002
\u4ee5\u4e00\u4e2aVerilog\u6d4b\u8bd5\u7a0b\u5e8f\u4e3a\u4f8b\uff0c\u8bf4\u660e\u4e24\u8005\u4e4b\u95f4\u7684\u533a\u522b\uff1a
module test (CLK, AA, BB, CC, AOUT, BOUT, COUT, DOUT);
input CLK;
input[3:0] AA,BB,CC;
output AOUT,BOUT,COUT,DOUT;
reg AOUT;
reg BOUT;
reg COUT;
reg DOUT;
always @(posedge CLK)//\u68c0\u6d4b\u65f6\u949f\u4e0a\u5347\u6cbf
begin : u1
if (AA && CC && BB)
begin
AOUT<=1'b1 ;
end
else
begin
AOUT<=1'b0 ;
end
end
always @(posedge CLK)//\u68c0\u6d4b\u65f6\u949f\u4e0a\u5347\u6cbf
begin : u2
if (AA & CC & BB)
begin
BOUT<=1'b1 ;
end
else
begin
BOUT<=1'b0 ;
end
end
always @(posedge CLK)//\u68c0\u6d4b\u65f6\u949f\u4e0a\u5347\u6cbf
begin : u3
if ((AA>5) && (CC4))
begin
COUT<=1'b1 ;
end
else
begin
COUT<=1'b0 ;
end
end
always @(posedge CLK)//\u68c0\u6d4b\u65f6\u949f\u4e0a\u5347\u6cbf
begin : u4
if ((AA>5) & (CC4))
begin
DOUT<=1'b1 ;
end
else
begin
DOUT<=1'b0 ;
end
end
endmodule
\u4e0a\u9762\u4e09\u4e2aalways @()\u4e2d\u5206\u522b\u7528\u5230\u5982\u4e0b\u4e09\u79cdif\u5224\u65ad\u8868\u8fbe\u5f0f
(AA && CC && BB)
(AA & CC & BB)
((AA>5) && (CC4))
((AA>5) & (CC4))


\u6269\u5c55\u8d44\u6599\uff1a
\u5bf9\u8fd9\u56db\u6761\u8868\u8fbe\u5f0f\u8fdb\u884c\u903b\u8f91\u5206\u6790 \uff1a
1\u3001(AA && CC && BB)
\u903b\u8f91\u5206\u6790\uff1a
\u5f53AA\u3001BB\u3001CC\u90fd\u4e3a\u975e0\u6570\u65f6\uff0c\u8868\u8fbe\u5f0f\u4e3a\u201c1\u201d\u3002
\u600e\u4e48\u5224\u65adAA\u3001BB\u3001CC\u4e3a\u975e\u201c0\u201d\uff0c\u5148\u5206\u6790\u4e00\u4e0b\u4e3a\u201c0\u201d\u7684\u60c5\u51b5\u3002
\u5f53AA\u4e3a0\u7684\u65f6\u5019\uff0cAA\u7b49\u4e8e4'b0\uff0c\u5373\u6bcf\u4f4d\u90fd\u4e3a0\uff0c\u5373\u53ea\u9700AA\u76844\u4f4d\u77e2\u91cf\u4e4b\u95f4\u505a\u4e00\u4e0b\u201c\u903b\u8f91\u6216\u201d\u8fd0\u7b97\uff0cAA[3] || AA[2] || AA[1] || AA[0]\uff0c\u4e5f\u53ef\u5199\u6210(|AA)\uff1b
\u5f534\u4f4d\u77e2\u91cf\u4e2d\u53ea\u9700\u6709\u4e00\u4f4d\u4e0d\u4e3a0\uff0c\u90a3\u4e48AA\u5c31\u5fc5\u7136\u4e0d\u4e3a\u201c0\u201d\u3002
\u6574\u4e2a\u5b9e\u73b0\u8fc7\u7a0b\u5c31\u662f\uff0c\u5148AA\u3001BB\u3001CC\u5404\u81ea\u672c\u8eab\u7684\u5404\u4f4d\u4e4b\u95f4\u505a\u201c\u903b\u8f91\u6216\u201d\u8fd0\u7b97\uff0c\u8fd0\u7b97\u7684\u7ed3\u679c\u4e4b\u95f4\u505a\u201c\u903b\u8f91\u4e0e\u201d\u8fd0\u7b97\u3002
2\u3001(AA & CC & BB)
\u903b\u8f91\u5206\u6790\uff1a
\u8868\u8fbe\u5f0f(AA & CC & BB)\u7b49\u6548\u4e3a\uff1a
((AA[3] & BB[3] & CC[3]) || (AA[2] & BB[2] & CC[2]) ||
(AA[1] & BB[1] & CC[1]) || (AA[0] & BB[0] & CC[0]))
\u5373\u53ea\u9700\u8981\u5176\u4e2d\u6709\u4e00\u4e2a\u8868\u8fbe\u5f0f(AA[i] & BB[i] & CC[i]) \u4e0d\u4e3a\u201c0\u201d\uff0c\u5219\u6574\u4e2a\u7ed3\u679c\u5c31\u4e3a\u201c1\u201d \uff0ci\u53d60\u52303\u3002
3\u3001((AA>5) && (CC4))
\u903b\u8f91\u5206\u6790\uff1a
\u8868\u8fbe\u5f0f(AA>5)\u3001(CC4)\u7ed3\u679c\u5747\u4e3a1\u4f4d\u7684\u903b\u8f91\u91cf\uff0c\u4e09\u4e2a\u903b\u8f91\u91cf\u4e4b\u95f4\u505a\u201c\u903b\u8f91\u4e0e\u201d\u3002
4\u3001((AA>5) & (CC4))
\u903b\u8f91\u5206\u6790\uff1a
\u4e09\u4e2a\u4e00\u4f4d\u7684\u903b\u8f91\u91cf\u4e4b\u95f4\u505a\u201c\u903b\u8f91\u4e0e\u201d\u548c\u201c\u4f4d\u4e0e\u201d\u662f\u7b49\u6548\u7684\u3002

逻辑运算符,其运算结果为1bit,不是0,就是1。
按位逻辑运算符,对操作数的每一个bit都进行相应的逻辑运算,操作数有多少bit,其运算结果就有多少bit。

  • verilog涓昏緫杩愮畻绗︿笌鎸浣嶉昏緫杩愮畻绗︾殑鍖哄埆
    绛旓細閫昏緫杩愮畻绗锛屽叾杩愮畻缁撴灉涓1bit锛屼笉鏄0锛屽氨鏄1銆傛寜浣嶉昏緫杩愮畻绗︼紝瀵规搷浣滄暟鐨勬瘡涓涓猙it閮借繘琛岀浉搴旂殑閫昏緫杩愮畻锛屾搷浣滄暟鏈夊灏慴it锛屽叾杩愮畻缁撴灉灏辨湁澶氬皯bit銆
  • 璇曟瘮杈verilog hdl鐨勯昏緫杩愮畻绗,鎸変綅杩愮畻绗﹀拰缂╀綅杩愮畻绗︽湁鍝簺鐩稿悓鐐...
    绛旓細涓嶅悓鐐癸細閫昏緫杩愮畻绗鎵ц閫昏緫鎿嶄綔锛岃繍绠楃粨鏋滄槸涓浣嶉昏緫鍊0銆1鎴杧锛涙寜浣嶈繍绠楃浜х敓涓涓笌浣嶅杈冮暱鎿嶄綔鏁扮浉绛夊鐨勫硷紝璇ュ肩殑姣忎竴浣嶉兘鏄袱涓搷浣滄暟鎸変綅杩愮畻鐨勭粨鏋滐紱缂╀綅杩愮畻绗﹀垯浠呭涓涓搷浣滄暟杩涜杩愮畻锛屽苟浜х敓涓浣鐨勯昏緫鍊笺傜浉鍚岀偣锛氶櫎浜嗛昏緫闈烇紙!锛変笌闈烇紙~锛夎繍绠楀閮藉睘浜庡悓涓浼樺厛绛夌骇鐨勮繍绠楃銆
  • 璇曟瘮杈verilog hdl鐨勯昏緫杩愮畻绗,鎸変綅杩愮畻绗﹀拰缂╀綅杩愮畻绗︽湁鍝簺鐩稿悓鐐...
    绛旓細1锛屼綅杩愮畻绗 鎸変綅杩愮畻鐨勮繍绠楃鏄綅杩愮畻绗︼紝鍘熸潵鐨勬搷浣滄暟鏈夊嚑浣嶏紝缁撴灉灏辨湁鍑犱綅锛 鑻ヤ袱涓搷浣滄暟浣嶆暟涓嶅悓锛屽垯浣嶆暟鐭殑鎿嶄綔鏁板乏绔細鑷姩琛0銆 锛1锛夛紝鎸変綅鍙栧弽锛殈 锛2锛夛紝鎸変綅涓庯細& 锛3锛夛紝鎸変綅鎴栵細| 锛4锛夛紝鎸変綅寮傛垨锛歗 锛5锛夛紝鎸変綅鍚屾垨锛歗~鎴杶^ 2锛岀缉浣嶈繍绠楃锛堝張绉...
  • Verilog涓&涓&&鐨勫尯鍒
    绛旓細Verilog涓&涓&&鐨勫尯鍒负锛氭ц川涓嶅悓銆佽绠楃粨鏋滀笉鍚屻佸弬鏁颁笉鍚屻備竴銆佹ц川涓嶅悓 1銆&锛&鏄綅杩愮畻绗︼紝琛ㄧず鏄寜浣嶄笌銆2銆&&锛&&鏄閫昏緫杩愮畻绗锛岃〃绀烘槸閫昏緫涓庛備簩銆佽绠楃粨鏋滀笉鍚 1銆&锛&鐨勮绠楃粨鏋滀负鍗佽繘鍒舵暟銆2銆&&锛&&鐨勮绠楃粨鏋滀负true鎴杅alse銆備笁銆佸弬鏁颁笉鍚 1銆&锛&鐨勫弬鏁颁负杩涘埗鏁帮紝鍙互鏄簩杩...
  • Verilog涓&涓&&鐨勫尯鍒
    绛旓細& 鏄寜浣嶄笌锛氬嵆灏&涓や晶鐨勬暟鐢ㄤ簩杩涘埗灞曞紑锛屾瘡涓浣嶉兘姹備笌杩愮畻(浜岃繘鍒朵笌杩愮畻锛璺熼昏緫涓庡樊涓嶅)锛屾渶鍚庡緱鍒扮殑浜岃繘鍒舵暟鍗充负缁撴灉锛2銆佷袱鑰呯粨鏋滀笉鍚 閫昏緫涓缁撴灉鍙鐪熷拰鍋囷紝鑰屾寜浣嶄笌寰楀嚭鐨勫嵈鏄疄瀹炲湪鍦ㄧ殑涓涓暟銆備互涓涓Verilog娴嬭瘯绋嬪簭涓轰緥锛岃鏄庝袱鑰呬箣闂寸殑鍖哄埆锛歮odule test (CLK, AA, BB, CC, ...
  • "&"鍦Verilog涓鐨勫惈涔
    绛旓細鎮ㄥソ锛杩愮畻绗&"鏄畻鏈杩愮畻褰撲腑鐨勬寜浣嶄笌"鎿嶄綔锛佹寜浣嶄笌杩愮畻灏辨槸灏嗕袱涓搷浣滄暟鐨勭浉搴斾綅杩涜涓庤繍绠,杩愮畻瑙勫垯瑙佷笅琛:&01x 0000 101x x0xx 浣跨敤鏂规硶濡備笅鍙婁緥瀛愶細assign a = b & c;鎴栬 a < = 3'b011 & 3'b001;a缁撴灉绛変簬3鈥榖001!璋㈣阿锛屾ゼ涓伙紒
  • verilog涓绉讳綅鎿嶄綔绗﹀彿
    绛旓細verilog涓绉讳綅鎿嶄綔绗﹀彿鏈2绉嶏紝鍒嗗埆鏄<<鈥濆乏绉讳綅杩愮畻绗﹀拰鈥>>鈥濆彸绉讳綅杩愮畻绗︺傛牸寮忓涓嬶細a<<n锛宎>>n銆傚叾涓紝a浠h〃瑕佺Щ浣嶇殑鎿嶄綔鏁帮紝n浠h〃瑕佺Щ鍑犱綅銆備袱绉嶈繍绠楁柟寮忛兘鐢0鏉ュ~琛ョЩ鍑虹殑绌轰綅銆傜Щ浣嶆搷浣滅瀵瑰乏杈圭殑鎿嶄綔鏁拌繘琛屽悜宸︽垨鍚戝彸鐨勪綅绉讳綅鎿嶄綔锛岀浜屼釜鎿嶄綔鏁帮紝绉讳綅浣嶆暟鏄棤绗﹀彿鏁帮紝閬靛惊鐨勬搷浣滆寰...
  • verilog HDL 鎿嶄綔绗︿腑,鍝簺鎿嶄綔绗︾殑缁撴灉鎬绘槸涓浣嶇殑?
    绛旓細閫昏緫鎿嶄綔绗︾殑缁撴灉鏄竴浣嶇殑锛屽寘鎷細閫昏緫涓&&锛岄昏緫鎴東|锛岄昏緫闈烇紒\x0d\x0a鍏崇郴鎿嶄綔绗︾殑缁撴灉鏄竴浣嶇殑锛屽寘鎷細澶т簬>锛屽ぇ浜庣瓑浜>=锛屽皬浜<锛屽皬浜庣瓑浜<=\x0d\x0a鐩哥瓑鎿嶄綔绗︾殑缁撴灉鏄竴浣嶇殑锛屽寘鎷細閫昏緫鐩哥瓑==锛岄昏緫涓嶇瓑锛=锛屽叏绛===锛岄潪鍏ㄧ瓑锛==\x0d\x0a缂╁噺鎿嶄綔绗︾殑缁撴灉鏄竴浣嶇殑锛屽寘鎷細...
  • 浠涔堟槸鏁版嵁娴佹弿杩? 姣斿:缂栧啓涓浣嶆瘮杈冨櫒鐨Verilog鐨鏁版嵁娴佹弿杩般俖鐧惧害...
    绛旓細鏁版嵁娴佹弿杩版槸鎸囨牴鎹俊鍙蜂箣闂鐨勯昏緫鍏崇郴锛岄噰鐢ㄦ寔缁祴鍊艰鍙ユ弿杩伴昏緫鐢佃矾鐨勬柟寮忋傞氳繃瑙傚療鏄惁浣跨敤assign璧嬪艰鍙ュ彲浠ュ垽鏂槸鍚︽湁鏁版嵁娴佹弿杩般傚湪鏁版嵁娴佹弿杩版柟寮忎腑锛岃繕蹇呴』鍊熷姪浜嶩DL鎻愪緵鐨勪竴浜杩愮畻绗銆傚绠楁湳杩愮畻绗︼細鍔狅紙+锛夈佸噺锛-锛夌瓑锛涘叧绯昏繍绠楃锛氬ぇ浜庯紙>锛,绛変簬锛==锛,涓嶇瓑浜庯紙锛=锛夌瓑绛夛紱鎸変綅閫昏緫杩愮畻...
  • 璇锋暀verilog涓鐨勪笅闈笁绉嶈〃杈惧紡鐨勬剰鎬: ! 4鈥榖0101 is 1鈥檅0; zero=...
    绛旓細锛佹槸閫昏緫杩愮畻绗锛屽鏋滄搷浣滀綅涓嶅彧鏄竴浣嶆暟锛屽簲灏嗘搷浣滄暟浣滀负涓涓暣浣撴潵瀵瑰緟锛屽嵆濡傛灉鎿嶄綔鏁版槸鍏0.灏辩浉褰撲簬閫昏緫0锛屽彧瑕佹湁涓浣嶆槸1锛屽氨鐩稿綋浜庨昏緫1.杩欓噷4鈥榖0101 鐩稿綋浜庨昏緫1锛屽彇鍙嶈嚜鐒朵负0.寤鸿浣犵湅涓涓嬬帇閲戞槑鐗堢殑鏁板瓧绯荤粺璁捐涓verilogHDL锛堢涓夌増锛...
  • 扩展阅读:verilog三目运算符 ... fpga左移符号 ... 逻辑运算符有哪三种 ... verilog运算符优先级 ... verilog循环移位运算符 ... 数字逻辑与verilog答案 ... verilog幂运算 ... verilog与或非逻辑符号 ... verilog中同或运算 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网