国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FPGA——HLS入門-LED閃爍仿真

這篇具有很好參考價(jià)值的文章主要介紹了FPGA——HLS入門-LED閃爍仿真。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

系列文章目錄


一、HLS介紹

1、什么是HLS

HLS就是高綜合(High level Synthesis)的縮寫,通過HLS,我們可以將C或者c++語言編譯為FPGA能夠讀懂和運(yùn)行的RTL級別的語言。

這個(gè)術(shù)語是行為和電子系統(tǒng)的結(jié)合:是一門技術(shù),也是一門科學(xué),它把設(shè)計(jì)意圖抽象化,抽象視圖可以自動地將人類設(shè)計(jì)者的努力付諸現(xiàn)實(shí)。最終生成的設(shè)計(jì)應(yīng)遵循一系列要求,包括芯片面積、時(shí)鐘頻率、功耗和時(shí)間性能的要求等等。

通過HLS將電路設(shè)計(jì)規(guī)范的算法級或行為級描述在一定的約束條件下轉(zhuǎn)化為電路結(jié)構(gòu)描述的方法和過程。高層次綜合又稱為行為級綜合、算法級綜合等。它使設(shè)計(jì)者能夠在更高層次進(jìn)行電子設(shè)計(jì),更快速有效地在較高層次設(shè)計(jì)驗(yàn)證和仿真,而較低層次的工作由工具來自動完成,從而讓數(shù)字電路系統(tǒng)設(shè)計(jì)工程師可以有更多的精力和更充分的條件去進(jìn)行設(shè)計(jì)空間的搜索,尋求最佳的設(shè)計(jì)方案。

HLS 的過程通?;景A(yù)處理、編譯、轉(zhuǎn)換、調(diào)度、分配、控制器、綜合、RTL 、生成、和反編譯等幾個(gè)部分。編譯、轉(zhuǎn)換部分決定了軟件的兼容性和易用性,調(diào)度(schedule)和分配(binding)主要決定了產(chǎn)生的 RTL 的性能、資源大小等。

2、與VHDL/Verilog有什么關(guān)系?

verilog 適合于RTL 級別的硬件描述,但是RTL 級別的硬件描述其實(shí)還是過于底層,因此這也帶來了很多繁重的編碼和設(shè)計(jì)工作,類似于匯編程序一樣,Verilog可以精準(zhǔn)的控制電路實(shí)現(xiàn),但實(shí)現(xiàn)起來需要較長的周期,而HLS雖然可快速迭代,但其從軟件到硬件翻譯無論是面積還是資源均難以控制。

VHDL/Verilog兩者結(jié)構(gòu)基本相似,并行語句的種類也類似;

VHDL語言需要進(jìn)行大量說明,程序通常比較長;

Verilog HDL通常不進(jìn)行說明,或只進(jìn)行非常簡短的說明,程序比較簡短。

3、關(guān)鍵技術(shù)局限性

關(guān)鍵技術(shù)
輸入語言采用了類 C語言而非前兩代的 HDL 語言,如 C、C++、SystemC 以及 SpecC、HandelC 等,這能夠使得系統(tǒng)模型得到復(fù)用,進(jìn)行進(jìn)一步的軟硬件實(shí)現(xiàn)。
實(shí)現(xiàn)了對時(shí)序(timing)比較精確的評估和調(diào)度。
實(shí)現(xiàn)了對驗(yàn)證環(huán)境的重復(fù)使用,通過 TLM 建模技術(shù)可以將系統(tǒng)驗(yàn)證環(huán)境復(fù)用于 RTL 級驗(yàn)證,降低了驗(yàn)證的復(fù)雜度。

局限性
沒有早期的性能估計(jì)以及任何違反設(shè)計(jì)和平臺限制的行為
沒有利用所有可能的數(shù)據(jù)通信方式
沒有功能概述,也沒有對用戶代碼進(jìn)行優(yōu)化轉(zhuǎn)換
支持代碼報(bào)告得太晚了
在某些情況下,工具的高效實(shí)施是不可能的,例如當(dāng)必須將太多的加速器映射到硬件部分時(shí)。 HLS工具無法預(yù)先檢測到這種情況,也無法在用戶堅(jiān)持的情況下盡量減輕其影響。

二、Vivado HLS - LED閃爍仿真

1、項(xiàng)目配置

1.點(diǎn)擊Vivado HLS 中的Create New Project

FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)

2.接下來選擇定成函數(shù),我們在這里暫不不添加,直接點(diǎn)擊 Next
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
3.接下來是添加 C 仿真文件,我們同樣先不添加,點(diǎn)擊 Next
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
4.接下來進(jìn)行器件的選擇,在首先我們點(diǎn)擊圖中所示位置選擇元器件

FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
5.在導(dǎo)航欄中,文件列表所示
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
6.添加源文件
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)

2、C仿真

1.編寫代碼
Helloworld.h

//helloworld.h
#ifndef _HELLOWORLD_H_
#define _HELLOWORLD_H_
#include "ap_int.h"
typedef 	ap_int<1> led_t;
void flash_led(led_t *led_o);
#endif

