資源描述:
《vhdl可編程邏輯結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)二》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、西南石油大學(xué)計(jì)算機(jī)科學(xué)學(xué)院實(shí)驗(yàn)/上機(jī)報(bào)告課程名稱:可編程邏輯系統(tǒng)設(shè)計(jì)專業(yè):計(jì)科09(嵌入式)成績:指導(dǎo)教師:XXXX姓名:XXX日期:2012/3/11項(xiàng)目序號(hào):第2次學(xué)號(hào):XXXXXX時(shí)間:項(xiàng)目名稱:加法器的設(shè)計(jì)組號(hào):地點(diǎn):明理樓B319->實(shí)驗(yàn)?zāi)康?.加強(qiáng)對(duì)VHDL結(jié)構(gòu)體設(shè)計(jì)的三種描述風(fēng)格的認(rèn)識(shí)和理解2.熟練掌握基本程序設(shè)計(jì)方法,培養(yǎng)程序設(shè)計(jì)能力二、實(shí)驗(yàn)環(huán)境1.硬件:PC機(jī)、EDA/SOPC/DSP實(shí)驗(yàn)系統(tǒng)2.軟件:QuartusH9.0三、實(shí)驗(yàn)內(nèi)容1.利川三種不同描述風(fēng)格完成1位加法器的VHDL設(shè)計(jì)丼功能仿真
2、。2.完成4位加法器的VHDL設(shè)計(jì)并功能仿真。U!1.木次實(shí)驗(yàn)主要練習(xí)的是加法器的設(shè)計(jì),與實(shí)驗(yàn)-的一樣先打開QuartusII9.0軟件,建立一個(gè)工程命名為exP2,在工程中先用行為描述設(shè)計(jì)一個(gè)加法器,命名為bl_adder_exl,并且建立一個(gè)仿真波形,命名為exp2,進(jìn)行仿真,后面的兩種設(shè)計(jì)都用這個(gè)波形進(jìn)行仿真(實(shí)驗(yàn)結(jié)果圖見附錄)再用數(shù)據(jù)流描述設(shè)計(jì),命名為bl_adder_ex2,用前面的exp2進(jìn)行仿真(實(shí)驗(yàn)結(jié)果圖見附錄),最后用網(wǎng)表描述設(shè)計(jì),三種設(shè)計(jì)方法各冇各的不同。第三種采用了例化的方式進(jìn)行設(shè)計(jì)。注意:在
3、每用一種設(shè)計(jì)方法的吋候必須將前面的設(shè)計(jì)移出工程,不然會(huì)出現(xiàn)錯(cuò)誤。我開始的吋候就沒有注意,做第二個(gè)設(shè)計(jì)的吋候,自己是按照老師給的代碼進(jìn)行編譯,始終有錯(cuò)誤,后來冰發(fā)現(xiàn)是沒冇移出的原因?qū)е率冀K編譯不成功。并且在每次編譯的吋候,必須將編譯的文件設(shè)計(jì)為頂層實(shí)體。2.將前面設(shè)計(jì)一位加法器通過原理圖的方式組成一個(gè)4位的加法器,丼且重新建立一個(gè)仿真波形進(jìn)行仿真,仿真的實(shí)驗(yàn)結(jié)果見附錄。1.設(shè)計(jì)一個(gè)n為加法器,參考的是網(wǎng)表設(shè)計(jì)方法。代碼,結(jié)果閣都在附錄中。五、實(shí)驗(yàn)總結(jié)總的來說,本次實(shí)驗(yàn)還算是成功的,前面的實(shí)驗(yàn)由于老師給了代碼,花費(fèi)的時(shí)
4、間比較少,最£;一個(gè)的N位加法器的設(shè)計(jì)比較復(fù)雜。本次實(shí)驗(yàn)最大的收獲就是將例化的方法宥了一定的了解。雖然在實(shí)驗(yàn)過程中遇到了一些問題,在同學(xué)的幫助和自己的努力下得到了解決。六、附錄1.bl_adder_ex1,bl_adder_ex2,b1_adder_ex3:NameValueat17.53ns0ps20.0ns40.0ns60.0ns80.0ns17.525nsJu^oaA01^-1bA0D^2ciA1COAO炒4sA12.b4_adder_ex1:????????????????::::fVDPS20.0ns40
5、.0ns60.0nsNameValiea18.1n80.0nsn^-31^41^-7aOA1alA0a2A1a3A1bOA0blA1b2A1b3A0cyA1sOA1siA1s2A0s3A018.1nsJ1.N位加法器:代碼:libraryieee;useieee.std_logic_l164.all;entityb4_adder_ex2isport(a,b,ci:instd_logic_vector(3downto0);s,co:outstdjogic一vector(3downto0));endb4adderex
6、2;architectureex3ofb4_adder_ex2iscomponentmynotlisport(x:instd_logic_vector(3downto0);y:outstd_logic_vector(3downto0));endcomponentmynotl;componentmyand3isport(xl,x2,x3:instd_logic_vector(3downto0);y:outstd_logic_vector(3downto0));endcomponentmyand3;componentm
7、yor4isport(xl,x2,x3,x4:instd_logic_vector(3downto0);y:outstd_logic_vector(3downto0));endcomponentmyor4;signalna,nb,nci,sl,s2,s3,s4,col,co2,co3,co4:std_logic_vector(3downto0);beginu0:mynotlportmap(a,na);ul:mynotlportmap(b,nb);u2:mynotlportmap(ci,nci);u3:myand3p
8、ortmap(na,nb,ci,sl);u4:myand3portmap(na,b,nci,s2);u5:myand3portmap(a,nb,nci,s3);u6:myand3portmap(a,b,ci,s4);u7:myor4portmap(sl,s2,s3,s4,s);u8:myand3portmap(na,b,ci,col);u9:myand3po