AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

不可不知的FPGA設(shè)計妙招,使用Makerchip進(jìn)行在線虛擬開發(fā)(附案例)

來源: 責(zé)編: 時間:2023-10-17 09:38:41 306觀看
導(dǎo)讀1 關(guān)于虛擬FPGA實驗室可編程門陣列(FPGA)是一種用戶可以編程的硬件電路,用于執(zhí)行邏輯操作。與特定應(yīng)用集成電路(ASIC)或處理器相比,F(xiàn)PGA具有多個優(yōu)點。FPGA具備高能效、靈活的重編程性、支持并行處理以及較低的延遲,因此在許

1 關(guān)于虛擬FPGA實驗室

可編程門陣列(FPGA)是一種用戶可以編程的硬件電路,用于執(zhí)行邏輯操作。與特定應(yīng)用集成電路(ASIC)或處理器相比,F(xiàn)PGA具有多個優(yōu)點。FPGA具備高能效、靈活的重編程性、支持并行處理以及較低的延遲,因此在許多應(yīng)用中被廣泛使用。rsq28資訊網(wǎng)——每日最新資訊28at.com

然而,F(xiàn)PGA的靈活性需要面對電路重編程的挑戰(zhàn),對于初學(xué)者而言,這會增加學(xué)習(xí)成本和難度。rsq28資訊網(wǎng)——每日最新資訊28at.com

為了解決這個問題,虛擬FPGA實驗室項目應(yīng)運(yùn)而生。該項目利用Makerchip平臺中的VIZ可視化功能,提供FPGA基本外設(shè)的可視化,以模擬物理實驗室的體驗。rsq28資訊網(wǎng)——每日最新資訊28at.com

Makerchip是一款免費的基于Web的集成開發(fā)環(huán)境(IDE),同時也提供makerchip-app,一款用于開發(fā)高質(zhì)量集成電路的虛擬桌面應(yīng)用程序。您可以在瀏覽器中編寫、編譯、模擬和調(diào)試Verilog設(shè)計。代碼、模塊圖和波形緊密集成在一起。Makerchip支持新興的事務(wù)級Verilog( Transaction-Level Verilog)標(biāo)準(zhǔn)。事務(wù)級Verilog(TL-Verilog)是一個重大的進(jìn)步,它消除了Verilog的傳統(tǒng)語言特性,并引入了更簡單的語法。與此同時,TL-Verilog為流水線和事務(wù)添加了強(qiáng)大的構(gòu)造。rsq28資訊網(wǎng)——每日最新資訊28at.com

2 選擇TL-Verilog的理由

簡單 || 強(qiáng)大 || 靈活rsq28資訊網(wǎng)——每日最新資訊28at.com

2.1 可視化調(diào)試

使用TL-Verilog語言編寫的設(shè)計進(jìn)行調(diào)試時,可以通過可視化方式來觀察和分析設(shè)計的行為。通過在設(shè)計中插入調(diào)試語句,并以可視化形式顯示設(shè)計行為,幫助設(shè)計人員進(jìn)行調(diào)試、驗證和優(yōu)化的過程。rsq28資訊網(wǎng)——每日最新資訊28at.com

2.2 有序波形

無需編寫測試臺即可查看模擬結(jié)果。IDE提供了內(nèi)置的時鐘,并在信號未被賦予任何值時為其分配隨機(jī)值。rsq28資訊網(wǎng)——每日最新資訊28at.com

2.3 有序圖表

設(shè)計以邏輯圖形式表示。非常容易瀏覽設(shè)計層次結(jié)構(gòu)、流水線和階段。rsq28資訊網(wǎng)——每日最新資訊28at.com

2.4 更少的代碼

  • 更快的開發(fā)
  • 更少的錯誤
  • 更容易維護(hù)

3 可視調(diào)試的威力

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

首先將簡單數(shù)字邏輯門的輸出可視化。從上面的GIF中可以看到左側(cè)是代碼部分,可以看到門的邏輯;右側(cè)是可視調(diào)試(VIZ)部分,可以看到每個邏輯門的可視化。我們可以在周期之間來回移動,并在右上角看到當(dāng)前的周期。rsq28資訊網(wǎng)——每日最新資訊28at.com

可視調(diào)試是如何構(gòu)建的?可視調(diào)試是一個JavaScript畫布,在其中使用了fabric.js,這是一個功能強(qiáng)大且簡單的JavaScript HTML5畫布庫框架,它使我們能夠在畫布元素上使用交互式對象模型。rsq28資訊網(wǎng)——每日最新資訊28at.com

