<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 【E課堂】verilog之可綜合與不可綜合

          【E課堂】verilog之可綜合與不可綜合

          作者: 時(shí)間:2016-05-03 來(lái)源:電子產(chǎn)品世界 收藏

            可綜合的意思是說(shuō)所編寫的代碼可以對(duì)應(yīng)成具體的電路,不可綜合就是所寫代碼沒(méi)有對(duì)應(yīng)的電路結(jié)構(gòu),例如行為級(jí)語(yǔ)法就是一種不可綜合的代碼,通常用于寫仿真測(cè)試文件。

          本文引用地址:http://www.ex-cimer.com/article/201605/290588.htm

            建立可綜合模型時(shí),需注意以下幾點(diǎn):

            不使用initial

            不使用#10之類的延時(shí)語(yǔ)句

            不使用循環(huán)次數(shù)不確定的循環(huán)語(yǔ)句,如forever,while等

            不使用用戶自定義原語(yǔ)(UDP元件)

            盡量使用同步方式設(shè)計(jì)電路

            用always塊來(lái)描述組合邏輯時(shí),應(yīng)列出所有輸入信號(hào)作為敏感信號(hào)列表,即always@(*)

            所有的內(nèi)部寄存器都應(yīng)該能夠被復(fù)位,在使用實(shí)現(xiàn)設(shè)計(jì)時(shí),盡量使用器件的全局復(fù)位端作為系統(tǒng)的總復(fù)位

            對(duì)時(shí)序邏輯描述和建模,盡量使用非阻塞賦值的方式,對(duì)組合邏輯描述和建模,雖然阻塞和非阻塞賦值的方式都可以,但在同一過(guò)程快中最好不要同時(shí)使用阻塞賦值和非阻塞賦值。我個(gè)人比較推薦用阻塞賦值的方式描述組合邏輯

            不能在多個(gè)always塊中對(duì)同一個(gè)變量進(jìn)行賦值。對(duì)同一個(gè)對(duì)象不能既使用非阻塞賦值,又使用阻塞賦值

            如果不打算讓變量生成鎖存器,那么必須在使用if語(yǔ)句或case語(yǔ)句時(shí)補(bǔ)全所有條件

            不可綜合語(yǔ)句:

            initial 初始化語(yǔ)句,只能在testbench中使用,不可綜合

            event event在同步testbench時(shí)更有用,不能綜合

            real 不支持real數(shù)據(jù)類型的綜合

            time 不支持time數(shù)據(jù)類型的綜合

            assign 和 deassign 不支持對(duì)reg數(shù)據(jù)類型賦值的綜合,但支持wire 類型賦值的綜合

            以#開(kāi)頭的延時(shí)語(yǔ)句不能被綜合

            是一種硬件描述語(yǔ)言,我們?cè)趯?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/verilog">verilog 代碼時(shí),首先要有所要寫的module在硬件上如何實(shí)現(xiàn)的概念,而不是去想編譯器如何解釋這個(gè)module。比如在決定是否使用 reg 定義時(shí),要問(wèn)問(wèn)自己物理上是不是真正存在這個(gè) register, 如果是,它的clock 是什么? D 端是什么?Q 端是什么?有沒(méi)有清零和置位?同步還是異步?再比如上面討論的三態(tài)輸出問(wèn)題,首先想到的應(yīng)該是在 register 的輸出后面加一個(gè)三態(tài)門,而不是如何才能讓編譯器知道要“賦值”給一個(gè)信號(hào)為三態(tài)。同樣,Verilog 中沒(méi)有“編譯”的概念,而只有綜合的概念,我們只有綜合工具,而沒(méi)有所謂的編譯器。

            當(dāng)然,并不是說(shuō)不可綜合的代碼就不重要了,在IC設(shè)計(jì)中,有70%的時(shí)間都是用來(lái)做驗(yàn)證,所以說(shuō)仿真驗(yàn)證的工作對(duì)于的設(shè)計(jì)同樣重要。



          關(guān)鍵詞: verilog FPGA

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();