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

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

3天內(nèi)不再提示

在SaberRD中進(jìn)行FPGA的系統(tǒng)仿真

冬至子 ? 來源:Saber仿真 ? 作者:Greatalent ? 2023-12-05 11:33 ? 次閱讀

前言

在自動化領(lǐng)域,FPGA(現(xiàn)場可編程門陣列)的作用越來越重要。這些設(shè)備構(gòu)成控制單元的大腦,控制單元包含控制系統(tǒng)各種功能的邏輯。

從環(huán)境中收集信息的不同傳感器信號被傳遞到FPGA,并驅(qū)動必要的控制輸出。隨著系統(tǒng)復(fù)雜性的增加,迫切需要對各種輸入和輸出條件下的電路行為有一個全面了解。

SaberRD是一款綜合仿真軟件,可以虛擬設(shè)計(jì)和驗(yàn)證任何與電氣系統(tǒng)有關(guān)的東西。健壯的仿真引擎為模擬和混合信號系統(tǒng)提供了可靠的資源。該仿真器支持VHDL-AMS,它是IEEE標(biāo)準(zhǔn)VHDL語言的擴(kuò)展,主要用于FPGA和其他數(shù)字系統(tǒng)的建模。

此設(shè)計(jì)示例演示了在SaberRD中包含F(xiàn)PGA的系統(tǒng)仿真。該設(shè)備使用VHDL語言建模,系統(tǒng)仿真的目的是為監(jiān)視器提供適當(dāng)?shù)男盘?,系統(tǒng)通過VGA接口將八種顏色的視頻發(fā)送到顯示器。

VGA顯示系統(tǒng)介紹

當(dāng)今的系統(tǒng)變得越來越復(fù)雜,必須針對所有可能的組合對系統(tǒng)進(jìn)行分析。以下分別說明示例系統(tǒng)的詳細(xì)信息。

1、 數(shù)字系統(tǒng)仿真

數(shù)字系統(tǒng)由以離散步長改變信號狀態(tài)的代碼組成。FPGA是數(shù)字系統(tǒng),它接收數(shù)字輸入并根據(jù)設(shè)備上編程的邏輯提供數(shù)字輸出。來自各種外設(shè)(例如傳感器和驅(qū)動器)的信息通常是模擬性質(zhì)的,使用模數(shù)轉(zhuǎn)換器將信息傳輸?shù)紽PGA。同樣,F(xiàn)PGA的輸出通過接口將數(shù)字信號轉(zhuǎn)換為有意義的輸出。

此類設(shè)備可以使用VHDL語言輕松建模。隨著仿真需求的增加,大多數(shù)設(shè)備制造商通常會在組件上附帶VHDL或其他仿真模型,以便設(shè)計(jì)工程師可以在原型構(gòu)建過程之前仿真完整的行為。SaberRD支持VHDL-AMS語言,它是VHDL語言的混合信號擴(kuò)展。因此,這些模型可以很容易地用于仿真使用這些FPGA或其他數(shù)字系統(tǒng)的系統(tǒng)。

2、 VGA顯示系統(tǒng)

在本設(shè)計(jì)示例中,VGA 顯示由 FPGA的三位數(shù)字輸出構(gòu)成。數(shù)字輸出由兩個模塊實(shí)現(xiàn),如圖 1所示。第一個產(chǎn)生水平和垂直同步信號的模塊定義為同步模塊(sync_mod),第一個模塊還產(chǎn)生第二個模塊圖像生成模塊(img_gen) 所需的信號。

圖片

圖 1帶有兩個模塊的頂層原理圖

img_gen模塊的輸出是三位輸出。這意味著VGA顯示器中可以有8種組合,因此可以有8種顏色。位組合的數(shù)字輸出與VGA顏色輸出對應(yīng)如表 1所示。

表 1數(shù)字輸出與VGA顏色輸出對應(yīng)表

圖片

3、 同步模塊

同步模塊為VGA顯示器生成垂直和水平同步信號。該模塊具有三個輸入,它們是:

  1. 開始 --- 這將激活/停用模塊
  2. 時鐘 --- 系統(tǒng)時鐘
  3. 重置 --- 重置同步模塊

兩個輸出信號是垂直和水平同步信號,它們直接連接到 VGA 連接器。