4 虛擬FPGA實驗室的特點

  • 簡單學(xué)習(xí):在沒有實際開發(fā)板的情況下理解FPGA編程的基礎(chǔ)知識。
  • 時光旅行:可以在周期之間前后移動,以便能夠可視化每個周期中發(fā)生的情況。
  • 更快速:對于簡單的設(shè)計,無需等待綜合、實現(xiàn)和比特流生成過程。
  • 抽象化:TL-V所需的代碼比標(biāo)準(zhǔn)HDL語言少,開發(fā)更快,錯誤更少,維護(hù)更容易,且硅片質(zhì)量更好。它也- 支持System Verilog。
  • 可綜合化:在虛擬實驗室中的代碼可以在真實的FPGA上運(yùn)行!我們將在最后一節(jié)中介紹這一點。
  • 開源:采用MIT許可。

5 在Makerchip中展示的FPGA開發(fā)板

  • Zedboard Zynq-7000 ARM/FPGA SoC開發(fā)板(產(chǎn)品鏈接)
  • EDGE Artix 7 FPGA開發(fā)板(產(chǎn)品鏈接)
  • Basys 3 Artix-7 FPGA培訓(xùn)板(產(chǎn)品鏈接)
  • Icebreaker FPGA(產(chǎn)品鏈接)
  • Nexys A7(產(chǎn)品鏈接)

目前,僅展示這些開發(fā)板。rsq28資訊網(wǎng)——每日最新資訊28at.com

6 第一階段

在第一階段評估之前的編碼工作主要是在VIZ畫布屏幕上添加FPGA圖像,并支持可視化FPGA的LED燈、七段數(shù)碼管、LCD 16x2顯示器和VGA顯示器。下面是使用這些組件的示例演示:rsq28資訊網(wǎng)——每日最新資訊28at.com

7 LED燈

演示:https://makerchip.com/sandbox/0mZf5hLPG/0y8h64Z#rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

rsq28資訊網(wǎng)——每日最新資訊28at.com

上面的GIF演示了一個16位計數(shù)器的示例,其輸出顯示在LED燈上。在這里使用了Zedboard開發(fā)板。初始化可以在第26、27和28行中看到。m4+fpga_init將初始化開發(fā)板,m4+fpga_led將使LED燈工作。如果要使用其他開發(fā)板,請在第26行更改M4_BOARD的值。rsq28資訊網(wǎng)——每日最新資訊28at.com

8 七段數(shù)碼管

演示:makerchip.com/sandbox/0mZf5hLPG/0zmh8rVrsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

rsq28資訊網(wǎng)——每日最新資訊28at.com

這個演示是一個從0到15的計數(shù)器,以十六進(jìn)制值顯示在七段數(shù)碼管的四個數(shù)字中。* digit是共陽信號。每個七段數(shù)碼管包含段,基本上是可以通過發(fā)送低電平信號來打開的LED。要在七段數(shù)碼管中顯示數(shù)字8,需要通過低電平信號啟用所有段。rsq28資訊網(wǎng)——每日最新資訊28at.com

9 LCD 16x2顯示器

演示:makerchip.com/sandbox/0mZf5hLPG/0k5hYwz#rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

這個程序在LCD 16x2顯示器中打印以下內(nèi)容:rsq28資訊網(wǎng)——每日最新資訊28at.com

第一行:FPGAs are fun!!!rsq28資訊網(wǎng)——每日最新資訊28at.com

第二行:—rsq28資訊網(wǎng)——每日最新資訊28at.com

完成后,將第一行和第二行向左移動一次。rsq28資訊網(wǎng)——每日最新資訊28at.com

10 VGA顯示器

演示:makerchip.com/sandbox/0mZf5hLPG/0nZhlW1rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

rsq28資訊網(wǎng)——每日最新資訊28at.com

這是用于640* 480 VGA顯示器的可視化。信號和sy分別表示顯示光標(biāo)的水平和垂直位置。當(dāng)水平和垂直像素區(qū)域(和sy)小于64時,程序會繪制一個橙色的正方形,否則為藍(lán)色。在480p分辨率下,需要約40萬個周期來顯示一個完整的幀,包括所有前后廊道的時間約束。為了進(jìn)行可視化,我們將每個正方形框設(shè)置為32x32像素,因此可以在約470個周期內(nèi)完成一幀,以便更好地理解。無論如何,可以使用M4_COUNTER宏變量定義來調(diào)整正方形框的大小。還可以使用M4_FRAMES宏變量的定義來更改要可視化的幀數(shù)。rsq28資訊網(wǎng)——每日最新資訊28at.com

11 第二階段

對于第二階段,開始可視化其他外設(shè),如按鈕、滑動開關(guān)、LED RGB、溫度傳感器、光傳感器等。以下是使用這些可視化的演示。rsq28資訊網(wǎng)——每日最新資訊28at.com

