Verilog-1995和verilog-2001的区别和改进

Verilog-1995\u548cverilog-2001\u7684\u533a\u522b\u548c\u6539\u8fdb

1\u3001\u6a21\u5757\u58f0\u660e\u7684\u6269\u5c55
\uff081\uff09 Verilog\u20102001\u5141\u8bb8\u5c06\u7aef\u53e3\u58f0\u660e\u548c\u6570\u636e\u7c7b\u578b\u58f0\u660e\u653e\u5728\u540c\u4e00\u6761\u8bed\u53e5\u4e2d\uff0c\u4f8b\u5b50\u5982\u4e0b\uff1a

\u5411\u5de6\u8f6c|\u5411\u53f3\u8f6c


\uff082\uff09Verilog\u20102001\u4e2d\u589e\u52a0\u4e86ANSIC\u98ce\u683c\u7684\u8f93\u5165\u8f93\u51fa\u7aef\u53e3\u58f0\u660e\uff0c\u53ef\u4ee5\u7528\u4e8emodule\uff0ctask\u548cfunction\u3002\u4f8b\u5b50\u5982\u4e0b\uff1a

\u5411\u5de6\u8f6c|\u5411\u53f3\u8f6c


\uff083\uff09\u5bf9\u4e8e\u542b\u6709parameter\u7684module\uff0c\u4f8b\u5b50\u5982\u4e0b\uff1a

\u5411\u5de6\u8f6c|\u5411\u53f3\u8f6c


2\u3001\u5e26\u6709\u521d\u59cb\u5316\u7684\u5bc4\u5b58\u5668\u7c7b\u578b\u53d8\u91cf\u58f0\u660e
Verilog\u20102001\u4e2d\u5141\u8bb8\u5728\u58f0\u660e\u53d8\u91cf\u7684\u540c\u65f6\u5bf9\u5176\u8fdb\u884c\u521d\u59cb\u5316\u8d4b\u503c\uff0c\u4ed6\u662f\u5728initial\u8bed\u53e5\u4e2d\u76840\u65f6\u523b\u5f00\u59cb\u6267\u884c\u3002\u4f8b\u5b50\u5982\u4e0b\uff1a

3\u3001\u654f\u611f\u8868\u7684\u6539\u8fdb
\uff081\uff09\u9017\u53f7\u5206\u5f00\u654f\u611f\u5217\u8868
\u5728\u654f\u611f\u8868\u4e2d\u7684\u53d8\u91cf\u53ef\u4ee5\u7528\u9017\u53f7\u201c\uff0c\u201d\u5206\u5f00\uff0c\u5f53\u7136\uff0c\u5f53\u7136or\u4e5f\u662f\u53ef\u4ee5\u7684\u3002\u4f8b\u5b50\u5982\u4e0b\uff1a

always@(posedge clk,negedge rst)\u4e5f\u662f\u53ef\u4ee5\u7684\u3002
\uff082\uff09\u7ec4\u5408\u903b\u8f91\u7684\u7535\u5e73\u654f\u611f@* //@(*) is also ok
\u201c*\u201d\u4ee3\u8868\u4e86\u903b\u8f91\u5757\u4e2d\u6bcf\u4e2a\u88ab\u8d4b\u503c\u7684\u53d8\u91cf\uff0c\u4f8b\u5b50\u5982\u4e0b\uff1a

4\u3001\u6709\u7b26\u53f7\u7b97\u6570\u8fd0\u7b97\u7684\u6269\u5c55
\uff081\uff09net\u578b\u548creg\u578b\u53ef\u4ee5\u58f0\u660e\u4e3a\u5e26\u7b26\u53f7\u7684\u53d8\u91cf

\uff082\uff09\u51fd\u6570\u7684\u8fd4\u56de\u503c\u53ef\u4ee5\u662f\u6709\u7b26\u53f7\u6570

\uff083\uff09Literal integer numbers\u53ef\u4ee5\u5b9a\u4e49\u4e3a\u6709\u7b26\u53f7\u7684


