日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

轉(zhuǎn)自:21IC XILINX FPGA 論壇 作者:金猴


一:基本
Verilog中的變量有線網(wǎng)類型和寄存器類型。線網(wǎng)型變量綜合成wire,而寄存器可能綜合成WIRE,鎖存器和觸發(fā)器。

二:verilog語(yǔ)句結(jié)構(gòu)到門級(jí)的映射
1、連續(xù)性賦值:assign
連續(xù)性賦值語(yǔ)句邏輯結(jié)構(gòu)上就是將等式右邊的驅(qū)動(dòng)左邊的結(jié)點(diǎn)。因些連續(xù)性賦值的目標(biāo)結(jié)點(diǎn)總是綜合成由組合邏輯驅(qū)動(dòng)的結(jié)點(diǎn)。Assign語(yǔ)句中的延時(shí)綜合時(shí)都將忽視。

2、過(guò)程性賦值:
過(guò)程性賦值只出現(xiàn)在always語(yǔ)句中。

阻塞賦值和非阻塞賦值就該賦值本身是沒(méi)有區(qū)別的,只是對(duì)后面的語(yǔ)句有不同的影響。

建議設(shè)計(jì)組合邏輯電路時(shí)用阻塞賦值,設(shè)計(jì)時(shí)序電路時(shí)用非阻塞賦值。

過(guò)程性賦值的賦值對(duì)象有可能綜合成wire,latch,和flip-flop,取決于具體狀況。如,時(shí)鐘控制下的非阻塞賦值綜合成flip-flop。

過(guò)程性賦值語(yǔ)句中的任何延時(shí)在綜合時(shí)都將忽略。

建議同一個(gè)變量單一地使用阻塞或者非阻塞賦值。

3、邏輯操作符:
邏輯操作符對(duì)應(yīng)于硬件中已有的邏輯門

4、算術(shù)操作符:
Verilog中將reg視為無(wú)符號(hào)數(shù),而integer視為有符號(hào)數(shù)。因此,進(jìn)行有符號(hào)操作時(shí)使用integer,使用無(wú)符號(hào)操作時(shí)使用reg。

5、進(jìn)位:
通常會(huì)將進(jìn)行運(yùn)算操作的結(jié)果比原操作數(shù)擴(kuò)展一位,用來(lái)存放進(jìn)位或者借位。如:
Wire [3:0] A,B;
Wire [4:0] C;
Assign C=A+B;
C的最高位用來(lái)存放進(jìn)位。

6、關(guān)系運(yùn)算符:
關(guān)系運(yùn)算符:<,>,<=,>=
和算術(shù)操作符一樣,可以進(jìn)行有符號(hào)和無(wú)符號(hào)運(yùn)算,取決于數(shù)據(jù)類型是reg ,net還是integer。

7、相等運(yùn)算符:==,!=
注意:===和!==是不可綜合的。
可以進(jìn)行有符號(hào)或無(wú)符號(hào)操作,取決于數(shù)據(jù)類型

8、移位運(yùn)算符:
左移,右移,右邊操作數(shù)可以是常數(shù)或者是變量,二者綜合出來(lái)的結(jié)果不同。

9、部分選擇:
部分選擇索引必須是常量。

10、BIT選擇:
BIT選擇中的索引可以用變量,這樣將綜合成多路(復(fù)用)器。
11、敏感表:
Always過(guò)程中,所有被讀取的數(shù)據(jù),即等號(hào)右邊的變量都要應(yīng)放在敏感表中,不然,綜合時(shí)不能正確地映射到所用的門。

12、IF:
如果變量沒(méi)有在IF語(yǔ)句的每個(gè)分支中進(jìn)行賦值,將會(huì)產(chǎn)生latch。如果IF語(yǔ)句中產(chǎn)生了latch,則IF的條件中最好不要用到算術(shù)操作。Case語(yǔ)句類似。Case的條款可以是變量。

如果一個(gè)變量在同一個(gè)IF條件分支中先贖值然后讀取,則不會(huì)產(chǎn)生latch。如果先讀取,后贖值,則會(huì)產(chǎn)生latch。

13、循環(huán):
只有for-loop語(yǔ)句是可以綜合的。

14、設(shè)計(jì)時(shí)序電路時(shí),建議變量在always語(yǔ)句中賦值,而在該always語(yǔ)句外使用,使綜合時(shí)能準(zhǔn)確地匹配。建議不要使用局部變量。

15、不能在多個(gè)always塊中對(duì)同一個(gè)變量贖值

16、函數(shù)
函數(shù)代表一個(gè)組合邏輯,所有內(nèi)部定義的變量都是臨時(shí)的,這些變量綜合后為wire。

17、任務(wù):
任務(wù)可能是組合邏輯或者時(shí)序邏輯,取決于何種情況下調(diào)用任務(wù)。

18、Z:
Z會(huì)綜合成一個(gè)三態(tài)門,必須在條件語(yǔ)句中賦值

19、參數(shù)化設(shè)計(jì):
優(yōu)點(diǎn):參數(shù)可重載,不需要多次定義模塊

