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

當前位置:首頁 > 科技  > 軟件

不可不知的FPGA設計妙招,使用Makerchip進行在線虛擬開發(附案例)

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

1 關于虛擬FPGA實驗室

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

然而,FPGA的靈活性需要面對電路重編程的挑戰,對于初學者而言,這會增加學習成本和難度。lg228資訊網——每日最新資訊28at.com

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

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

2 選擇TL-Verilog的理由

簡單 || 強大 || 靈活lg228資訊網——每日最新資訊28at.com

2.1 可視化調試

使用TL-Verilog語言編寫的設計進行調試時,可以通過可視化方式來觀察和分析設計的行為。通過在設計中插入調試語句,并以可視化形式顯示設計行為,幫助設計人員進行調試、驗證和優化的過程。lg228資訊網——每日最新資訊28at.com

2.2 有序波形

無需編寫測試臺即可查看模擬結果。IDE提供了內置的時鐘,并在信號未被賦予任何值時為其分配隨機值。lg228資訊網——每日最新資訊28at.com

2.3 有序圖表

設計以邏輯圖形式表示。非常容易瀏覽設計層次結構、流水線和階段。lg228資訊網——每日最新資訊28at.com

2.4 更少的代碼

  • 更快的開發
  • 更少的錯誤
  • 更容易維護

3 可視調試的威力

圖片圖片lg228資訊網——每日最新資訊28at.com

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

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

4 虛擬FPGA實驗室的特點

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

5 在Makerchip中展示的FPGA開發板

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

目前,僅展示這些開發板。lg228資訊網——每日最新資訊28at.com

6 第一階段

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

7 LED燈

演示:https://makerchip.com/sandbox/0mZf5hLPG/0y8h64Z#lg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

lg228資訊網——每日最新資訊28at.com

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

8 七段數碼管

演示:makerchip.com/sandbox/0mZf5hLPG/0zmh8rVlg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

lg228資訊網——每日最新資訊28at.com

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

9 LCD 16x2顯示器

演示:makerchip.com/sandbox/0mZf5hLPG/0k5hYwz#lg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

這個程序在LCD 16x2顯示器中打印以下內容:lg228資訊網——每日最新資訊28at.com

第一行:FPGAs are fun!!!lg228資訊網——每日最新資訊28at.com

第二行:—lg228資訊網——每日最新資訊28at.com

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

10 VGA顯示器

演示:makerchip.com/sandbox/0mZf5hLPG/0nZhlW1lg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

lg228資訊網——每日最新資訊28at.com

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

11 第二階段

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

12 按鈕

演示:makerchip.com/sandbox/0mZf5hLPG/0pghQw2lg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

lg228資訊網——每日最新資訊28at.com

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

13 滑動開關

演示:makerchip.com/sandbox/05yf0h91P/066hVzylg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

邏輯與上述按鈕示例相同。lg228資訊網——每日最新資訊28at.com

14 溫度傳感器

演示:makerchip.com/sandbox/0mZf5hLPG/0mwh1MYlg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

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

15 光傳感器

演示:makerchip.com/sandbox/0mZf5hLPG/0oYhlwRlg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

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

16 LED RGB

演示:makerchip.com/sandbox/0mZf5hLPG/0vghOl6lg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

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

17 在實際的FPGA中運行的步驟

SandPiper是一個代碼生成器,可以根據給定的TL-Verilog代碼生成可讀性強、結構良好的Verilog或SystemVerilog代碼。lg228資訊網——每日最新資訊28at.com

SandPiper的SaaS版在云端作為微服務運行,以支持簡便的開源開發。請安裝SandPiper SaaS版用于此項目。lg228資訊網——每日最新資訊28at.com

要在本地運行,可以從RedwoodEDA獲取SandPiper教育版。lg228資訊網——每日最新資訊28at.com

運行FPGA設置的步驟如下:lg228資訊網——每日最新資訊28at.com

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

圖片圖片lg228資訊網——每日最新資訊28at.com

  • shell腳本會要求輸入三個內容:

a. TL-Verilog文件的輸入文件名lg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

b. FPGA板名稱(如果板卡不在給定選項中,請提供板卡的零件號)lg228資訊網——每日最新資訊28at.com

如果板卡在給定選項中:lg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

如果板卡不在給定選項中:lg228資訊網——每日最新資訊28at.com

圖片圖片lg228資訊網——每日最新資訊28at.com

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

例如:根據上面的圖像,應該是design_xc7a100tcsg324-1.xdclg228資訊網——每日最新資訊28at.com

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

圖片圖片lg228資訊網——每日最新資訊28at.com

18 在Makerchip和實際的FPGA開發板上的輸出

圖片圖片lg228資訊網——每日最新資訊28at.com

圖片 圖片 lg228資訊網——每日最新資訊28at.com

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

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

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

下一篇: 精通Python Pandas數據索引:高級技巧指南

標簽:
  • 熱門焦點
Top