\uff084\uff09\u589e\u52a0\u7b97\u6570\u53f3\u79fb\u5de6\u79fb\uff08>>>,<<<\uff09
\u64cd\u4f5c\u7b26\u201c>>>\u201d\u548c\u201c<<<\u201d\u3002\u5bf9\u4e8e\u6709\u7b26\u53f7\u6570\uff0c\u6267\u884c\u7b97\u672f\u79fb\u4f4d\u64cd\u4f5c\u65f6\uff0c\u5c06\u7b26\u53f7\u4f4d\u586b\u8865\u79fb\u51fa\u7684\u4f4d\u3002\u4f8b\u5b50\u5982\u4e0b\uff1a

\uff085\uff09\u589e\u52a0\u7cfb\u7edf\u51fd\u6570$signed\uff0c$unsigned
\u7528\u4e8e\u5728\u65e0\u7b26\u53f7\u548c\u6709\u7b26\u53f7\u6570\u4e4b\u95f4\u7684\u8f6c\u6362

5\u3001\u53ef\u53d8\u5411\u91cf\u57df\u7684\u9009\u62e9
[+\u201d:width]\u4ece\u8d77\u59cb\u4f4d\u5f00\u59cb\u9012\u589e\uff0c\u4f4d\u5bbd\u4e3awidth
[\u2010\u201d:width]\u4ece\u8d77\u59cb\u4f4d\u5f00\u59cb\u9012\u51cf\uff0c\u4f4d\u5bbd\u4e3awidth

\u5176\u4e2d\uff0c\u8d77\u59cb\u4f4d\u53ef\u4ee5\u662f\u53d8\u91cf\uff0c\u4f46\u4f4d\u5bbd\u5fc5\u987b\u662f\u6574\u6570\u3002\u56e0\u6b64\u53ef\u4ee5\u7528\u53ef\u53d8\u57df\u9009\u62e9\uff0c\u7528\u5faa\u73af\u8bed\u53e5\u9009\u53d6\u4e00\u4e2a\u5f88\u957f\u7684\u5411\u91cf\u6240\u6709\u4f4d\u3002

6\u3001\u591a\u7ef4\u6570\u7ec4\u7684\u5efa\u7acb
Verilog\u20101995\u4e2d\u53ea\u5141\u8bb8\u5bf9reg\uff0cinteger\u548ctime\u5efa\u7acb\u4e00\u7ef4\u7684\u6570\u7ec4\uff0c\u5e38\u7528\u4e8eRAM,ROM\u7684\u5efa\u6a21\u3002Verilog\u20102001\u4e2d\u53ef\u4ee5\u5bf9net\u548cvariable\u5efa\u7acb\u591a\u7ef4\u6570\u7ec4\u3002

7\u3001\u591a\u7ef4\u6570\u7ec4\u7684\u8d4b\u503c
Verilog\u20101995\u4e0d\u5141\u8bb8\u76f4\u63a5\u8bbf\u95ee\u77e9\u9635\u5b57\u7684\u67d0\u4e00\u4f4d\u6216\u67d0\u51e0\u4f4d\uff0c\u5fc5\u987b\u5c06\u6574\u4e2a\u77e9\u9635\u5b57\u590d\u5236\u5230\u53e6\u4e00\u4e2a\u6682\u5b58\u53d8\u91cf\u4e2d\uff0c\u4ece\u6682\u5b58\u4e2d\u8bbf\u95ee\u3002
Verilog\u20102001\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee\u77e9\u9635\u7684\u67d0\u4e00\u7ef4\u6216\u67d0\u51e0\u4f4d\u3002

8\u3001\u4e58\u65b9\u8fd0\u7b97\u7b26
\u589e\u52a0\u4e58\u65b9\u8fd0\u7b97\uff08power operate\uff09\uff0c\u8fd0\u7b97\u7b26\u662f**\uff0c\u5982\u679c\u5176\u4e2d\u6709\u4e00\u4e2a\u64cd\u4f5c\u6570\u662freal\u7c7b\u578b\u7684\uff0c\u8fd4\u56de\u503c\u5c06\u662freal\u7c7b\u578b\u3002\u4e24\u4e2a\u64cd\u4f5c\u6570\u90fd\u662finteger\u7c7b\u578b\uff0c\u8fd4\u56de\u624d\u662finteger\u7c7b\u578b\u3002

