chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>可編程邏輯>EDA-教程>PCB設(shè)計規(guī)則>Verilog HDL與C語言的區(qū)別與聯(lián)系分析

Verilog HDL與C語言的區(qū)別與聯(lián)系分析

2017-12-04 | rar | 0.8 MB | 次下載 | 1積分

資料介紹

數(shù)字電路設(shè)計工程師一般都學(xué)習(xí)過編程語言、數(shù)字邏輯基礎(chǔ)、各種EDA軟件工具的使用。就編程語言而言,國內(nèi)外大多數(shù)學(xué)校都以C語言為標(biāo)準(zhǔn),只有少部分學(xué)校使用Pascal和Fortran.
  算法的描述和驗(yàn)證常用C語言來做。例如要設(shè)計Reed-Solomen編碼/解碼器,可以分為下面幾個步驟。
  先深入了解Reed-Solomen編碼/解碼的算法。
  編寫C語言的程序來驗(yàn)證算法的正確性。
  運(yùn)行描述編碼器的C語言程序,把在數(shù)據(jù)文件中的多組待編碼的數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的編碼后數(shù)據(jù),并存入文件。
  編寫一個加干擾用的C語言程序,用于模擬信道。它能產(chǎn)生隨機(jī)誤碼位(并把誤碼位個數(shù)控制在糾錯能力范圍內(nèi)),將其加入編碼后的數(shù)據(jù)文件中。運(yùn)行該加干擾程序,產(chǎn)生帶誤碼位的編碼后的數(shù)據(jù)文件。
  編寫一個解碼器的C語言程序,運(yùn)行該程序把帶誤碼位的編碼文件解碼為另一個數(shù)據(jù)文件。
  比較原始數(shù)據(jù)文件和生成的文件,便可知道編碼和解碼的程序是否正確(能否自動糾正糾錯能力范圍內(nèi)的錯碼位),用這種方法我們就可以來驗(yàn)證算法的正確性。但這樣的數(shù)據(jù)處理其運(yùn)行速度只與程序的大小和計算機(jī)的運(yùn)行速度有關(guān),也不能獨(dú)立于計算機(jī)而存在。
  如果要設(shè)計一個專門的電路來進(jìn)行這種對速度有要求的實(shí)時數(shù)據(jù)處理,除了以上介紹的C程序外,還需編寫硬件描述語言(如Verilog HDL或VHDL)的程序。然后進(jìn)行仿真以便從電路結(jié)構(gòu)上保證算法能在規(guī)定的時間內(nèi)完成,并能與前端和后端的設(shè)備或器件正確無誤地交換數(shù)據(jù)。
  用硬件描述語言(HDL)的程序設(shè)計硬件的好處在于易于理解、易于維護(hù),調(diào)試電路速度快,有許多的易于掌握的仿真、綜合和布局布線工具,還可以用C語言配合HDL來做邏輯設(shè)計的前后仿真,驗(yàn)證功能是否正確。
  在算法硬件電路的研制過程中,計算電路的結(jié)構(gòu)和芯片的工藝對運(yùn)行速度有很大的影響。所以在電路結(jié)構(gòu)確定之前,必須經(jīng)過多次仿真。
  C語言的功能仿真。
  C語言的并行結(jié)構(gòu)仿真。
  Verilog HDL的行為仿真。
  Verilog HDL RTL級仿真。
  綜合后門級結(jié)構(gòu)仿真。
  布局布線后仿真。
  電路實(shí)現(xiàn)驗(yàn)證。
  下面介紹用C語言配合Verilog HDL來設(shè)計算法的硬件電路塊時考慮的三個主要問題:
  1.為什么選擇C語言與Verilog配合使用
  首先,C語言很靈活,查錯功能強(qiáng),還可以通過PLI(編程語言接口)編寫自己的系統(tǒng)任務(wù)直接與硬件仿真器(如Verilog-XL)結(jié)合使用。C語言是目前世界上應(yīng)用最為廣泛的一種編程語言,因而C程序的設(shè)計環(huán)境比Verilog HDL更完整。此外,C語言可應(yīng)用于許多領(lǐng)域,有可靠的編譯環(huán)境,語法完備,缺陷較少。
  比較起來,Verilog語言只是針對硬件描述的,在別處使用(如用于算法表達(dá)等)并不方便。而且Verilog的仿真、綜合、查錯工具等大部分軟件都是商業(yè)軟件,與C語言相比缺乏長期大量的使用,可靠性較差,亦有很多缺陷。所以,只有在C語言的配合使用下,Verilog才能更好地發(fā)揮作用。
  面對上述問題,最好的方法是C語言與Verilog語言相輔相成,互相配合使用。這就是既要利用C語言的完整性,又要結(jié)合Verilog對硬件描述的精確性,來更快、更好地設(shè)計出符合性能要求的硬件電路系統(tǒng)。
  利用C語言完善的查錯和編譯環(huán)境,設(shè)計者可以先設(shè)計出一個功能正確的設(shè)計單元,以此作為設(shè)計比較的標(biāo)準(zhǔn)。然后,把C程序一段一段地改寫成用并型結(jié)構(gòu)(類似于Verilog)描述的C程序,此時還是在C的環(huán)境里,使用的依然是C語言。
  如果運(yùn)行結(jié)果都正確,就將C語言關(guān)鍵字用Verilog相應(yīng)的關(guān)鍵字替換,進(jìn)入Verilog的環(huán)境。將測試輸入同時加到C與Verilog兩個單元,將其輸出做比較。這樣很容易發(fā)現(xiàn)問題的所在,更正后再做測試,直至正確無誤。
  2.C語言與Verilog語言互相轉(zhuǎn)換中存在的問題
  混合語言設(shè)計流程往往會在兩種語言的轉(zhuǎn)換中會遇到許多難題,如下所示。
  怎樣把C程序轉(zhuǎn)換成類似Verilog結(jié)構(gòu)的C程序。
  如何增加并行度,以保證用硬件實(shí)現(xiàn)時運(yùn)行速度達(dá)到設(shè)計要求。
  怎樣不使用C中較抽象的語法(例如迭代、指針、不確定次數(shù)的循環(huán)等)。也能來表示算法(因?yàn)檗D(zhuǎn)換的目的是用可綜合的Verilog語句來代替C程序中的語句,而可用于綜合的Verilog語法是相當(dāng)有限的,往往找不到相應(yīng)的關(guān)鍵字來替換)。
  C程序是按行依次執(zhí)行的,屬于順序結(jié)構(gòu)。而Verilog描述的硬件是可以在同一時間同時運(yùn)行的,屬于并行結(jié)構(gòu)。這兩者之間有很大的沖突。另外,Verilog的仿真軟件也是順序執(zhí)行的,在時間關(guān)系上同實(shí)際的硬件是有差異的,可能會出現(xiàn)一些無法發(fā)現(xiàn)的問題。
  C語言的函數(shù)調(diào)用與Verilog中模塊的調(diào)用也有區(qū)別。C程序調(diào)用函數(shù)是沒有延時特性的,一個函數(shù)是惟一確定的,對同一個函數(shù)的不同調(diào)用是一樣的。而Verilog中對模塊的不同調(diào)用是不同的,即使調(diào)用的是同一個模塊,必須用不同的名字來指定。
  Verilog的語法規(guī)則很死,限制很多,能用的判斷語句有限,仿真速度較慢,查錯功能差,錯誤信息不完整。仿真軟件通常也很昂貴,而且不一定可靠。C語言的花樣則很多,轉(zhuǎn)換過程中會遇到一些困難。
  C語言沒有時間關(guān)系,轉(zhuǎn)換后的Verilog程序必須要能做到?jīng)]有任何外加的人工延時信號,否則將無法使用綜合工具把Verilog源代碼轉(zhuǎn)化為門級邏輯。
  3.如何利用C語言來加快硬件的設(shè)計和查錯
  如表1所示為常用的C語言與Verilog相對應(yīng)的關(guān)鍵字與控制結(jié)構(gòu)。
  表1 C語言與Verilog相對應(yīng)的關(guān)鍵字與控制結(jié)構(gòu)表
