新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的數(shù)字秒表設(shè)計(jì)與仿真

基于FPGA的數(shù)字秒表設(shè)計(jì)與仿真

作者: 時(shí)間:2012-12-27 來(lái)源:網(wǎng)絡(luò) 收藏

when “0101”=>dataoutput=“0100100”;

when “0110”=>dataoutput=“0100000”;

when “0111”=>dataoutput=“0001111”;

when “1000”=>dataoutput=“0000000”;

when “1001”=>dataoutput=“0000100”;

when others=>dataoutput=“1111111”;

end case;

end process;

3 功能驗(yàn)證以及下載實(shí)現(xiàn)

完成以上各個(gè)子模塊的后,該的模塊就基本完成了,剩下的工作就是通過(guò)一個(gè)頂層文件將各個(gè)子模塊連接起來(lái)。在頂層文件中可以將以上各個(gè)子模塊看作一個(gè)個(gè)黑匣子,只將其輸入輸出端對(duì)應(yīng)相連就可以了。下面是該頂層文件的VHDL源程序:

architecture Behavioral of topfile is

signal clk:std_logic:='0';

signal enableout:std_logic:='0';

signal data0,data1,data2,

data3,data4,data5:std_logic_vector(3

downto 0):=“0000”;

component abc

port(clk:in std_logic;

dout:out std_logic);

end component;

component enable

port(enablein:in std_logic;

enableout:out std_logic);

end component;

component highlevel

port(rst,clk,clear:in std_logic;

output1,output2,output3,

output4,output5,output6:out

std_logic_vector(3 downto 0);

carryout:out std_logic);

end component;

component yima

port(datainput:in std_logic_vector(3 downto 0);

dataoutput: out std_logic_vector(6 downto 0));

end component;

begin

u0:abc port map(clkin,clk);

u1:enable port map(enablein,enableout);

u2:highlevel port map(enableout,clk,clear,data0,data1,data2,data3,data4,data5);

u3:yima port map(data0,dataout0);

u4:yima port map(data1,dataout1);

u5:yima port map(data2,dataout2);

u6:yima port map(data3,dataout3);

u7:yima port map(data4,dataout4);

u8:yima port map(data5,dataout5);

end Behavioral;

由于各個(gè)子模塊都已經(jīng)經(jīng)過(guò)驗(yàn)證無(wú)誤,并且頂層文件中不涉及復(fù)雜的時(shí)序關(guān)系,相當(dāng)于只是將各個(gè)模塊用導(dǎo)線連接起來(lái),只要各個(gè)端口的連接對(duì)應(yīng)正確即可,所以不需寫專門的test bench進(jìn)行驗(yàn)證。完成以上后,即可進(jìn)行邏輯綜合,綜合無(wú)誤后進(jìn)行管腳適配,生成。bit文件然后下載到實(shí)驗(yàn)板上測(cè)試。經(jīng)過(guò)反復(fù)多次測(cè)試,以上設(shè)計(jì)完全滿足了預(yù)期的設(shè)計(jì)指標(biāo),開始/停止按鍵和清零按鍵都能準(zhǔn)確的控制秒表的運(yùn)行,七段顯示數(shù)碼管也能夠準(zhǔn)確的顯示計(jì)時(shí)結(jié)果。通過(guò)與標(biāo)準(zhǔn)秒表對(duì)比,該設(shè)計(jì)的計(jì)時(shí)誤差在0.03s以內(nèi),而這其中也包括實(shí)驗(yàn)板上晶振由于長(zhǎng)期使用所帶來(lái)的誤差。

4 結(jié)束語(yǔ)

本文所介紹設(shè)計(jì)方法,采用了當(dāng)下最流行的EDA設(shè)計(jì)手段。在Xinlinx 開發(fā)環(huán)境下,采用至上而下的模塊化設(shè)計(jì)方法,使得系統(tǒng)開發(fā)速度快、成本低、系統(tǒng)性能大幅度提升。通過(guò)實(shí)驗(yàn)驗(yàn)證,本文設(shè)計(jì)的計(jì)時(shí)準(zhǔn)確、性能穩(wěn)定,可以很容易嵌入其他復(fù)雜的數(shù)字系統(tǒng),充當(dāng)計(jì)時(shí)模塊。

利用EDA設(shè)計(jì)工具,結(jié)合的可編程實(shí)驗(yàn)板,輕松實(shí)現(xiàn)電子芯片的設(shè)計(jì),現(xiàn)場(chǎng)觀察實(shí)驗(yàn)結(jié)果,大大縮短了產(chǎn)品的設(shè)計(jì)周期和調(diào)試周期,提高了設(shè)計(jì)的可靠性和成功率,體現(xiàn)了邏輯器件在數(shù)字設(shè)計(jì)中優(yōu)越性。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