9\u3001\u81ea\u52a8\uff08\u53ef\u91cd\u5165\uff09\u4efb\u52a1\u548c\u81ea\u52a8\uff08\u9012\u5f52\uff09\u51fd\u6570
\uff081\uff09\u53ef\u91cd\u5165\u4efb\u52a1
\u4efb\u52a1\u672c\u8d28\u4e0a\u662f\u9759\u6001\u7684\uff0c\u540c\u65f6\u5e76\u53d1\u6267\u884c\u7684\u591a\u4e2a\u4efb\u52a1\u5171\u4eab\u5b58\u50a8\u533a\u3002\u5f53\u67d0\u4e2a\u4efb\u52a1\u5728\u6a21\u5757\u4e2d\u7684\u591a\u4e2a\u5730\u65b9\u88ab\u540c\u65f6\u8c03\u7528\uff0c\u5219\u8fd9\u4e24\u4e2a\u4efb\u52a1\u5bf9\u540c\u4e00\u5757\u5730\u5740\u7a7a\u95f4\u8fdb\u884c\u64cd\u4f5c\uff0c\u7ed3\u679c\u53ef\u80fd\u662f\u9519\u8bef\u7684\u3002Verilog\u20102001\u4e2d\u589e\u52a0\u4e86\u5173\u952e\u5b57automatic\uff0c\u5185\u5b58\u7a7a\u95f4\u662f\u52a8\u6001\u5206\u914d\u7684\uff0c\u4f7f\u4efb\u52a1\u6210\u4e3a\u53ef\u91cd\u5165\u7684\u3002


\uff082\uff09\u9012\u5f52\u51fd\u6570

10\u3001\u81ea\u52a8\u5bbd\u5ea6\u6269\u5c55
Verilog\u20101995\u4e2d\u5bf9\u4e8e\u4e0d\u6307\u5b9a\u4f4d\u6570\u7684\u4f4d\u5bbd\u8d85\u8fc732\u4e3a\u7684\u603b\u7ebf\u8d4b\u9ad8\u963b\u65f6\uff0c\u53ea\u4f1a\u5bf9\u4f4e32\u4f4d\u8d4b\u503c\u4e3a\u9ad8\u963b\uff0c\u9ad8\u4f4d\u5c06\u4e3a0\u3002
Verilog\u20102001\u5c06\u9ad8\u963b\u6216\u4e0d\u5b9a\u6001\u8d4b\u503c\u7ed9\u672a\u6307\u5b9a\u4f4d\u5bbd\u7684\u4fe1\u53f7\u65f6\uff0c\u53ef\u4ee5\u81ea\u52a8\u6269\u5c55\u5230\u6574\u4e2a\u4f4d\u5bbd\u8303\u56f4\u3002

11\u3001\u5e38\u6570\u51fd\u6570
Verilog\u8bed\u6cd5\u89c4\u5b9a\u5fc5\u987b\u4f7f\u7528\u6570\u503c\u6216\u5e38\u6570\u8868\u8fbe\u5f0f\u6765\u5b9a\u4e49\u5411\u91cf\u7684\u4f4d\u5bbd\u548c\u9635\u5217\u7684\u89c4\u6a21\u3002

Verilog\u20101995\u4e2d\u8981\u6c42\u4e0a\u8ff0\u8868\u8fbe\u5f0f\u5fc5\u987b\u4e3a\u7b97\u6570\u64cd\u4f5c\u3002
Verilog\u20102001\u4e2d\u53ef\u4ee5\u4f7f\u7528\u51fd\u6570\uff0c\u6210\u4e3a\u5e38\u6570\u51fd\u6570\u3002\u4ed6\u7684\u6570\u503c\u5728\u7f16\u8bd1\u6216\u8be6\u7ec6\u63cf\u8ff0\u4e2d\u88ab\u786e\u5b9a\u3002

