Verilog里面的位拼接运算符是什么意思?怎么用?如{cout,sum}=ina+inb+cin,能简单解释一下吗? verilog中assign{ }是什么意思

Verilog\u91cc\u9762\u7684\u4f4d\u62fc\u63a5\u8fd0\u7b97\u7b26\u662f\u4ec0\u4e48\u610f\u601d\uff1f

\u5047\u5982cout\u662f\u4e00\u4f4d\u7684
sum\u662f4\u4f4d\u7684
ina\uff0cinb\u662f4\u4f4d\u7684
cin\u662f\u4e00\u4f4d\u7684
\u5982\u679cina+inb+cin\u548c\u8d85\u8fc7\u4e864\u4f4d\u90a3\u4e48\u8d4b\u503c\u7ed9sum\uff0c\u5c31\u4f1a\u6ea2\u51fa\uff0c\u7b2c5\u4f4d\u76841\u5728sum\u4e2d\u4f53\u73b0\u4e0d\u51fa\u6765\u3002
\u6240\u4ee5\u8fd9\u65f6\u5019\u7528\u62fc\u63a5\u8ba9cout\u4e0esum\u7684\u9ad8\u4f4d\u62fc\u63a5\u3002\u8fd9\u6837\u7b2c\u4e94\u4f4d\u76841\u5c31\u4f1a\u8d4b\u503c\u7ed9cout\u4e86\u3002
cout\u76f8\u5f53\u4e8e\u662f\u4e00\u4e2a\u8fdb\u4f4d\u3002

\u6211\u611f\u89c9\u5427\uff0ccout\u8868\u793aina+inb+cin\u7684\u6700\u9ad8\u90a3\u4f4d\uff0csum\u8868\u793aina+inb+cin\u7684\u4f4e\u56db\u4f4d
assign\u7684\u542b\u4e49\u662f\u5b9a\u4e49\uff0c{cout,sum}\u8fd9\u4e2a\u7684\u542b\u4e49\u662f\u5c06\u62ec\u53f7\u5185\u7684\u6570\u6309\u4f4d\u5e76\u5728\u4e00\u8d77\uff0c\u6bd4\u5982\uff1a{1001,1110}\u8868\u793a\u7684\u662f10011110
assign\u8fd8\u6709\u4e2a\u76f8\u4f3c\u7684\u7528\u6cd5\u5982\uff1aassign A = {a\uff0cb}\uff1b
\u82e5a = 100101\uff0cb = 1010
\u90a3\u4e48A\u5c31\u88ab\u5b9a\u4e49\u6210\u4e86A = 1001011010\uff1b

\u6574\u4e2a\u8bed\u53e5\uff1aassign {cout,sum}=ina+inb+cin;
\u542b\u4e49\u4e3a\u5c06\u56db\u4f4d\u6570ina\uff0cinb\uff0ccin\u76f8\u52a0\uff0c\u5176\u503c\u653e\u5165sum\uff0c\u8fdb\u4f4d\u653e\u5165cout\u3002\u6069\uff0c\u8fd9\u662f\u4e00\u4e2a\u5e26\u8fdb\u4f4d\u7684\u52a0\u6cd5\u6a21\u5757\u3002cin\u8868\u793a\u7684\u662f\u4e0a\u4e00\u7ea7\u52a0\u6cd5\u7ed9\u8fd9\u4e00\u7ea7\u7684\u8fdb\u4f4d\u3002
\u5e0c\u671b\u5bf9\u4f60\u6709\u6240\u5e2e\u52a9\u3002
\u8981\u8fd8\u662f\u4e0d\u61c2\u53ef\u767e\u5ea6hi\u6211

楼上说的只是针对它这个例子的一种用法而已。
拼接运算就是把两个信号的位宽拼起来,得到另一个信号,其位宽是那两个信号之和。
比如说假设信号B={A[6:0],C[7]}。信号A是7位,C是1位,那么B就有8位宽了。就是这么简单。
拼接拼接嘛,就是拼起来用。
{cout,sum}其实相当于一个信号X,它的位宽是cout和sum的位宽之和。ina+inb+inc和的位宽其实是X,但是他为了直观的阐述X的含义,所以用cout,sum拼起来,这样你就知道了X的含义是sum和进位

