前言
在自動(dòng)化領(lǐng)域,FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)的作用越來(lái)越重要。這些設(shè)備構(gòu)成控制單元的大腦,控制單元包含控制系統(tǒng)各種功能的邏輯。
從環(huán)境中收集信息的不同傳感器信號(hào)被傳遞到FPGA,并驅(qū)動(dòng)必要的控制輸出。隨著系統(tǒng)復(fù)雜性的增加,迫切需要對(duì)各種輸入和輸出條件下的電路行為有一個(gè)全面了解。
SaberRD是一款綜合仿真軟件,可以虛擬設(shè)計(jì)和驗(yàn)證任何與電氣系統(tǒng)有關(guān)的東西。健壯的仿真引擎為模擬和混合信號(hào)系統(tǒng)提供了可靠的資源。該仿真器支持VHDL-AMS,它是IEEE標(biāo)準(zhǔn)VHDL語(yǔ)言的擴(kuò)展,主要用于FPGA和其他數(shù)字系統(tǒng)的建模。
此設(shè)計(jì)示例演示了在SaberRD中包含F(xiàn)PGA的系統(tǒng)仿真。該設(shè)備使用VHDL語(yǔ)言建模,系統(tǒng)仿真的目的是為監(jiān)視器提供適當(dāng)?shù)男盘?hào),系統(tǒng)通過(guò)VGA接口將八種顏色的視頻發(fā)送到顯示器。
VGA顯示系統(tǒng)介紹
當(dāng)今的系統(tǒng)變得越來(lái)越復(fù)雜,必須針對(duì)所有可能的組合對(duì)系統(tǒng)進(jìn)行分析。以下分別說(shuō)明示例系統(tǒng)的詳細(xì)信息。
1、 數(shù)字系統(tǒng)仿真
數(shù)字系統(tǒng)由以離散步長(zhǎng)改變信號(hào)狀態(tài)的代碼組成。FPGA是數(shù)字系統(tǒng),它接收數(shù)字輸入并根據(jù)設(shè)備上編程的邏輯提供數(shù)字輸出。來(lái)自各種外設(shè)(例如傳感器和驅(qū)動(dòng)器)的信息通常是模擬性質(zhì)的,使用模數(shù)轉(zhuǎn)換器將信息傳輸?shù)紽PGA。同樣,F(xiàn)PGA的輸出通過(guò)接口將數(shù)字信號(hào)轉(zhuǎn)換為有意義的輸出。
此類設(shè)備可以使用VHDL語(yǔ)言輕松建模。隨著仿真需求的增加,大多數(shù)設(shè)備制造商通常會(huì)在組件上附帶VHDL或其他仿真模型,以便設(shè)計(jì)工程師可以在原型構(gòu)建過(guò)程之前仿真完整的行為。SaberRD支持VHDL-AMS語(yǔ)言,它是VHDL語(yǔ)言的混合信號(hào)擴(kuò)展。因此,這些模型可以很容易地用于仿真使用這些FPGA或其他數(shù)字系統(tǒng)的系統(tǒng)。
2、 VGA顯示系統(tǒng)
在本設(shè)計(jì)示例中,VGA 顯示由 FPGA的三位數(shù)字輸出構(gòu)成。數(shù)字輸出由兩個(gè)模塊實(shí)現(xiàn),如圖 1所示。第一個(gè)產(chǎn)生水平和垂直同步信號(hào)的模塊定義為同步模塊(sync_mod),第一個(gè)模塊還產(chǎn)生第二個(gè)模塊圖像生成模塊(img_gen) 所需的信號(hào)。
圖 1帶有兩個(gè)模塊的頂層原理圖
img_gen模塊的輸出是三位輸出。這意味著VGA顯示器中可以有8種組合,因此可以有8種顏色。位組合的數(shù)字輸出與VGA顏色輸出對(duì)應(yīng)如表 1所示。
表 1數(shù)字輸出與VGA顏色輸出對(duì)應(yīng)表
3、 同步模塊
同步模塊為VGA顯示器生成垂直和水平同步信號(hào)。該模塊具有三個(gè)輸入,它們是:
- 開(kāi)始 --- 這將激活/停用模塊
- 時(shí)鐘 --- 系統(tǒng)時(shí)鐘
- 重置 --- 重置同步模塊
兩個(gè)輸出信號(hào)是垂直和水平同步信號(hào),它們直接連接到 VGA 連接器。
除了兩個(gè)輸出之外,還有三個(gè)信號(hào)輸入到圖像生成模塊。其中兩個(gè)輸出x_control和y_control控制 x 和 y 像素。此設(shè)計(jì)默認(rèn)的VGA顯示分辨率為640 X 480。因此,x_control 從 0 計(jì)數(shù)到639,y_control 從 0 計(jì)數(shù)到479。為了完成此任務(wù),模塊中創(chuàng)建了兩個(gè)計(jì)數(shù)器模型。一個(gè)計(jì)數(shù)器滿足水平分辨率,另一個(gè)滿足垂直分辨率。第三個(gè)信號(hào)是 Video_on 信號(hào),用于啟用/禁用視頻。代表同步模塊的符號(hào)如圖 2所示。
圖2同步模塊符號(hào)圖
4、 圖像生成模塊
該模塊為VGA顯示器生成RGB輸出,該模塊具有在顯示中生成所需塊的部分。如前所述,三個(gè)RGB輸出是數(shù)字信號(hào),可產(chǎn)生八種組合,從而在顯示中產(chǎn)生八種顏色。圖像生成模塊的符號(hào)如圖 3所示。
圖 3圖像生成模塊符號(hào)圖
該模塊的VHDL模型有幾個(gè)部分來(lái)描述輸出數(shù)字信號(hào)。在VGA顯示器上生成的最終圖像用于PONG游戲,該游戲具有三個(gè)主要組件,如圖 4所示。
圖 4圖像生成模塊在輸出端的VGA顯示
在VGA顯示器上看到的PONG游戲中的三個(gè)主要組件是:
- Wall - 限制球越過(guò)并在屏幕上以黑色顯示。
- Ball - 在屏幕中移動(dòng)并以綠色顯示。
- Bar – bar由img_gen模塊上的button_r和button_l輸入控制,并以藍(lán)色顯示。
圖像生成模塊生成數(shù)字輸出以顯示三種顏色,屏幕的其余部分為紅色。以下是 RGB 數(shù)字引腳上預(yù)期的輸出:
表2圖像生成模塊期望的輸出
圖像生成模塊的輸入x_control和y_control定義了顯示器上的像素,x_control和 y_control給定值下的顏色輸出由圖 4決定。對(duì)于y_control的每個(gè)值,x_control的值從0掃描到639,,y_control的值從0掃到469。這樣就形成了一個(gè)640X480分辨率的視頻,完成了一個(gè)顯示周期。這是由圖像生成模塊的video_on輸入決定的。
SaberRD中仿真與分析
SaberRD仿真平臺(tái)中主要進(jìn)行瞬態(tài)分析,它根據(jù)時(shí)間仿真系統(tǒng)性能。SaberRD運(yùn)行關(guān)于時(shí)間的模擬,并繪制各種信號(hào)以檢查系統(tǒng)輸出。在SaberRD中運(yùn)行仿真有幾個(gè)選項(xiàng)可用于可視化電路中不同部分的操作。用于運(yùn)行各種分析、繪制結(jié)果、測(cè)量各種參數(shù)等的自動(dòng)化工具對(duì)于提高設(shè)計(jì)工程師的生產(chǎn)力非常有用。
該設(shè)計(jì)還附帶一個(gè)運(yùn)行瞬態(tài)分析并繪制rgb輸出信號(hào)的實(shí)驗(yàn)。除此之外,video_on信號(hào)以及指定顯示器上像素的 x 和 y 值。
1、 如何運(yùn)行實(shí)驗(yàn)Experiment
a、下載設(shè)計(jì)文件中,打開(kāi)設(shè)計(jì)vhdl_fpga_demo.ai_dsn。
b、轉(zhuǎn)到Simulate選項(xiàng)卡,在Analysis列表中選擇Experiment,在屏幕右邊的Experiments列表中選擇transient_analysis。開(kāi)始仿真。
c、仿真完成后,results窗格將顯示圖表和實(shí)驗(yàn)報(bào)告。
d、雙擊實(shí)驗(yàn)報(bào)告,在報(bào)告中可以看到Ball和Bar寬度的測(cè)量值。
e、雙擊圖表“key_outputs”,如圖 5所示的波形圖顯示出來(lái)。
2、 結(jié)果和觀察
了解設(shè)計(jì)的預(yù)期結(jié)果以了解仿真結(jié)果是否符合預(yù)期非常重要。設(shè)計(jì)的期望已經(jīng)在上面的部分中解釋過(guò)。運(yùn)行實(shí)驗(yàn)后,結(jié)果窗格中會(huì)顯示圖表和實(shí)驗(yàn)報(bào)告。雙擊圖表“key_outputs”結(jié)果如下圖 5。
圖5瞬態(tài)仿真波形圖
如前所述,對(duì)于變量“y”的每個(gè)值,變量“x”從 0變?yōu)?39?!畒’ 的值從0到479以完成一個(gè)顯示周期。這是640X480分辨率VGA顯示器的定義。
如圖 4所示,顯示和背景中有三個(gè)項(xiàng)目。這會(huì)在輸出引腳上產(chǎn)生rgb(0)、rgb(1)和rgb(2)的四種組合,如表1中所述。圖 5中提到了在一個(gè)顯示周期中的四個(gè)區(qū)域。
當(dāng)圖表放大到區(qū)域1時(shí),信號(hào)如圖 6所示??梢钥闯?rgb 輸出為 0、0 和 0,這表示黑色表示墻壁。
圖6黑色墻壁的RGB輸出狀態(tài)
區(qū)域2被縮放以查看屏幕上顯示的球。球是綠色的,輸出應(yīng)該是010。圖 7中顯示的放大區(qū)域也證實(shí)了這一點(diǎn)。
圖7綠色球的RGB輸出狀態(tài)
區(qū)域3表示背景,顏色為紅色。紅色的代碼是100,如下圖 8所示。
圖8紅色背景的RGB輸出
顯示器上的最后一個(gè)對(duì)象是藍(lán)色的Bar,RGB輸出應(yīng)為001,如下圖 9所示。
圖9藍(lán)色Bar的RGB輸出
除此之外,圖表上還有兩個(gè)測(cè)量值。這些測(cè)量以像素為單位顯示寬度,其中Ball的寬度為20,Bar 的寬度為120像素。這可以通過(guò)打開(kāi)img_gen.vhd模型來(lái)驗(yàn)證,如下圖 10所示。
圖10圖像生成模塊代碼
按比例,Ball和Bar的寬度可以在實(shí)驗(yàn)報(bào)告中驗(yàn)證,如圖 11所示。
圖11測(cè)量顯示Ball和Bar的寬度
這里描述了圖 10中紅框中顯示的Bar和Ball寬度如何與圖 11中的脈沖寬度測(cè)量相關(guān)。一個(gè)video_on脈沖寬度,對(duì)于給定的“y”,在此期間,“x”像素從0變?yōu)?39 ,如圖 12所示,為1.28ms。在此期間 x 像素為藍(lán)色的時(shí)間為240us。
圖12以像素為單位計(jì)算Bar的寬度
因此,以像素為單位的Bar寬度為
同樣,以像素為單位的 Ball 的寬度為
結(jié)論
該設(shè)計(jì)示例表明 FPGA 的仿真可以在SaberRD 中執(zhí)行,并且自動(dòng)化方法有助于獲得易于閱讀的結(jié)果。在仿真工具中執(zhí)行的詳細(xì)分析表明,電路的輸出符合設(shè)計(jì)要求和所需的輸出。因此,SaberRD 被證明是用于仿真涉及到 FPGA 的設(shè)計(jì)的有前途的解決方案。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21925瀏覽量
612627 -
連接器
+關(guān)注
關(guān)注
99文章
15118瀏覽量
138965 -
RGB
+關(guān)注
關(guān)注
4文章
803瀏覽量
59491 -
VHDL語(yǔ)言
+關(guān)注
關(guān)注
1文章
113瀏覽量
18453 -
VGA接口顯示
+關(guān)注
關(guān)注
0文章
3瀏覽量
1007
發(fā)布評(píng)論請(qǐng)先 登錄
在Matlab/Simulink中進(jìn)行永磁同步電機(jī)流頻比I/F控制系統(tǒng)的仿真分析

在Quartus ii 13.1中進(jìn)行波形仿真時(shí)出現(xiàn)錯(cuò)誤,求大神解答
基于FPGA的數(shù)據(jù)采集系統(tǒng)求助
如何在ADS中進(jìn)行EM仿真
在stmcubeMX中進(jìn)行配置使用freertos系統(tǒng)
如何在ROBOGUIDE環(huán)境中進(jìn)行離線編程和仿真?
在Altium Designer的Protel中進(jìn)行混合信號(hào)
在調(diào)制數(shù)字系統(tǒng)中進(jìn)行精確的非線性測(cè)量

在Protel DXP中進(jìn)行FPGA設(shè)計(jì)和仿真
大型交直流系統(tǒng)的PSCAD建模與仿真
在NI VeriStand環(huán)境中進(jìn)行FPGA相關(guān)配置

如何使用FPGA進(jìn)行仿真系統(tǒng)數(shù)據(jù)采集控制器IP核設(shè)計(jì)的資料概述

在PSIM中進(jìn)行VHDL的聯(lián)合仿真

評(píng)論