12\u3001\u589e\u52a0\u4e86\u6587\u4ef6\u8f93\u5165\u8f93\u51fa\u64cd\u4f5c
Verilog\u20101995\u4e2d\u5728\u6587\u4ef6\u7684\u8f93\u5165/\u8f93\u51fa\u64cd\u4f5c\u65b9\u9762\u529f\u80fd\u975e\u5e38\u6709\u9650\uff0c\u6587\u4ef6\u64cd\u4f5c\u7ecf\u5e38\u501f\u52a9\u4e8eVerilog PLI\uff08\u7f16\u7a0b\u8bed\u8a00\u63a5\u53e3\uff09\uff0c\u901a\u8fc7\u4e0eC\u8bed\u8a00\u7684\u6587\u4ef6\u8f93\u5165/\u8f93\u51fa\u5e93\u7684\u8bbf\u95ee\u6765\u5904\u7406\u3002\u5e76\u4e14\u89c4\u5b9a\u540c\u65f6\u6253\u5f00\u7684I/O\u6587\u4ef6\u6570\u4e0d\u80fd\u591a\u4e8e31\u4e2a\u3002
Verilog\u20102001\u589e\u52a0\u4e86\u65b0\u7684\u7cfb\u7edf\u4efb\u52a1\u548c\u51fd\u6570\uff0c\u5e76\u4e14\u89c4\u5b9a\u540c\u65f6\u6253\u5f00\u7684\u6587\u4ef6\u6570\u76ee\u4e3a230\u4e2a