除了兩個輸出之外,還有三個信號輸入到圖像生成模塊。其中兩個輸出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)建了兩個計(jì)數(shù)器模型。一個計(jì)數(shù)器滿足水平分辨率,另一個滿足垂直分辨率。第三個信號是 Video_on 信號,用于啟用/禁用視頻。代表同步模塊的符號如圖 2所示。

圖片

圖2同步模塊符號圖

4、 圖像生成模塊

該模塊為VGA顯示器生成RGB輸出,該模塊具有在顯示中生成所需塊的部分。如前所述,三個RGB輸出是數(shù)字信號,可產(chǎn)生八種組合,從而在顯示中產(chǎn)生八種顏色。圖像生成模塊的符號如圖 3所示。

圖片

圖 3圖像生成模塊符號圖

該模塊的VHDL模型有幾個部分來描述輸出數(shù)字信號。在VGA顯示器上生成的最終圖像用于PONG游戲,該游戲具有三個主要組件,如圖 4所示。

圖片

圖 4圖像生成模塊在輸出端的VGA顯示

在VGA顯示器上看到的PONG游戲中的三個主要組件是:

  1. Wall - 限制球越過并在屏幕上以黑色顯示。
  2. Ball - 在屏幕中移動并以綠色顯示。
  3. Bar – bar由img_gen模塊上的button_r和button_l輸入控制,并以藍(lán)色顯示。

圖像生成模塊生成數(shù)字輸出以顯示三種顏色,屏幕的其余部分為紅色。以下是 RGB 數(shù)字引腳上預(yù)期的輸出:

表2圖像生成模塊期望的輸出

圖片

圖像生成模塊的輸入x_control和y_control定義了顯示器上的像素,x_control和 y_control給定值下的顏色輸出由圖 4決定。對于y_control的每個值,x_control的值從0掃描到639,,y_control的值從0掃到469。這樣就形成了一個640X480分辨率的視頻,完成了一個顯示周期。這是由圖像生成模塊的video_on輸入決定的。

SaberRD中仿真與分析

SaberRD仿真平臺中主要進(jìn)行瞬態(tài)分析,它根據(jù)時間仿真系統(tǒng)性能。SaberRD運(yùn)行關(guān)于時間的模擬,并繪制各種信號以檢查系統(tǒng)輸出。在SaberRD中運(yùn)行仿真有幾個選項(xiàng)可用于可視化電路中不同部分的操作。用于運(yùn)行各種分析、繪制結(jié)果、測量各種參數(shù)等的自動化工具對于提高設(shè)計(jì)工程師的生產(chǎn)力非常有用。

該設(shè)計(jì)還附帶一個運(yùn)行瞬態(tài)分析并繪制rgb輸出信號的實(shí)驗(yàn)。除此之外,video_on信號以及指定顯示器上像素的 x 和 y 值。

1、 如何運(yùn)行實(shí)驗(yàn)Experiment

a、下載設(shè)計(jì)文件中,打開設(shè)計(jì)vhdl_fpga_demo.ai_dsn。

b、轉(zhuǎn)到Simulate選項(xiàng)卡,在Analysis列表中選擇Experiment,在屏幕右邊的Experiments列表中選擇transient_analysis。開始仿真。

c、仿真完成后,results窗格將顯示圖表和實(shí)驗(yàn)報告。

d、雙擊實(shí)驗(yàn)報告,在報告中可以看到Ball和Bar寬度的測量值。

e、雙擊圖表“key_outputs”,如圖 5所示的波形圖顯示出來。

2、 結(jié)果和觀察

了解設(shè)計(jì)的預(yù)期結(jié)果以了解仿真結(jié)果是否符合預(yù)期非常重要。設(shè)計(jì)的期望已經(jīng)在上面的部分中解釋過。運(yùn)行實(shí)驗(yàn)后,結(jié)果窗格中會顯示圖表和實(shí)驗(yàn)報告。雙擊圖表“key_outputs”結(jié)果如下圖 5。

圖片

圖5瞬態(tài)仿真波形圖

如前所述,對于變量“y”的每個值,變量“x”從 0變?yōu)?39。‘y’ 的值從0到479以完成一個顯示周期。這是640X480分辨率VGA顯示器的定義。