12 按鈕

演示:makerchip.com/sandbox/0mZf5hLPG/0pghQw2rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

rsq28資訊網(wǎng)——每日最新資訊28at.com

當(dāng)按下特定的按鈕時,此程序會點亮LED燈。按鈕應(yīng)從開發(fā)板上輸入。不幸的是,Makerchip VIZ目前不支持交互功能。因此,為了使用這個外設(shè),使用$pb信號手動給按鈕輸入。rsq28資訊網(wǎng)——每日最新資訊28at.com

13 滑動開關(guān)

演示:makerchip.com/sandbox/05yf0h91P/066hVzyrsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

邏輯與上述按鈕示例相同。rsq28資訊網(wǎng)——每日最新資訊28at.com

14 溫度傳感器

演示:makerchip.com/sandbox/0mZf5hLPG/0mwh1MYrsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

溫度和光傳感器位于開發(fā)板的左下角。這里我們使用太陽圖像作為熱源。隨著太陽圖像遠(yuǎn)離溫度傳感器,相應(yīng)的溫度讀數(shù)將顯示在七段數(shù)碼管中。用于顯示傳感器讀數(shù)的時間為四個時鐘周期。這是因為七段數(shù)碼管的陰極是連接在一起的。因此,為了顯示四個不同的數(shù)字,我們每個時鐘周期只啟用一個數(shù)字。由于一個周期的變化通常發(fā)生在幾十納秒的量級上,當(dāng)在實際的FPGA中運(yùn)行時,我們的肉眼會假裝所有數(shù)字在同一時間更新。rsq28資訊網(wǎng)——每日最新資訊28at.com

15 光傳感器

演示:makerchip.com/sandbox/0mZf5hLPG/0oYhlwRrsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

這里使用燈泡圖像作為熱源。上述溫度傳感器示例的邏輯在這里同樣適用。rsq28資訊網(wǎng)——每日最新資訊28at.com

16 LED RGB

演示:makerchip.com/sandbox/0mZf5hLPG/0vghOl6rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

該程序根據(jù)占空比值在RGB LED中輸出不同的顏色,使用了脈寬調(diào)制(PWM)的概念。rsq28資訊網(wǎng)——每日最新資訊28at.com

17 在實際的FPGA中運(yùn)行的步驟

SandPiper是一個代碼生成器,可以根據(jù)給定的TL-Verilog代碼生成可讀性強(qiáng)、結(jié)構(gòu)良好的Verilog或SystemVerilog代碼。rsq28資訊網(wǎng)——每日最新資訊28at.com

SandPiper的SaaS版在云端作為微服務(wù)運(yùn)行,以支持簡便的開源開發(fā)。請安裝SandPiper SaaS版用于此項目。rsq28資訊網(wǎng)——每日最新資訊28at.com

要在本地運(yùn)行,可以從RedwoodEDA獲取SandPiper教育版。rsq28資訊網(wǎng)——每日最新資訊28at.com

運(yùn)行FPGA設(shè)置的步驟如下:rsq28資訊網(wǎng)——每日最新資訊28at.com

  • git clone https://github.com/BalaDhinesh/Virtual-FPGA-Lab.git
  • 從工作目錄中運(yùn)行shell腳本/<complete_path>/run.sh。

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

  • shell腳本會要求輸入三個內(nèi)容:

a. TL-Verilog文件的輸入文件名rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

b. FPGA板名稱(如果板卡不在給定選項中,請?zhí)峁┌蹇ǖ牧慵枺?span style="display:none">rsq28資訊網(wǎng)——每日最新資訊28at.com

如果板卡在給定選項中:rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

如果板卡不在給定選項中:rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

c.(可選)如果板卡不在給定選項中,則約束文件應(yīng)該以<filename_partno>.xdc的形式存在于您的工作目錄中。rsq28資訊網(wǎng)——每日最新資訊28at.com

例如:根據(jù)上面的圖像,應(yīng)該是design_xc7a100tcsg324-1.xdcrsq28資訊網(wǎng)——每日最新資訊28at.com

d. 時鐘周期(以納秒為單位)rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

18 在Makerchip和實際的FPGA開發(fā)板上的輸出

圖片圖片rsq28資訊網(wǎng)——每日最新資訊28at.com

圖片 圖片 rsq28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-13636-0.html不可不知的FPGA設(shè)計妙招,使用Makerchip進(jìn)行在線虛擬開發(fā)(附案例)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Vue 中可重用組件的 3 個主要問題

下一篇: 精通Python Pandas數(shù)據(jù)索引:高級技巧指南

標(biāo)簽:
  • 熱門焦點
Top