假如cout是一位的
sum是4位的
ina,inb是4位的
cin是一位的
如果ina+inb+cin和超过了4位那么赋值给sum,就会溢出,第5位的1在sum中体现不出来。
所以这时候用拼接让cout与sum的高位拼接。这样第五位的1就会赋值给cout了。
cout相当于是一个进位。

  • verilog鎷兼帴绗︾殑鐢ㄦ硶
    绛旓細鍦Verilog HDL璇█鏈変竴涓壒娈婄殑杩愮畻绗︼細浣嶆嫾鎺ヨ繍绠绗}锛岀敤杩欎釜杩愮畻绗﹀彲浠ユ妸涓や釜鎴栧涓俊鍙风殑鏌愪簺浣嶆嫾鎺ヨ捣鏉ヨ繘琛岃繍绠楁搷浣溿傚叾浣跨敤鏂规硶濡備笅:鍗虫妸鏌愪簺鍊嶅彿鐨勬煇浜涗綅璇︾粏鍦板垪鍑烘潵锛屼腑闂寸敤閫楀彿鍒嗗紑锛屾渶鍚庣敤澶ф嫭鍙锋嫭璧锋潵琛ㄧず涓涓暣浣撲俊鍙凤紝渚嬪锛氫篃鍙互鍐欐垚涓猴細鍦ㄤ綅鎷兼帴琛ㄨ揪寮忎腑涓嶅厑璁稿瓨鍦ㄦ病鏈夋寚鏄庝綅鏁扮殑淇″彿銆...
  • Verilog涓 {a,b}鎬庝箞杩愮畻 濡傛灉a=1b' b=3b'001 {a,b}=?
    绛旓細杩欎釜鏄綅鎷兼帴 {a,b}='b1001銆傚嵆鎶婃煇浜涘嶅彿鐨勬煇浜涗綅璇︾粏鍦板垪鍑烘潵锛屼腑闂寸敤閫楀彿鍒嗗紑锛屾渶鍚庣敤澶ф嫭鍙锋嫭璧锋潵琛ㄧず涓涓暣浣撲俊鍙凤紝鍦ㄤ綅鎷兼帴琛ㄨ揪寮忎腑涓嶅厑璁稿瓨鍦ㄦ病鏈夋寚鏄庝綅鏁扮殑淇″彿銆傝繖鏄洜涓哄湪璁$畻鎷兼帴淇″彿鐨勪綅瀹界殑澶у皬鏃跺繀闇鐭ラ亾鍏朵腑姣忎釜淇″彿鐨勪綅瀹姐
  • 璇烽棶verilog閲澶ф嫭鍙穥}鍦ㄥ洓鍒杩愮畻涓殑鐢ㄦ硶?
    绛旓細澶ф嫭鍙锋槸甯歌鐨勬爣鐐圭鍙凤紝鍦ㄦ暟瀛﹂噷琛ㄧず鏌愪簺杩愮畻瑕佷紭鍏堣繘琛岋紝濡傛灉涓涓畻寮忛噷鏃㈡湁灏忔嫭鍙枫佷腑鎷彿锛屽張鏈夊ぇ鎷彿锛屾垜浠緱鍏堢畻灏忔嫭鍙閲岄潰鐨锛屽啀绠椾腑鎷彿閲岄潰鐨勶紝鏈鍚庣畻澶ф嫭鍙烽噷闈㈢殑銆傚笇鏈涙垜鑳藉府鍔╀綘瑙g枒閲婃儜銆
  • Verilog閲岄潰鐨勪綅鎷兼帴杩愮畻绗︽槸浠涔堟剰鎬?鎬庝箞鐢?濡倇cout,sum}=ina+in...
    绛旓細鎷兼帴杩愮畻灏辨槸鎶婁袱涓俊鍙风殑浣嶅鎷艰捣鏉ワ紝寰楀埌鍙︿竴涓俊鍙凤紝鍏朵綅瀹芥槸閭d袱涓俊鍙蜂箣鍜銆傛瘮濡傝鍋囪淇″彿B={A[6:0],C[7]}銆備俊鍙稟鏄7浣嶏紝C鏄1浣嶏紝閭d箞B灏辨湁8浣嶅浜嗐傚氨鏄繖涔堢畝鍗曘傛嫾鎺ユ嫾鎺ュ槢锛屽氨鏄嫾璧锋潵鐢ㄣ倇cout,sum}鍏跺疄鐩稿綋浜庝竴涓俊鍙稾锛屽畠鐨勪綅瀹芥槸cout鍜宻um鐨勪綅瀹戒箣鍜屻俰na+inb+inc鍜岀殑浣...
  • verilog涓绉讳綅鎿嶄綔绗﹀彿
    绛旓細verilog涓绉讳綅鎿嶄綔绗﹀彿鏈2绉嶏紝鍒嗗埆鏄<<鈥濆乏绉讳綅杩愮畻绗﹀拰鈥>>鈥濆彸绉讳綅杩愮畻绗︺傛牸寮忓涓嬶細a<<n锛宎>>n銆傚叾涓紝a浠h〃瑕佺Щ浣嶇殑鎿嶄綔鏁帮紝n浠h〃瑕佺Щ鍑犱綅銆備袱绉嶈繍绠楁柟寮忛兘鐢0鏉ュ~琛ョЩ鍑虹殑绌轰綅銆傜Щ浣嶆搷浣滅瀵瑰乏杈圭殑鎿嶄綔鏁拌繘琛屽悜宸︽垨鍚戝彸鐨勪綅绉讳綅鎿嶄綔锛岀浜屼釜鎿嶄綔鏁帮紝绉讳綅浣嶆暟鏄棤绗﹀彿鏁帮紝閬靛惊鐨勬搷浣滆寰...
  • verilog 浣嶆嫾鎺ヨ繍绠绗}鎬庝箞鐢ㄧ殑鍟?
    绛旓細assign icoef={{(mwidth-cwidth){coef[cwidth-1]}},coef} {coef[cwidth-1]}杩欓噷鏄彇浜哻odf鐨勬煇涓浣嶏紝cwidth-1鑳界畻鍑轰竴涓兼潵鍚с倇(mwidth-cwidth){coef[cwidth-1]}}杩欓噷鏄coef涓殑閭d竴浣嶈繘琛屼簡mwidth-cwidth娆$殑閲嶅 鏈鍚庡湪鎷兼帴coef鐨勬墍鏈変綅 鍏跺疄浣犵敤$display鐪嬬湅缁撴灉灏辩煡閬撲簡 ...
  • verilog HDL杩愮畻鎷兼帴绗,瓒呰繃鏈繕淇濈暀鏈楂樿繕鏄渶浣庝綅
    绛旓細浣嶆嫾鎺涓嶄細浜х敓婧㈠嚭锛寋out,in}鐨勫兼槸楂樺洓浣嶄负out鐨勫硷紝浣嶺浣嶄负in鐨勫硷紝涓昏鏄洜涓轰綘璧嬪肩粰out鏄4浣嶇殑锛屾墍浠ユ寜鐓ut涓4浣嶇殑瑕佹眰鏉ュ姙锛宱ut鐨勫间负{out,in}鐨勪綆鍥涗綅锛屽嵆蹇界暐鏈楂樹綅銆
  • verilog杩欏彞璇█鏄粈涔堟剰鎬? data_temp <= {data_temp[2:0],data...
    绛旓細" ^ "琛ㄧず涓や釜鎿嶄綔鏁拌繘琛屽紓鎴栨搷浣溿俤ata_temp[3]鍜宒ata_temp[0]寮傛垨銆傜劧鍚巤 , }杩欑澶ф嫭鍙锋槸浣嶆嫾鎺ヨ繍绠绗,date_temp鐢眃ata_temp[2:0] 鍜 寮傛垨鍚庣殑鏁 鎷兼帴寰楀埌銆<=鏄潪闃诲璧嬪
  • verilog{1'b0,a}浠涔堟剰鎬?
    绛旓細澶ф嫭鍙锋槸涓涓鎷兼帴杩愮畻绗︼紝鍥犳杩欐潯璇彞鐨勫惈涔夊氨鏄皢1bit鐨0鍜宎杩涜鎷兼帴銆傚亣璁綼鐨勫兼槸4'b1001锛岄偅涔堢粡杩噞1'b0,a}涔嬪悗灏卞彉鎴愪簡5'0_1001锛屼綅瀹藉彉鎴5姣旂壒浜嗐
  • "&"鍦Verilog涓殑浣滅敤
    绛旓細杩欎釜鐩稿綋浜庢嫾鎺 浣嶆暟 鐨勬嫾鎺 渚嬪 7 downto 0 鍙嫾鎺ユ垚 9 downto 0
  • 扩展阅读:verilog设计电子钟 ... verilog 两个位拼接符 ... verilog仿真测试文件 ... verilog入门教程 ... vhdl位拼接写法 ... verilog数据拼接 ... verilog三目运算符 ... verilog怎么移位打拍 ... verilog如何进行仿真 ...

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