国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種用于FPGA邏輯仿真的數(shù)據(jù)讀寫方法

2016-05-30 09:01:23吳斌劉夏青車炯暉張旭洲
科技風(fēng) 2016年10期
關(guān)鍵詞:仿真

吳斌 劉夏青 車炯暉 張旭洲

摘 要:針對(duì)FPGA邏輯設(shè)計(jì)仿真,提出一種TEXTIO數(shù)據(jù)讀寫方法。當(dāng)測(cè)試激勵(lì)比較大且復(fù)雜時(shí),可以用MATLAB仿真產(chǎn)生,測(cè)試結(jié)果也可以在MATLAB中進(jìn)行分析,本文給出仿真實(shí)例,證明該方法可行精確,為邏輯設(shè)計(jì)提供極大的方便。

關(guān)鍵詞:FPGA;TEXTIO;仿真;MATLAB

近年來,電子設(shè)計(jì)領(lǐng)域所涉及的算法越來越復(fù)雜,導(dǎo)致對(duì)FPGA實(shí)現(xiàn)的設(shè)計(jì)要求越來越高,作為邏輯開發(fā)的重要環(huán)節(jié),仿真能及時(shí)發(fā)現(xiàn)設(shè)計(jì)錯(cuò)誤,加快設(shè)計(jì)進(jìn)度,提高設(shè)計(jì)可靠性。

本文針對(duì)最基本的行為仿真,提出一種仿真信號(hào)由TEXTIO文件讀寫形式的方法,用于復(fù)雜系統(tǒng)測(cè)試矢量數(shù)目較大的邏輯設(shè)計(jì)。

1 基于TEXTIO的交互仿真方法

在測(cè)試矢量非常大時(shí)可以用TEXTIO的方法來進(jìn)行仿真。TEXTIO是VHDL標(biāo)準(zhǔn)庫STD中的一個(gè)程序包(Package),它提供了VHDL與磁盤文件直接訪問的橋梁,可以利用它來讀取或?qū)懭敕抡鏀?shù)據(jù)到文件中,TEXTIO的使用是通過testbench來進(jìn)行的,即在testbench中可以調(diào)用TEXTIO進(jìn)行仿真[ 1 ]。

TEXTIO對(duì)文本文件是按行來處理的,TEXTIO程序包中有專門的過程可以讀一行或?qū)懸恍凶址?,并且有一個(gè)函數(shù)檢查文件是否結(jié)束。

類型LINE是TEXTIO程序包中的基本單元,用于保持將要寫到文件的一行字符串或保持從一個(gè)文件讀取字符串[ 2 ]。一般情況下,該方法用到的過程和函數(shù)為readline,read,writeline,write和endfile等。

2 仿真實(shí)例

本文將針對(duì)歐拉公式這一數(shù)學(xué)理論進(jìn)行邏輯設(shè)計(jì)以及功能仿真驗(yàn)證。

輸入信號(hào)利用MATLAB仿真產(chǎn)生,假設(shè)兩信號(hào)sig1和sig2頻率分別為10MHz和20MHz,取兩信號(hào)實(shí)部和虛部,并將其量化成與邏輯設(shè)計(jì)輸入信號(hào)位數(shù)相同的二進(jìn)制BIT量,分別存入4個(gè).txt文本文件中。

在編寫testbench過程中,讀輸入信號(hào)的和將寫輸出信號(hào)是本文提出方法的關(guān)鍵。

定義4個(gè)文件類型作為輸入文件目標(biāo),并定義4個(gè)變量用來保持從文件讀取的行,4個(gè)BIT_VECTOR類型的變量用來保持從行讀取的值。因?yàn)樽x取的值是BIT_VECTOR,還需要轉(zhuǎn)換為STD_LOGIC_VECTOR類型,可以使用函數(shù)TO_STDLOGICVECTOR來實(shí)現(xiàn)。

