找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6397|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

FPGA入門實(shí)例(一)加法器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
在FPGA工程設(shè)計(jì)中,加法器的身影隨處可見,加法器看似簡(jiǎn)單在實(shí)際的應(yīng)用中很容易出錯(cuò),尤其是在做定點(diǎn)數(shù)加法時(shí)往往會(huì)遇到?jīng)]有小數(shù)點(diǎn)位置對(duì)齊導(dǎo)致錯(cuò)誤。加法器主要可分為半加器、全加器;按操作數(shù)不同可以分定點(diǎn)數(shù)加法器、浮點(diǎn)數(shù)加法器,針對(duì)有符號(hào)無(wú)符號(hào)數(shù)也要設(shè)計(jì)不同的加法器。學(xué)習(xí)是個(gè)由淺及深循序漸進(jìn)的過(guò)程,一開始就從最簡(jiǎn)單的半加器開始,這里用最簡(jiǎn)單的加法器熟悉一下FPGA開發(fā)流程,建工程的一些規(guī)范及怎樣寫去仿真。
1.一位半加器: 電路是指對(duì)兩個(gè)輸入數(shù)據(jù)位相加,輸出一個(gè)結(jié)果位和進(jìn)位,沒有進(jìn)位輸入的加法器電路。 是實(shí)現(xiàn)兩個(gè)一位二進(jìn)制數(shù)的加法運(yùn)算電路。半加器不考慮低位的進(jìn)位
module halfadder(cout,sum,a,b);

         outputcout,sum; //不申明,默認(rèn)是wire變量

         input  a,b;

         assign{cout,sum}=a+b;//cout為進(jìn)位,sum為和

endmodul



2.全加器  :是用門電路實(shí)現(xiàn)兩個(gè)二進(jìn)制數(shù)相加并求出和的組合線路,稱為一位全加器。一位全加器可以處理低位進(jìn)位,并輸出本位加法進(jìn)位。多個(gè)一位全加器進(jìn)行級(jí)聯(lián)可以得到多位全加器。

module fulladder(a,b,cin,cout,sum);

         inputa,b,cin;

         outputcout,sum;

         assign{cout,sum}=a+b+cin;

endmodule

3.兩個(gè)半加器構(gòu)成全加器

module fulladder(x,y,c_in,sum,c_out);

         inputx;

         inputy;

         inputc_in;

         outputsum;

         outputc_out;

         wirea_sum;

         wirea_out;

         wireb_out;   

         assignc_out=a_out|b_out;

         halfadderhalf(x,y,a_sum,a_out);

         halfadderhalf1(c_in,a_sum,sum,b_out);

endmodule

第一步新建一個(gè)文件夾

建工程文件夾盡量規(guī)范,文件夾下最要包含 doc  prj  RTL  Testbench 文件夾 doc主要放一些工程文檔 前期沒有可以空著,prj文件夾放工程,及ip核文件,RTL放模塊代碼.v文件 ,Testbench文件夾放測(cè)試激勵(lì)文件。



2.打開quartus 軟件新建工程,

選擇路徑 并給工程命名

選擇仿真工具和 仿真語(yǔ)言

新建一個(gè)verilog文件

編寫代碼并保存

將代碼保存到RTL文件夾

再新建一個(gè)verilog文件 作為Tb文件 編寫tb文件后保存到TB文件下。
編寫完成后需要進(jìn)行仿真設(shè)置。


選擇設(shè)置菜單


選擇simulation設(shè)置


添加TB文件




添加完成后進(jìn)行仿真


仿真結(jié)果




51hei截圖20200111114535.png (37.72 KB, 下載次數(shù): 142)

51hei截圖20200111114535.png

51hei截圖20200111115800.png (114.73 KB, 下載次數(shù): 146)

51hei截圖20200111115800.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:704585 發(fā)表于 2020-3-26 11:09 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表