Helloworld.cpp

//Helloworld.cpp
#include "HelloWorld.h"
void flash_led(led_t *led_o){
#pragma HLS INTERFACE ap_ovld port=led_o
	int i;
	for(i=0;i<10000;i++){
		if(i==9999){
			*led_o = ~(*led_o);
		}
	}
}

tb_Helloworld.cpp

#include "HelloWorld.h"
#include <stdio.h>
int main(){
	led_t led_o;
	const int SHIFT_TIME = 4;
	int i;
	for(i=0;i<SHIFT_TIME;i++){
		flash_led(&led_o);
		printf("result : %d \n",(int)(led_o&0x01));
	}
}


2、仿真
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)

FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)

彈出這個(gè)界面,什么都不用選。

運(yùn)行仿真后,出現(xiàn)下面這個(gè)界面就說明仿真成功了:

FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
3、綜合
進(jìn)行綜合之前,先選擇Top Function。

點(diǎn)擊Project -> Project Setting -> Synthesis ,點(diǎn)擊Helloworld.cpp,并點(diǎn)擊Browse選擇函數(shù)flash_led。

FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)

結(jié)束后,會有一個(gè)總結(jié)文件如下:
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
在這個(gè)文件的最后,有關(guān)于端口的表格:
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
文件:

FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)

3、聯(lián)合仿真

FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
在Helloworld.cpp界面,右邊的Drective界面,右鍵led_o,進(jìn)入如下界面:

FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)
按上圖來配置,并點(diǎn)擊OK。

然后點(diǎn)擊聯(lián)合仿真:

FPGA——HLS入門-LED閃爍仿真,fpga開發(fā)

三、總結(jié)

通過HLS工具進(jìn)行LED閃爍仿真可以幫助我們驗(yàn)證設(shè)計(jì)的正確性和功能性。在仿真過程中,我們可以觀察LED的閃爍模式是否與我們預(yù)期的一致,并進(jìn)行必要的調(diào)試和修正。仿真還可以幫助我們評估性能指標(biāo),如時(shí)序約束和資源利用率。文章來源地址http://www.zghlxwxcb.cn/news/detail-681183.html