3\u79cd\u751f\u6210\u8bed\u53e5\u5176\u5b9e\u5c31\u662ffor\uff0cif\u548ccase\u3002\u8fd93\u79cd\u8bed\u53e5\u7684\u7528\u5904\u90fd\u975e\u5e38\u6253\u3002
for\u53ef\u4ee5\u7528\u5728testbench\u7684\u6fc0\u52b1\u8bbe\u7f6e\u4e2d\uff0c\u5b9a\u4e49\u4e00\u4e2ainteger i\uff0c\u5728initial\u5757\u4e2d\u5c31\u53ef\u4ee5\u7528for\u6765\u5b9a\u4e49\u4e00\u4e2a\u5faa\u73af\u6fc0\u52b1\uff0c\u53ea\u8981i\u6ee1\u8db3\u4e00\u5b9a\u6761\u4ef6\uff0c\u5c31\u6709\u4e00\u4e2a\u5bf9\u5e94\u7684\u6fc0\u52b1\u4ea7\u751f\u3002
if\u662f\u6700\u5e38\u7528\u7684\u6761\u4ef6\u8bed\u53e5\u3002\u6700\u5e38\u7528\u5728\u884c\u4e3a\u7ea7\u7684\u4ee3\u7801\u4e66\u5199\u4e2d\u3002
\u6bd4\u65b9\u8bf4
if\uff08!reset_n\uff09 // \u5f02\u6b65\u6e05\u96f6\u6709\u6548
q<=0;
else
q<=d\uff1b
case\u7684\u7528\u5904\u66f4\u591a\u4e86\u3002\u5f53\u4f60\u77e5\u9053\u4f60\u60f3\u5b9a\u4e49\u7684\u8f93\u51fa\u7aef\u662f\u4ec0\u4e48\u7684\u65f6\u5019\uff0c\u5c31\u53ef\u4ee5\u7528case\u6765\u751f\u6210\u8f93\u51fa\u4fe1\u53f7\u3002
case\u6700\u4e3b\u8981\u7684\u662f\u8981\u6709\u4e2a\u4f7f\u80fd\u7aef\uff0c\u6839\u636e\u4f7f\u80fd\u7aef\u6765\u786e\u5b9a\u8f93\u51fa\u3002
\u5982
case( {s1,s0} ) // 4\u90091mux
2'b00: y=x[0];
2'b01: y=x[1];
2'b10: y=x[2];
2'b11: y=x[3];
default: y=1'bz;
endcase
Verilog HDL\u662f\u4e00\u79cd\u786c\u4ef6\u63cf\u8ff0\u8bed\u8a00(HDL:Hardware Description
Language)\uff0c\u4ee5\u6587\u672c\u5f62\u5f0f\u6765\u63cf\u8ff0\u6570\u5b57\u7cfb\u7edf\u786c\u4ef6\u7684\u7ed3\u6784\u548c\u884c\u4e3a\u7684\u8bed\u8a00\uff0c\u7528\u5b83\u53ef\u4ee5\u8868\u793a\u903b\u8f91\u7535\u8def\u56fe\u3001\u903b\u8f91\u8868\u8fbe\u5f0f\uff0c\u8fd8\u53ef\u4ee5\u8868\u793a\u6570\u5b57\u903b\u8f91\u7cfb\u7edf\u6240\u5b8c\u6210\u7684\u903b\u8f91\u529f\u80fd\u3002 Verilog
HDL\u548cVHDL\u662f\u4e16\u754c\u4e0a\u6700\u6d41\u884c\u7684\u4e24\u79cd\u786c\u4ef6\u63cf\u8ff0\u8bed\u8a00\uff0c\u90fd\u662f\u572820\u4e16\u7eaa80\u5e74\u4ee3\u4e2d\u671f\u5f00\u53d1\u51fa\u6765\u7684\u3002\u524d\u8005\u7531Gateway Design
Automation\u516c\u53f8(\u8be5\u516c\u53f8\u4e8e1989\u5e74\u88abCadence\u516c\u53f8\u6536\u8d2d)\u5f00\u53d1\u3002\u4e24\u79cdHDL\u5747\u4e3aIEEE\u6807\u51c6\u3002
Verilogs\u662f\u7531Gateway\u8bbe\u8ba1\u81ea\u52a8\u5316\u516c\u53f8\u7684\u5de5\u7a0b\u5e08\u4e8e1983\u5e74\u672b\u521b\u7acb\u7684\u3002\u5f53\u65f6Gateway\u8bbe\u8ba1\u81ea\u52a8\u5316\u516c\u53f8\u8fd8\u53eb\u505a\u81ea\u52a8\u96c6\u6210\u8bbe\u8ba1\u7cfb\u7edf(Automated
Integrated Design Systems)\uff0c1985\u5e74\u516c\u53f8\u5c06\u540d\u5b57\u6539\u6210\u4e86\u524d\u8005\u3002\u8be5\u516c\u53f8\u7684\u83f2\u5c14\u00b7\u83ab\u6bd4(Phil
Moorby)\u5b8c\u6210\u4e86Verilog\u7684\u4e3b\u8981\u8bbe\u8ba1\u5de5\u4f5c\u30021990\u5e74\uff0cGateway\u8bbe\u8ba1\u81ea\u52a8\u5316\u88abCadence\u516c\u53f8\u6536\u8d2d\u3002
1990\u5e74\u4ee3\u521d\uff0c\u5f00\u653eVerilog\u56fd\u9645(Open Verilog International,
OVI)\u7ec4\u7ec7(\u5373\u73b0\u5728\u7684Accellera)\u6210\u7acb\uff0cVerilog\u9762\u5411\u516c\u6709\u9886\u57df\u5f00\u653e\u30021992\u5e74\uff0c\u8be5\u7ec4\u7ec7\u5bfb\u6c42\u5c06Verilog\u7eb3\u5165\u7535\u6c14\u7535\u5b50\u5de5\u7a0b\u5e08\u5b66\u4f1a\u6807\u51c6
\u3002\u6700\u7ec8\uff0cVerilog\u6210\u4e3a\u4e86\u7535\u6c14\u7535\u5b50\u5de5\u7a0b\u5e08\u5b66\u4f1a1364-1995\u6807\u51c6\uff0c\u5373\u901a\u5e38\u6240\u8bf4\u7684Verilog-95\u3002
\u8bbe\u8ba1\u4eba\u5458\u5728\u4f7f\u7528\u8fd9\u4e2a\u7248\u672c\u7684Verilog\u7684\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u4e86\u4e00\u4e9b\u53ef\u6539\u8fdb\u4e4b\u5904\u3002\u4e3a\u4e86\u89e3\u51b3\u7528\u6237\u5728\u4f7f\u7528\u6b64\u7248\u672cVerilog\u8fc7\u7a0b\u4e2d\u53cd\u6620\u7684\u95ee\u9898\uff0cVerilog\u8fdb\u884c\u4e86\u4fee\u6b63\u548c\u6269\u5c55\uff0c\u8fd9\u90e8\u5206\u5185\u5bb9\u540e\u6765\u518d\u6b21\u88ab\u63d0\u4ea4\u7ed9\u7535\u6c14\u7535\u5b50\u5de5\u7a0b\u5e08\u5b66\u4f1a\u3002\u8fd9\u4e2a\u6269\u5c55\u540e\u7684\u7248\u672c\u540e\u6765\u6210\u4e3a\u4e86\u7535\u6c14\u7535\u5b50\u5de5\u7a0b\u5e08\u5b66\u4f1a1364-2001\u6807\u51c6\uff0c\u5373\u901a\u5e38\u6240\u8bf4\u7684Verilog-2001\u3002Verilog-2001\u662f\u5bf9Verilog-95\u7684\u4e00\u4e2a\u91cd\u5927\u6539\u8fdb\u7248\u672c\uff0c\u5b83\u5177\u5907\u4e00\u4e9b\u65b0\u7684\u5b9e\u7528\u529f\u80fd\uff0c\u4f8b\u5982\u654f\u611f\u5217\u8868\u3001\u591a\u7ef4\u6570\u7ec4\u3001\u751f\u6210\u8bed\u53e5\u5757\u3001\u547d\u540d\u7aef\u53e3\u8fde\u63a5\u7b49\u3002\u76ee\u524d\uff0cVerilog-2001\u662fVerilog\u7684\u6700\u4e3b\u6d41\u7248\u672c\uff0c\u88ab\u5927\u591a\u6570\u5546\u4e1a\u7535\u5b50\u8bbe\u8ba1\u81ea\u52a8\u5316\u8f6f\u4ef6\u5305\u652f\u6301\u3002
2005\u5e74\uff0cVerilog\u518d\u6b21\u8fdb\u884c\u4e86\u66f4\u65b0\uff0c\u5373\u7535\u6c14\u7535\u5b50\u5de5\u7a0b\u5e08\u5b66\u4f1a1364-2005\u6807\u51c6\u3002\u8be5\u7248\u672c\u53ea\u662f\u5bf9\u4e0a\u4e00\u7248\u672c\u7684\u7ec6\u5fae\u4fee\u6b63\u3002\u8fd9\u4e2a\u7248\u672c\u8fd8\u5305\u62ec\u4e86\u4e00\u4e2a\u76f8\u5bf9\u72ec\u7acb\u7684\u65b0\u90e8\u5206\uff0c\u5373Verilog-AMS\u3002\u8fd9\u4e2a\u6269\u5c55\u4f7f\u5f97\u4f20\u7edf\u7684Verilog\u53ef\u4ee5\u5bf9\u96c6\u6210\u7684\u6a21\u62df\u548c\u6df7\u5408\u4fe1\u53f7\u7cfb\u7edf\u8fdb\u884c\u5efa\u6a21\u3002\u5bb9\u6613\u4e0e\u7535\u6c14\u7535\u5b50\u5de5\u7a0b\u5e08\u5b66\u4f1a1364-2005\u6807\u51c6\u6df7\u6dc6\u7684\u662f\u52a0\u5f3a\u786c\u4ef6\u9a8c\u8bc1\u8bed\u8a00\u7279\u6027\u7684SystemVerilog(\u7535\u6c14\u7535\u5b50\u5de5\u7a0b\u5e08\u5b66\u4f1a1800-2005\u6807\u51c6)\uff0c\u5b83\u662fVerilog-2005\u7684\u4e00\u4e2a\u8d85\u96c6\uff0c\u5b83\u662f\u786c\u4ef6\u63cf\u8ff0\u8bed\u8a00\u3001\u786c\u4ef6\u9a8c\u8bc1\u8bed\u8a00(\u9488\u5bf9\u9a8c\u8bc1\u7684\u9700\u6c42\uff0c\u7279\u522b\u52a0\u5f3a\u4e86\u9762\u5411\u5bf9\u8c61\u7279\u6027)\u7684\u4e00\u4e2a\u96c6\u6210\u3002
2009\u5e74\uff0cIEEE 1364-2005\u548cIEEE 1800-2005\u4e24\u4e2a\u90e8\u5206\u5408\u5e76\u4e3aIEEE
1800-2009\uff0c\u6210\u4e3a\u4e86\u4e00\u4e2a\u65b0\u7684\u3001\u7edf\u4e00\u7684SystemVerilog\u786c\u4ef6\u63cf\u8ff0\u9a8c\u8bc1\u8bed\u8a00(hardware description and verification
language, HDVL)\u3002