四:模塊優(yōu)化
1、資源共享:
當(dāng)進(jìn)程涉及到共用ALU時(shí),要考慮資源分配問(wèn)題??梢怨蚕淼牟僮鞣饕校宏P(guān)系操作符、加減乘除操作符。通常乘和加不共用ALU,乘除通常在其內(nèi)部共用。

2、共用表達(dá)式:
如:C=A+B;
D=G+(A+B);
兩者雖然有共用的A+B,但是有些綜合工具不能識(shí)別.可以將第二句改為:D=G+C;這樣只需兩個(gè)加法器.

3、轉(zhuǎn)移代碼:
如循環(huán)語(yǔ)句中沒(méi)有發(fā)生變化的語(yǔ)句移出循環(huán).

4、避免latch:
兩種方法:1、在每一個(gè)IF分支中對(duì)變量賦值。2、在每一個(gè)IF語(yǔ)句中都對(duì)變量賦初值。

5:模塊:
綜合生成的存儲(chǔ)器如ROM或RAM不是一種好方法。最好用庫(kù)自帶的存儲(chǔ)器模塊。

五、驗(yàn)證:
1、敏感表:
在always語(yǔ)句中,如果敏感表不含時(shí)鐘,最好將所有的被讀取的信號(hào)都放在敏感表中。

2、異步復(fù)位:
建議不要在異步時(shí)對(duì)變量讀取,即異步復(fù)位時(shí),對(duì)信號(hào)贖以常數(shù)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

UART(通用異步收發(fā)器)串口通信是FPGA設(shè)計(jì)中常見的通信方式之一。本文將介紹FPGA入門基礎(chǔ)中的UART串口通信設(shè)計(jì),并附上相應(yīng)的代碼示例。

關(guān)鍵字: UART 串口通信 verilog

在rtl仿真中,有四種狀態(tài),分別是0、1、x(unknown values)和z(high-impedance values)。

關(guān)鍵字: verilog case casez casex

function的作用返回一個(gè)數(shù)值,此數(shù)值由一串組合邏輯代碼計(jì)算得到。 那為什么要用function呢?主要有兩大原因:

關(guān)鍵字: verilog function

嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分,通常嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板,事實(shí)上所有帶有數(shù)字接口的設(shè)備,有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個(gè)程序?qū)崿F(xiàn)整...

關(guān)鍵字: 嵌入式 語(yǔ)言 技術(shù)

語(yǔ)音編碼器的主要功能就是把用戶語(yǔ)音的PCM(脈沖編碼調(diào)制)樣值編碼成少量的比特(幀)。這種方法使得語(yǔ)音在連路產(chǎn)生誤碼、網(wǎng)絡(luò)抖動(dòng)和突發(fā)傳輸時(shí)具有健壯性(Robustness)。在接收端,語(yǔ)音幀先被誤碼為PCM語(yǔ)音樣值,然后...

關(guān)鍵字: 語(yǔ)音編碼器 PCM 語(yǔ)言

下面是一個(gè)小的真實(shí)verilog代碼,具有異步set/reset邏輯(低電平有效)的觸發(fā)器模型。這個(gè)verilog模型可以正確地綜合,但在一個(gè)cornercase情況下仿真結(jié)果不正確。這個(gè)cornercase是什么?al...

關(guān)鍵字: corner verilog se

設(shè)計(jì)分2種,一種叫前向設(shè)計(jì),另一種叫后向設(shè)計(jì)。?后向設(shè)計(jì)就是我們只知道需求,知道要實(shí)現(xiàn)什么功能,但是暫時(shí)腦子里還沒(méi)有具體的結(jié)構(gòu)。多數(shù)時(shí)候都是后向設(shè)計(jì)。此時(shí),先開始把module的input和output寫好。然后從out...

關(guān)鍵字: verilog 電路圖

將Systemverilog中的數(shù)組和隊(duì)列拿出來(lái)單獨(dú)講,是因?yàn)橄鄬?duì)于其他的數(shù)據(jù)類型,數(shù)組和隊(duì)列與C語(yǔ)言和Verilog語(yǔ)言的數(shù)組有著不同的特性。這些特性不僅體現(xiàn)在完全迥異于C語(yǔ)言的定義方式,也體現(xiàn)在其成員函數(shù)上。Syst...

關(guān)鍵字: System verilog

摘 要 : 不少觀點(diǎn)認(rèn)為,“云計(jì)算”這個(gè)概念很虛,是炒作起來(lái)的,沒(méi)有什么實(shí)際應(yīng)用前景。而中科院計(jì)算所研究員、數(shù)據(jù)存儲(chǔ)技術(shù)研究中心主任許魯博士則表示 : 只要抓住應(yīng)用和運(yùn)維,云計(jì)算產(chǎn)業(yè)在我國(guó)一定能實(shí)現(xiàn)跨越式發(fā)展。

關(guān)鍵字: 云計(jì)算 應(yīng)用和運(yùn)維 概念 許魯

模糊控制算法(理論知識(shí))

關(guān)鍵字: 模糊控制 語(yǔ)言
關(guān)閉