到了這里,關(guān)于FPGA——HLS入門-LED閃爍仿真的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FPGA開發(fā)之Vivado安裝及HLS環(huán)境配置,并實(shí)現(xiàn)流水燈實(shí)例

    FPGA開發(fā)之Vivado安裝及HLS環(huán)境配置,并實(shí)現(xiàn)流水燈實(shí)例

    HLS(High-Level Synthesis)高層綜合,就是將 C/C++的功能用 RTL 來實(shí)現(xiàn),將 FPGA 的組件在一個(gè)軟件環(huán)境中來開發(fā),這個(gè)模塊的功能驗(yàn)證在軟件環(huán)境中來實(shí)現(xiàn),無縫的將硬件仿真環(huán)境集合在一起,使用軟件為中心的工具、報(bào)告以及優(yōu)化設(shè)計(jì),很容易的在 FPGA 傳統(tǒng)的設(shè)計(jì)工具中生成 IP。

    2024年02月05日
    瀏覽(28)
  • 超詳細(xì)FPGA新手小白入門點(diǎn)亮LED燈

    超詳細(xì)FPGA新手小白入門點(diǎn)亮LED燈

    其實(shí)之前早已用過Vivado進(jìn)行FPGA的開發(fā)學(xué)習(xí),但由于每次都是淺嘗輒止地學(xué)了一些時(shí)間,加上Vivado軟件和FPGA開發(fā)流程的復(fù)雜性,長時(shí)間不用就會遺忘。因此今天還是簡單地寫個(gè)筆記記錄一下Vivado軟件的一些基本操作,實(shí)現(xiàn)一個(gè)“hello world工程”:控制LED燈的閃爍。 實(shí)驗(yàn)基于的

    2024年02月04日
    瀏覽(26)
  • FPGA入門————LED流水燈(超詳細(xì)教程)

    FPGA入門————LED流水燈(超詳細(xì)教程)

    本文使用軟件為vivado,其實(shí)用哪個(gè)軟件都是一樣的,主要是掌握核心編程思想。 如有需要下載vivado軟件下載可以參考: vivado及ISE各版本軟件下載方法、鏈接及詳細(xì)步驟,官方網(wǎng)頁下載_ise軟件下載_千尋xun的博客-CSDN博客 目錄 一、新建工程及設(shè)計(jì)文件 二、編寫LED流水燈程序

    2024年02月08日
    瀏覽(16)
  • STM32F103 點(diǎn)亮LED閃爍與仿真

    STM32F103 點(diǎn)亮LED閃爍與仿真

    今天給大家分享一下STM32 流水燈簡單的仿真吧,我感覺這個(gè)提供有用的,但是自己也是第一次使用,主要是感覺曲線很高級。在PWM中查看脈寬很有用。 code: led.c #include \\\"led.h\\\" #include \\\"delay.h\\\" /* GPIO的控制寄存器的配置 1、配置輸出引腳 2、打開對應(yīng)的輸出的寄存器的時(shí)鐘 3、配置

    2024年02月16日
    瀏覽(27)
  • 使用STM32和C51實(shí)現(xiàn)LED閃爍(仿真+程序)

    使用STM32和C51實(shí)現(xiàn)LED閃爍(仿真+程序)

    1、新建程序(如下圖) 先點(diǎn)擊project,在單擊new uvision project。 2.命名文件 3.生成main文件 (右鍵source group再點(diǎn)擊Add new item…) 點(diǎn)擊c File (.c) 4.在main.c項(xiàng)目中輸入以下代碼 5.生成 .hex 文件 魔術(shù)棒- Output - 勾選Create HEX File - ok 1.上傳.hex文件到proteus 雙擊芯片在program file 中選擇剛剛

    2024年02月04日
    瀏覽(12)
  • FPGA/Verilog HDL/AC620零基礎(chǔ)入門學(xué)習(xí)——第一個(gè)項(xiàng)目按鍵控制LED

    FPGA/Verilog HDL/AC620零基礎(chǔ)入門學(xué)習(xí)——第一個(gè)項(xiàng)目按鍵控制LED

    最近要考試了,所以我趕緊補(bǔ)習(xí)FPGA,我們用的是小梅哥的AC620開發(fā)板,軟件是Quartus。推薦看這個(gè)視頻教程:零基礎(chǔ)輕松學(xué)習(xí)FPGA,小梅哥FPGA設(shè)計(jì)思想與驗(yàn)證方法視頻教程 用按鍵控制LED燈的亮滅就是一個(gè)二選一多路器,兩個(gè)IO,a、b,可以是高電平,也可以是低電平。 輸入按鍵

    2024年02月05日
    瀏覽(28)
  • 【【萌新的FPGA學(xué)習(xí)之Vivado下的仿真入門-2】】

    【【萌新的FPGA學(xué)習(xí)之Vivado下的仿真入門-2】】

    我們上一章大概了解了 我們所需要進(jìn)行各項(xiàng)操作的基本框架 對于內(nèi)部實(shí)現(xiàn)其實(shí)一知半解 我們先從基本的出發(fā) 但從FPGA 了解一下 vivado下的仿真入門 正好幫我把自己的riscV 波形拉一下 行為級仿真 step1: 進(jìn)入仿真界面:SIMULATION-單擊 Run Simulation-單擊 Run Behavioral Simulation。 Step2:設(shè)

    2024年02月08日
    瀏覽(64)
  • FPGA HLS 卷積單元 數(shù)據(jù)類型&hls優(yōu)化&約束設(shè)置

    FPGA HLS 卷積單元 數(shù)據(jù)類型&hls優(yōu)化&約束設(shè)置

    自定義精度整形: 自定義定點(diǎn)數(shù) 為了替換float,double類型的數(shù),加快運(yùn)算,節(jié)約資源 根據(jù)輸入的數(shù)據(jù),找到卷積層的數(shù)據(jù)范圍 特征的內(nèi)存排布方式 權(quán)重的內(nèi)存排布方式 卷積的大小不固定,需要根據(jù)在內(nèi)存中的排布方式算出地址 新建conv_core項(xiàng)目 conv_core.h conv_core.cpp main.cpp

    2024年02月03日
    瀏覽(23)
  • FPGA在校學(xué)習(xí)記錄系列---實(shí)驗(yàn)4不同狀態(tài)的LED+開發(fā)板(Verilog HDL)

    FPGA在校學(xué)習(xí)記錄系列---實(shí)驗(yàn)4不同狀態(tài)的LED+開發(fā)板(Verilog HDL)

    此系列記錄FPGA在學(xué)校的學(xué)習(xí)過程。 FPGA系列 需要用到的軟硬件: 軟件:Quartus II 15.0 (64-bit) 硬件: 5CEBA4F23C7芯片 鏈接: FPGA在校學(xué)習(xí)記錄系列—新建一個(gè)FPGA工程編寫程序并仿真(Verilog HDL) 創(chuàng)建的工程名字為:LED (這次不用仿真,直接用開發(fā)板驗(yàn)證) 編譯文件 按鍵資源:

    2024年04月09日
    瀏覽(27)
  • Vivado仿真數(shù)據(jù)導(dǎo)出至.txt文件——FPGA開發(fā)

    在FPGA開發(fā)過程中,仿真是驗(yàn)證設(shè)計(jì)的重要環(huán)節(jié)。在Vivado設(shè)計(jì)套件中,我們可以使用仿真工具來驗(yàn)證設(shè)計(jì)的功能和性能。本文將介紹如何將Vivado仿真數(shù)據(jù)導(dǎo)出至.txt文件,以方便后續(xù)分析和處理。 步驟如下: 打開Vivado設(shè)計(jì)套件并創(chuàng)建一個(gè)新的工程。 在工程中添加設(shè)計(jì)文件和約

    2024年02月05日
    瀏覽(465)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包