1、模块声明的扩展

(1)       Verilog‐2001允许将端口声明和数据类型声明放在同一条语句中,例子如下:

(2)Verilog‐2001中增加了ANSIC风格的输入输出端口声明,可以用于module,task和function。例子如下:

(3)对于含有parameter的module,例子如下:

2、带有初始化的寄存器类型变量声明

Verilog‐2001中允许在声明变量的同时对其进行初始化赋值,他是在initial语句中的0时刻开始执行。例子如下:

3、敏感表的改进

(1)逗号分开敏感列表

在敏感表中的变量可以用逗号“,”分开,当然,当然or也是可以的。例子如下:

always@(posedge clk,negedge rst)也是可以的。

(2)组合逻辑的电平敏感@*           //@(*) is also ok

“*”代表了逻辑块中每个被赋值的变量,例子如下:

4、有符号算数运算的扩展

(1)net型和reg型可以声明为带符号的变量

(2)函数的返回值可以是有符号数

(3)Literal integer numbers可以定义为有符号的

 

(4)增加算数右移左移(>>>,<<<)

操作符“>>>”和“<<<”。对于有符号数,执行算术移位操作时,将符号位填补移出的位。例子如下:

(5)增加系统函数$signed,$unsigned

用于在无符号和有符号数之间的转换

