国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

FPGA實(shí)戰(zhàn)演練邏輯篇38:可綜合的語法子集3

發(fā)布時(shí)間:2015-6-17 11:37    發(fā)布者:rousong1989
可綜合的語法子集3
本文節(jié)選自特權(quán)同學(xué)的圖書《FPGA設(shè)計(jì)實(shí)戰(zhàn)演練(邏輯篇)》
配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt
(1)    多語句定義:beginend。(特權(quán)同學(xué),版權(quán)所有)
通俗的說,它就是C語言里的“{  }”,用于單個語法的多個語句定義。其使用示例如下:
// 含有命名的begin語句
begin : <塊名>
    // 可選申明部分
    // 具體邏輯
end
// 基本的begin語句
begin
    // 可選申明部分
    // 具體邏輯
end
(2)    比較判斷:ifelse, casedefaultendcase。(特權(quán)同學(xué),版權(quán)所有)
判斷語法if…else及case語句是最常用的功能語法,其基本的使用示例如下:
// if判斷語句
if(<判斷條件>)
begin
    // 具體邏輯
end
// if…else判斷語句
if(<判斷條件>)
begin
    // 具體邏輯1
end
else
begin
    // 具體邏輯2
end
// if…else if…else判斷語句
if(<判斷條件1>)
begin
    // 具體邏輯1
end
else if(<判斷條件2>)
begin
    // 具體邏輯2
end
else
begin
    // 具體邏輯3
end
// case語句
case(<判斷變量>)
<取值1>: <具體邏輯1>
<取值2>: <具體邏輯2>
<取值3>: <具體邏輯3>
default: <具體邏輯4>
endcase
(3)    循環(huán)語句:for。(特權(quán)同學(xué),版權(quán)所有)
用的也比較少,但也會在一些特定的設(shè)計(jì)中使用它。其示例如下:
// for語句
for(<變量名> = <初值>; <判斷表達(dá)式>; <變量名> = <新值>)
begin
    // 具體邏輯
end
(4)    任務(wù)定義:taskendtask。(特權(quán)同學(xué),版權(quán)所有)
Task更像是C語言中的子函數(shù),task中可以有input、output和inout端口作為出入口參數(shù),它可以用于實(shí)現(xiàn)一個時(shí)序控制。task沒有返回值,因此不可以用在表達(dá)式中。其基本用法如下:
task ;
    // 可選申明部分,如本地變量申明
    begin
        // 具體邏輯
    end
endtask
(5)    連續(xù)賦值:assign,問號表達(dá)式(?:)。(特權(quán)同學(xué),版權(quán)所有)
Assign用于直接互聯(lián)不同的信號或直接給wire變量賦值。其基本用法如下:
assign = <變量或常量>;
“?:”表達(dá)式就是簡單的if…else語句,但更多的用在組合邏輯中。其基本用法如下:
(判斷條件) ? (判斷條件為真時(shí)的邏輯處理) : (判斷條件為假時(shí)的邏輯處理)
(6)    always模塊:(敏感表可以為電平、沿信號posedge/negedge;通常和@連用)。(特權(quán)同學(xué),版權(quán)所有)
always有多種用法,在組合邏輯中,其用法如下:
always@(*)
begin
         // 具體邏輯
end
always后若有沿信號(上升沿posedge,下降沿negedge)申明,則多為時(shí)序邏輯,其基本用法如下:
// 單個沿觸發(fā)的時(shí)序邏輯
always@(<沿變化>)
begin
         //具體邏輯
End
// 多個沿觸發(fā)的時(shí)序邏輯
always@(<沿變化1> or <沿變化2>)
begin
         //具體邏輯
End
(7)    運(yùn)算操作符:各種邏輯操作符、移位操作符、算術(shù)操作符大多是可綜合的。(特權(quán)同學(xué),版權(quán)所有)
Verilog中絕大多數(shù)運(yùn)算操作符都是可綜合的,其列表如下:
+            // 加
-            // 減
!            // 邏輯非
~            // 取反
&            // 與
~&           // 與非
|            // 或
~|           // 或非
^            // 異或
^~           // 同或
~^           // 同或
*            // 乘,是否可綜合看綜合工具
/            // 除,是否可綜合看綜合工具
%            // 取模
<<           // 邏輯左移
>>           // 邏輯右移
<            // 小于
<=           // 小等于
>            // 大于
>=           // 大等于
==           // 邏輯相等
!=           // 邏輯不等于
&&           // 邏輯與
||           // 邏輯或
(8)    賦值符號:= <=。(特權(quán)同學(xué),版權(quán)所有)
阻塞和非阻塞賦值,在具體設(shè)計(jì)中是很有講究的,我們會在具體實(shí)例中掌握他們的不同用法。(特權(quán)同學(xué),版權(quán)所有)
可綜合的語法是verilog可用語法里很小的一個子集,硬件設(shè)計(jì)的精髓就是力求用最簡單的語句描述最復(fù)雜的硬件,這也正是硬件描述語言的本質(zhì)。對于做RTL級設(shè)計(jì)來說,掌握好上面這些基本語法是很重要。(特權(quán)同學(xué),版權(quán)所有)

本文地址:http://m.4huy16.com/thread-150671-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國技術(shù)精英年會深圳站回顧
  • Microchip第22屆中國技術(shù)精英年會上海首站開幕
  • Microchip第22屆中國技術(shù)精英年會——采訪篇
  • 常見深度學(xué)習(xí)模型介紹及應(yīng)用培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表