以其中一個(gè)變量為例,讀輸入信號(hào)文件部分關(guān)鍵程序?yàn)椋?/p>

FILE in_file1:TEXT IS IN"E:/signal/data1_I.txt";

VARIABLE in_line1:LINE;

VARIABLE int_val1:BIT_VECTOR(13 downto 0);

while not(endfile(in_file1))loop

readline(in_file1,in_line1);

read(in_line1,int_val1);

io_i<=to_stdlogicvector(int_val1);

寫文件過程也類似,仿真過程中將輸出信號(hào)輸出到2個(gè).txt文件中,部分程序樣例為:

FILE out_file1:TEXT IS OUT"E: /signal/sig_I_new.txt";

VARIABLE out_line1:LINE;

write(out_line1,to_bitvector(out_i));

writeline(out_file1,out_line1);

在MATLAB中畫出兩信號(hào)sig1和sig2以及兩信號(hào)復(fù)乘后的頻譜,與ISE中復(fù)乘邏輯仿真后的頻譜結(jié)果進(jìn)行對(duì)比分析,仿真圖如圖1所示。

仿真結(jié)果標(biāo)明,輸入信號(hào)為10MHz和20MHz的兩個(gè)復(fù)信號(hào)在MATLAB中復(fù)乘的結(jié)果為30MHz的復(fù)信號(hào),邏輯設(shè)計(jì)中復(fù)乘后產(chǎn)生的信號(hào)也為30MHz的復(fù)信號(hào),與預(yù)期結(jié)果相同。

3 結(jié)論

在FPGA邏輯設(shè)計(jì)中,可以采用TEXTIO方法進(jìn)行讀取測(cè)試激勵(lì),這些激勵(lì)也能夠在MATLAB中的生成,在測(cè)試結(jié)束之后我們還能夠利用MATLAB進(jìn)行分析測(cè)試結(jié)果,從而實(shí)現(xiàn)功能驗(yàn)證,為邏輯設(shè)計(jì)提供極大的方便。

參考文獻(xiàn):

[1] 湯琦,蔣軍敏.Xilinx FPGA高級(jí)設(shè)計(jì)及應(yīng)用[M].北京:電子工業(yè)出版社,2012.

[2] 江思敏.VHDL數(shù)字電路及系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2006.

作者簡(jiǎn)介:吳斌(1984-),男,蒙古族,內(nèi)蒙古寧城人,碩士,工程師,主要研究方向:機(jī)載計(jì)算機(jī)技術(shù)。

猜你喜歡
仿真
一種幫助幼兒車內(nèi)脫險(xiǎn)應(yīng)急裝置的仿真分析
科技資訊(2016年18期)2016-11-15 20:09:22
Buck開關(guān)變換器的基本參數(shù)設(shè)計(jì)及仿真分析
試析PLC控制下的自動(dòng)化立體倉庫仿真情況分析
基于MADYMO的航空座椅約束系統(tǒng)優(yōu)化設(shè)計(jì)
科技視界(2016年18期)2016-11-03 21:44:44
中國體態(tài)假人模型與FAA Hybrid Ⅲ 型假人模型沖擊差異性分析
科技視界(2016年18期)2016-11-03 20:31:49
機(jī)械加工仿真技術(shù)研究
阳城县| 东至县| 吉安县| 象州县| 屏南县| 元氏县| 紫云| 岢岚县| 嘉祥县| 芮城县| 民乐县| 黎平县| 筠连县| 长垣县| 南丰县| 和田市| 将乐县| 九龙坡区| 崇礼县| 儋州市| 云龙县| 阳城县| 赤峰市| 齐齐哈尔市| 通江县| 年辖:市辖区| 革吉县| 丹凤县| 白朗县| 九龙城区| 轮台县| 开江县| 清流县| 青海省| 都江堰市| 龙南县| 海晏县| 原平市| 抚松县| 兴业县| 陇西县|