5、可变向量域的选择

[<starting_bit>+”:width]从起始位开始递增,位宽为width

[<starting_bit>‐”:width]从起始位开始递减,位宽为width

其中,起始位可以是变量,但位宽必须是整数。因此可以用可变域选择,用循环语句选取一个很长的向量所有位。

6、多维数组的建立

Verilog‐1995中只允许对reg,integer和time建立一维的数组,常用于RAM,ROM的建模。Verilog‐2001中可以对net和variable建立多维数组。

7、多维数组的赋值

Verilog‐1995不允许直接访问矩阵字的某一位或某几位,必须将整个矩阵字复制到另一个暂存变量中,从暂存中访问。

Verilog‐2001可以直接访问矩阵的某一维或某几位。

8、乘方运算符

增加乘方运算(power operate),运算符是**,如果其中有一个操作数是real类型的,返回值将是real类型。两个操作数都是integer类型,返回才是integer类型。

9、自动(可重入)任务和自动(递归)函数

(1)可重入任务

任务本质上是静态的,同时并发执行的多个任务共享存储区。当某个任务在模块中的多个地方被同时调用,则这两个任务对同一块地址空间进行操作,结果可能是错误的。Verilog‐2001中增加了关键字automatic,内存空间是动态分配的,使任务成为可重入的。

 

(2)递归函数

10、自动宽度扩展

Verilog‐1995中对于不指定位数的位宽超过32为的总线赋高阻时,只会对低32位赋值为高阻,高位将为0。

Verilog‐2001将高阻或不定态赋值给未指定位宽的信号时,可以自动扩展到整个位宽范围。

11、常数函数

Verilog语法规定必须使用数值或常数表达式来定义向量的位宽和阵列的规模。

Verilog‐1995中要求上述表达式必须为算数操作。

Verilog‐2001中可以使用函数,成为常数函数。他的数值在编译或详细描述中被确定。

12、增加了文件输入输出操作

Verilog‐1995中在文件的输入/输出操作方面功能非常有限,文件操作经常借助于Verilog PLI(编程语言接口),通过与C语言的文件输入/输出库的访问来处理。并且规定同时打开的I/O文件数不能多于31个。