如圖 4所示,顯示和背景中有三個項(xiàng)目。這會在輸出引腳上產(chǎn)生rgb(0)、rgb(1)和rgb(2)的四種組合,如表1中所述。圖 5中提到了在一個顯示周期中的四個區(qū)域。

當(dāng)圖表放大到區(qū)域1時,信號如圖 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輸出

顯示器上的最后一個對象是藍(lán)色的Bar,RGB輸出應(yīng)為001,如下圖 9所示。

圖片

圖9藍(lán)色Bar的RGB輸出

除此之外,圖表上還有兩個測量值。這些測量以像素為單位顯示寬度,其中Ball的寬度為20,Bar 的寬度為120像素。這可以通過打開img_gen.vhd模型來驗(yàn)證,如下圖 10所示。

圖片

圖10圖像生成模塊代碼

按比例,Ball和Bar的寬度可以在實(shí)驗(yàn)報告中驗(yàn)證,如圖 11所示。

圖片

圖11測量顯示Ball和Bar的寬度

這里描述了圖 10中紅框中顯示的Bar和Ball寬度如何與圖 11中的脈沖寬度測量相關(guān)。一個video_on脈沖寬度,對于給定的“y”,在此期間,“x”像素從0變?yōu)?39 ,如圖 12所示,為1.28ms。在此期間 x 像素為藍(lán)色的時間為240us。

圖片

圖12以像素為單位計(jì)算Bar的寬度

因此,以像素為單位的Bar寬度為

圖片

同樣,以像素為單位的 Ball 的寬度為

圖片

結(jié)論