Verilog HDL
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1MDD品牌三極管MMBT3906數(shù)據(jù)手冊
  2. 2.33 MB  |  次下載  |  免費(fèi)
  3. 2MDD品牌三極管S9012數(shù)據(jù)手冊
  4. 2.62 MB  |  次下載  |  免費(fèi)
  5. 3聯(lián)想flex2-14D/15D說明書
  6. 4.92 MB   |  次下載  |  免費(fèi)
  7. 4收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊
  8. 2.50 MB   |  次下載  |  免費(fèi)
  9. 524Pin Type-C連接器設(shè)計報告
  10. 1.06 MB   |  次下載  |  免費(fèi)
  11. 6新一代網(wǎng)絡(luò)可視化(NPB 2.0)
  12. 3.40 MB  |  次下載  |  免費(fèi)
  13. 7MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
  14. 0.60 MB   |  次下載  |  免費(fèi)
  15. 8MS1022高精度時間測量(TDC)電路數(shù)據(jù)手冊
  16. 1.81 MB   |  次下載  |  免費(fèi)

本月

  1. 1愛華AIWA HS-J202維修手冊
  2. 3.34 MB   |  37次下載  |  免費(fèi)
  3. 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
  4. 1.63 MB   |  23次下載  |  免費(fèi)
  5. 3NB-IoT芯片廠商的資料說明
  6. 0.31 MB   |  22次下載  |  1 積分
  7. 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
  8. 0.63 MB   |  6次下載  |  1 積分
  9. 5UWB653Pro USB口測距通信定位模塊規(guī)格書
  10. 838.47 KB  |  5次下載  |  免費(fèi)
  11. 6技嘉H110主板IT8628E_BX IO電路圖資料
  12. 2.61 MB   |  4次下載  |  1 積分
  13. 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
  14. 0.04 MB   |  4次下載  |  1 積分
  15. 8100W準(zhǔn)諧振反激式恒流電源電路圖資料
  16. 0.09 MB   |  2次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191439次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183353次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81602次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73822次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分