Verilog‐2001增加了新的系统任务和函数,并且规定同时打开的文件数目为230个。



  • 璇峰府鎴戠敤verilog鍐欎竴涓狣瑙﹀彂鍣ㄦ瀯鎴愮殑鍗佽繘鍒惰鏁板櫒銆傛垨鑰呯洿鎺ュ啓鍗佽繘鍒惰...
    绛旓細reg [3:0] cnt; //璁℃暟0--15 reg out1_r;always @(posedge clk or negedge rst)if (rst)cnt<=4'd0;else cnt<=cnt+1'b1;always @(posedge clk or negedge rst)if (rst)out1_r<=1'b1;else if(cnt==4'd15)out1_r<=1'b0;assign out1=out1_r;endmodule ...
  • verilog涓$绗﹀彿鏄粈涔堟剰鎬?
    绛旓細鏄竴绉嶆爣璇嗙锛屽彲浠ョ敤鏉ュ懡鍚嶅彉閲忥紝灏卞拰 涓嬪垝绾 _ 浼肩殑锛屽彧鏄笉鑳芥斁鍦ㄩ浣嶏紝灏卞浣犵粰鐨勪唬鐮佹墍绀恒備篃鍙互琚敤鏉ユ爣璇嗙郴缁熶换鍔★紝鍦ㄧ郴缁熶换鍔″悕绉板墠鍔$浣夸箣涓庣敤鎴峰畾涔夌殑浠诲姟鍜屽嚱鏁扮浉鍖哄垎锛屾瘮濡傚父鐢ㄧ殑$display锛$monitor锛$time绛
  • 璇烽棶FPGA涓嶥SP鏈変粈涔堝尯鍒?
    绛旓細FPGA鏄竴绉嶈姱鐗,EDA鏄數瀛愯璁¤嚜鍔ㄥ寲鐨勬剰鎬,鏄竴绉嶆妧鏈,涓よ呰皥鍖哄埆浼间箮涓嶅お鎭板綋,鍒╃敤EDA鎶鏈彲浠ュ湪FPGA鑺墖涓婃瀯閫犺嚜宸辨墍闇鐨勭‖浠剁數璺,EDA鎶鏈寘鎷紪鍐verilog浠g爜鎴栬匳HDL浠g爜,浠跨湡銆佺患鍚堛 鏈変汉鐭ラ亾DSP ARM OMAP FPGA閮芥湁浠涔堝尯鍒悧? 鑰佸ぇ,浣犻棶鐨勯棶棰樺お鐩存帴浜嗗惂銆傘傘 DSP,涓鑸敤浜庡鏉傝岃姹傚疄鏃剁殑鏁板瓧淇″彿澶勭悊涓...
  • ...MHZ杩涜5鍒嗛鐨Verilog婧愮▼搴,鏈夐敊鐨勮瘽甯繖鏀逛竴涓,璋㈣阿
    绛旓細50M浜斿垎棰戝簲璇ユ槸10M锛50M鍛ㄦ湡涓20ns锛10M涓100ns锛屼綘杩欓兘澶氬皯ns浜嗭紵鑰屼笖杩欎篃瑕佺湅浣犵殑鍗犵┖姣旀槸澶氬皯锛屼絾浣犵殑璁℃暟鑲畾鏄敊鐨勩
  • 鏋楀繂鑾瞓etter man姝岃瘝
    绛旓細I know I've been taughtTo take the blameRest assured my angelsWill catch my tearsWalk me out of hereI'm in painAs my soul heals the shameI will grow through this painLord I'm doing all I canTo be a better manOnce you've found that loverYou're homeward boundLove is all around...
  • 璇锋彁渚涘悇绉嶈瑷鐨勨滄垜鐖变綘!鈥
    绛旓細绔嬮櫠瀹: tave myliu(ta-ve mee-lyu) 椹叾椤: te sakam 椹皵瀹: inhobbok 娉㈠叞: kocham cie,ja cie kocham 钁¤悇鐗:eu amo-te 缃楅┈灏间簹: te iu besc,te ador 鑽峰叞: ik hou van jou 鑻辫: i love you 鎹峰厠: miluji te 涓归害: jeg elsker dig 闃垮皵钀ㄦ柉: ich hoan dich gear 浜氱編灏间簹: yes kezi see...
  • 扩展阅读:www.sony.com.cn ... verilog的大量实例 ... vr高清 ... verilog parameter ... vhdl variable ... vhdl signal ... viktor rom ... verilog hdl ... victory曲谱超燃 ...

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