該設(shè)計(jì)示例表明 FPGA 的仿真可以在SaberRD 中執(zhí)行,并且自動化方法有助于獲得易于閱讀的結(jié)果。在仿真工具中執(zhí)行的詳細(xì)分析表明,電路的輸出符合設(shè)計(jì)要求和所需的輸出。因此,SaberRD 被證明是用于仿真涉及到 FPGA 的設(shè)計(jì)的有前途的解決方案。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600470
  • 連接器
    +關(guān)注

    關(guān)注

    98

    文章

    14055

    瀏覽量

    135691
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    794

    瀏覽量

    58305
  • VHDL語言
    +關(guān)注

    關(guān)注

    1

    文章

    113

    瀏覽量

    17957
  • VGA接口顯示
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    965
收藏 人收藏

    評論

    相關(guān)推薦

    Matlab/Simulink中進(jìn)行永磁同步電機(jī)流頻比I/F控制系統(tǒng)仿真分析

    本章節(jié)采用流頻比I/F控制方法驅(qū)動永磁同步電機(jī)的轉(zhuǎn)動,首先分析流頻比I/F的控制原理,然后Matlab/Simulink中進(jìn)行永磁同步電機(jī)流頻比I/F控制系統(tǒng)仿真分析,為后續(xù)PMS
    發(fā)表于 06-08 15:31 ?1148次閱讀
    <b class='flag-5'>在</b>Matlab/Simulink<b class='flag-5'>中進(jìn)行</b>永磁同步電機(jī)流頻比I/F控制<b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>仿真</b>分析

    Quartus ii 13.1中進(jìn)行波形仿真時出現(xiàn)錯誤,求大神解答

    Quartus ii 13.1中進(jìn)行波形仿真時出現(xiàn)錯誤,# ** Error: parity.vwf.vt(30): near ",": syntax error
    發(fā)表于 12-21 20:06

    基于FPGA的數(shù)據(jù)采集系統(tǒng)求助

    數(shù)字下變頻,抽取,封裝為幀,再通過千兆以太網(wǎng)傳輸?shù)絇C進(jìn)行保存。但是由于這個系統(tǒng)的開發(fā)是比較復(fù)雜的,因此本人想在進(jìn)行實(shí)際硬件系統(tǒng)設(shè)計(jì)之前先進(jìn)行
    發(fā)表于 04-28 09:56

    如何在ADS中進(jìn)行EM仿真

    先生,我想對90度支線耦合器進(jìn)行EM仿真,我不知道如何在ADS中進(jìn)行EM仿真。請有人知道EM模擬的PDF幫助文檔。你告訴我了嗎 以上來自于谷歌翻譯 以下為原文Sir, I want
    發(fā)表于 12-27 16:28

    stmcubeMX中進(jìn)行配置使用freertos系統(tǒng)

    的TOTAL_HEAP_SIZE參數(shù),建的任務(wù)內(nèi)存不能超過這個數(shù)值;配置比較簡單,只需要在上面選中使用哪個版本,然后在下面“tasks and queues”中添加任務(wù)這樣就可以了stmcubeMX中進(jìn)行配置的時候,如果使用了freertos
    發(fā)表于 08-10 07:12

    如何在ROBOGUIDE環(huán)境中進(jìn)行離線編程和仿真?

    如何在ROBOGUIDE環(huán)境中進(jìn)行離線編程和仿真?如何學(xué)習(xí)FANUC Robot編程?
    發(fā)表于 09-18 06:33

    Altium Designer的Protel中進(jìn)行混合信號

    Altium Designer 的Protel 中進(jìn)行混合信號功能仿真:1 混合信號仿真原理圖的環(huán)境下
    發(fā)表于 09-25 15:39 ?0次下載

    調(diào)制數(shù)字系統(tǒng)中進(jìn)行精確的非線性測量

    調(diào)制數(shù)字系統(tǒng)中進(jìn)行精確的非線性測量 隨著日益增加的智能手機(jī)和無線互聯(lián)網(wǎng)3G覆蓋范圍以及4G系統(tǒng)即將引入帶來的持續(xù)壓力,數(shù)字通信射頻組件
    發(fā)表于 04-08 14:42 ?741次閱讀
    <b class='flag-5'>在</b>調(diào)制數(shù)字<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中進(jìn)行</b>精確的非線性測量

    Protel DXP中進(jìn)行FPGA設(shè)計(jì)和仿真

    Protel DXP中進(jìn)行FPGA設(shè)計(jì)和仿真
    發(fā)表于 12-25 10:09 ?0次下載

    大型交直流系統(tǒng)的PSCAD建模與仿真

    本文簡單介紹了電力系統(tǒng)暫態(tài)仿真軟件PSCAD的功能、元件庫和仿真程序執(zhí)行的過程。PSCAD中進(jìn)行了交直流電力
    發(fā)表于 05-11 11:25 ?19次下載

    NI VeriStand環(huán)境中進(jìn)行FPGA相關(guān)配置

    本文主要介紹了用戶如何在NI VeriStand環(huán)境中進(jìn)行基于FPGA的相關(guān)配置。并以使用7851R輸出PWM波為例,敘述了VeriStand 2011運(yùn)行環(huán)境中所需要的所有工作。 NI
    發(fā)表于 11-18 06:36 ?4735次閱讀
    <b class='flag-5'>在</b>NI VeriStand環(huán)境<b class='flag-5'>中進(jìn)行</b><b class='flag-5'>FPGA</b>相關(guān)配置

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

    介紹了大型工業(yè)模擬仿真系統(tǒng)中,利用FPGA和軟IP核實(shí)現(xiàn)數(shù)據(jù)采集及收發(fā)控制的方案,并對其進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。重點(diǎn)闡述了
    發(fā)表于 11-07 11:14 ?20次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>仿真</b><b class='flag-5'>系統(tǒng)</b>數(shù)據(jù)采集控制器IP核設(shè)計(jì)的資料概述

    SDAccel中進(jìn)行調(diào)試

    SDAccel中進(jìn)行調(diào)試
    的頭像 發(fā)表于 11-29 06:20 ?1840次閱讀

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

    目前市面上能支持HDL語言聯(lián)合仿真的電源仿真軟件并不多,能支持VHDL聯(lián)合仿真的就更少了,PSIM軟件支持VHDL及verilogHDL聯(lián)合仿真,這樣對于快速驗(yàn)證HDL實(shí)現(xiàn)的新想法是十
    的頭像 發(fā)表于 05-23 11:38 ?2924次閱讀
    <b class='flag-5'>在</b>PSIM<b class='flag-5'>中進(jìn)行</b>VHDL的聯(lián)合<b class='flag-5'>仿真</b>

    fpga仿真器是什么?它有哪些優(yōu)勢?

    FPGA仿真器是一種用于模擬FPGA(現(xiàn)場可編程門陣列)硬件行為的軟件工具。它通過模擬FPGA內(nèi)部的邏輯電路、時序和接口等,幫助工程師
    的頭像 發(fā)表于 03-15 15:15 ?1363次閱讀