久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4009|回復: 0
收起左側

verilog經(jīng)驗分享(適合初學者,共39頁pdf下載)

[復制鏈接]
ID:313318 發(fā)表于 2018-4-21 19:50 | 顯示全部樓層 |閱讀模式
初學習verilog_經(jīng)驗
先記下來:
1、不使用初始化語句;
2、不使用延時語句;
3、不使用循環(huán)次數(shù)不確定的語句,如:forever,while 等;
4、盡量采用同步方式設計電路;
5、盡量采用行為語句完成設計;
6、always過程塊描述組合邏輯,應在敏感信號表中列出所有的輸入信號;
7、所有的內部寄存器都應該可以被復位;
8、用戶自定義原件(UDP元件)是不能被綜合的。

0.jpg
1它是 cadence的模擬器verilog-XL的基礎,cadence的廣泛流行使得 verilog 在90年代深入人心;
2它在硅谷獲得廣泛使用;
B) verilog 與VHDL相比的優(yōu)點二者的關系仿佛 C與FORTRAN,具體而言:
1 verilog 的代碼效率更高:
比較明顯的對比:
VHDL在描述一個實體時采用 entity/architecture 模式,
verilog 在描述一個實體時只需用一個"module/edumodule"語句塊.
此外verilog 的高效性還在很多地方體現(xiàn)出來;
2 verilog 支持二進制的加減運算:
VHDL在進行二進制的加減運算時使用conv_***函數(shù)或者進行其他的定義,總之必須通知編譯器;verilog
直接用形如"c=a+b"的表示二進制的加減運算;
3綜合時可控制性好:
VHDL對信號不加區(qū)分地定義為"signal",
而verilog 區(qū)分為register類型的和 wire類型的;
但是也有人支持 VHDL,認為verilog 和VHDL的關系仿佛 C和C++.C)典型的verilog 模塊
討論以下典型電路的 verilog描述:
*與非門;
*加法器;  //即全加器
* D觸發(fā)器;
*計數(shù)器; //**分頻的counter
* latch;
*時序機;
*RAM;   //用synopsys的
*模塊引用;
*預編譯;
*與非門的 verilog描述如下:
//verilog 使用和C語言相同的注釋方法
module nd02(a1,a2,zn);//一個 verilog模塊總是以module 開始,以endmodule   結束,nd02是模塊
名,a1,a2,zn 是模塊的3個輸入輸出信號
input a1,a2;  //告訴編譯器a1,a2 對此模塊而言是輸入,并且數(shù)據(jù)類型是"bit"
output zn;  //告訴編譯器zn 對此模塊而言是輸出,數(shù)據(jù)類型也是"bit"
nand  (zn,a1,a2); //我理解nand 是運算符,我們不必深究 verilog中的正式術語是什
么了吧,總之這種形式表示 zn=~(a1 && a2);你一定已經(jīng)想到類似的運算符還有
"not","and","or","nor","xor"了吧;除了"not",括號里的信號數(shù)可以任意,例如or (z,f,g,h)表示z=f
|| g || h,并且延時是3個單位時間,#x表示延時x個單位時間;
endmodule

*加法器的 verilog描述如下:
module ad03d1(A,B,CI,S,CO) ;
input [2:0] A,B;  //表示A,B 是輸入信號,并且是3位矢量,上界是2,下界是 0
input CI;
output [2:0] S;
output CO;
assign {CO,S}=A+B+CI;//一對"{"和"}"表示鏈接,即將 CO和S合并成4位矢量
endmodule

*帶異步清零端的 D觸發(fā)器的verilog 描述如下:
module dfctnb (d,cp,cdn,q,qn);
input d,cp,cdn;
output q,qn;
reg q,qn;    //關鍵字"reg"表示 q和qn是"register"類型的信號;verilog中有兩種類型的信
號:"register"類型和"wire"類型.你可以簡單地把register類型的信號想象為某個D觸發(fā)器的輸出,而
wire類型的的信號是組合邏輯的輸出.二者的最大區(qū)別在于:你可以對register 類型的信號進行定時賦
值(用wait 語句在特定時刻的賦值,詳見下面always語句),而對于wire類型的信號則不可.
always wait (cdn==0) //表示每當 cdn=0時,將要對D 觸發(fā)器清零,"always"和"wait"嵌套,"wait"和
"@"是verilog 的兩個關鍵字,表示一旦有某事發(fā)生;則執(zhí)行下面的語句塊,"always"有點象C語言中的
"if ... then...","wait"和"@"的區(qū)別:請參考本模塊.wait表示本語句塊的進程停止,直到"cdn=0"的
條件出現(xiàn)才繼續(xù);我理解在verilog中,每個最外層語句塊都是一個***的進程;"@"(請看下個always語
句)也表示本語句塊的進程停止,直到后面定義"posedge cp"(即出現(xiàn)cp的上升沿)的事件出現(xiàn)才繼續(xù);也
許wait和@可以合二為一吧,但至少到目前verilog中wait表示"條件",@表示"事件";具體運用中,wait
總是用于類似"wait(xxx=1)"之類的場合,@總是用于類似"@(xxx)"或"@(posedge/negedge xxx)"之類的
場合整句話的意思是"每當cdn 等于0時,則作以下事情"
begin     //begin...end結構的用法類似于 pascal語言
       q=0;
         qn=1;
        wait (cdn==1);
end
always @ (posedge cp)//"@(posedge cp)"中有兩個關鍵字:"@ (x)"表示"每當事件 x發(fā)
生","posedge x"表示"x的上升沿,"negedge x"表示"x的下降沿",整句話的意思是"每當cp的上升沿,
則作以下事情"
        if (cdn)  //如果cdn=1(意味著清零端無效)
        begin
                 q=d;
                 qn=~q;//"~"表示反相
        end
endmodule
0.jpg

完整的pdf格式文檔51黑下載地址(共39頁):
verilog_經(jīng)驗(適合初學者).pdf (946.04 KB, 下載次數(shù): 33)


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品乱码久久久久久蜜桃91 | 免费在线观看av的网站 | 日p视频免费看 | 免费久久久 | 伊人久麻豆社区 | 91精品国产乱码久久久 | 欧美日韩在线一区二区 | 日本不卡在线观看 | 三级欧美 | www.成人免费视频 | 日韩在线观看一区二区三区 | 国产乱码精品一区二区三区中文 | 国产亚洲精品美女久久久久久久久久 | 精品国产色 | 欧美日韩综合 | 精品久久久久久久人人人人传媒 | 天堂资源 | 精品少妇一区二区三区在线播放 | 欧美一级片在线观看 | 99免费视频| 亚洲先锋影音 | 中日韩欧美一级片 | 欧美精品一区二区三区在线 | 国精日本亚洲欧州国产中文久久 | 精品欧美一区二区三区久久久小说 | 在线免费观看视频你懂的 | 欧美色偷拍 | 色网在线观看 | 欧美一区二区三区在线视频 | 欧美一级做性受免费大片免费 | 国产日韩欧美一区二区在线播放 | 伊人激情综合网 | 中文在线www | 精品亚洲一区二区三区四区五区 | 日本在线一区二区三区 | 亚洲精品国产第一综合99久久 | 99在线精品视频 | 亚洲最大福利网 | 毛片的网址 | 国产精品视频一二三区 | 国产精品久久久久久久7777 |