【正文】
100。 when 0100=q=0011000110001100。 when 0101=q=0011000110001100。 when 0110=q=0011000110001100。 when 0111=q=0011000110001100。 when 1000=q=0011000110001100。 when 1001=q=0011000110001100。 when 1010=q=0011000110001100。 when 1011=q=0011000110001100。 when 1100=q=0011111111111100。 when 1101=q=0011111111111100。 when 1110=q=0000000000000000。 when 1111=q=0000000000000000。 when others=null。 顯示 E end case。when 1111= 16 case sel is when 0000=q=0000000000000000。 when 0001=q=0000000000000000。 when 0010=q=0000000000000000。 when 0011=q=0000000000000000。 when 0100=q=0000001100001100。 when 0101=q=0000001100001100。 when 0110=q=0000001100001100。 when 0111=q=0000001100001100。 when 1000=q=0000001100001100。 when 1001=q=0000001100001100。 when 1010=q=0000001100001100。 when 1011=q=0000001100001100。 when 1100=q=0011111111111100。 when 1101=q=0011111111111100。 when 1110=q=0000000000000000。 when 1111=q=0000000000000000。 when others=null。 顯示 F end case。 when others=null。end case。end process。end corn_arc。列選控制模塊源程序library ieee。use 。use 。entity ta isport(clk:in std_logic。 q:out std_logic_vector (3 downto 0))。 17 end ta。architecture t_arc of ta isbeginprocess(clk)variable tmp:std_logic_vector(3 downto 0)。beginif clk39。event and clk=39。139。 then if tmp=1111 then tmp:=0000。 else tmp:=tmp+1。 end if。end if。q=tmp1。end process。end t_arc。撥碼開(kāi)關(guān)譯碼模塊源程序library ieee。use 。use 。entity cw isport( a: in std_logic_vector(15 downto 0)。 q: out std_logic_vector(3 downto 0))。end cw。architecture cw_arc of cw isbeginprocess(a) begin case a is when 0000000000000001=q=0000。 18 when 0000000000000010=q=0001。 when 0000000000000100=q=0010。 when 0000000000001000=q=0011。 when 0000000000010000=q=0100。 when 0000000000100000=q=0101。 when 0000000001000000=q=0110。 when 0000000010000000=q=0111。 when 0000000100000000=q=1000。 when 0000001000000000=q=1001。 when 0000010000000000=q=1010。 when 0000100000000000=q=1011。 when 0001000000000000=q=1100。 when 0010000000000000=q=1101。 when 0100000000000000=q=1110。 when 1000000000000000=q=1111。 when others=null。 end case。end process。end cw_arc。仿真波形列選通模塊:列掃描模塊: 19 撥碼開(kāi)關(guān)譯碼:總仿真波形圖:、試驗(yàn)箱驗(yàn)證情況 20 21 課程設(shè)計(jì)總結(jié)本次課程設(shè)計(jì)的內(nèi)容是用 LED 點(diǎn)陣顯示十六進(jìn)制數(shù)字,因此我對(duì) LED 點(diǎn)陣的內(nèi)部結(jié)構(gòu)以及工作原理有了比較深入的理解,并能夠按要求進(jìn)行相應(yīng)數(shù)字等內(nèi)容的顯示,在設(shè)計(jì)過(guò)程中應(yīng)用到 VHDL 語(yǔ)言,使得我對(duì) VHDL 語(yǔ)言的理解更加深入,VHDL 是超高速集成電路的硬件描述語(yǔ)言,它能夠描述硬件的結(jié)構(gòu)、行為與功能。另外,VHDL 具有并發(fā)性,采用自上而下的結(jié)構(gòu)式設(shè)計(jì)方法,適合大型設(shè)計(jì)工程的分工合作。本次設(shè)計(jì)所用軟件為 MAX+plus II,這使得我對(duì)其各項(xiàng)功能的應(yīng)更加熟悉,并對(duì)其有了更加細(xì)致的掌握。本次課程設(shè)計(jì)已經(jīng)是我大學(xué)以后第二次課程設(shè)計(jì)了,我對(duì)整個(gè)過(guò)程都比較了解,不再像第一次那樣茫然,不知所措。再加上本次實(shí)驗(yàn)所涉及的內(nèi)容以及相關(guān)軟硬件均在本學(xué)期可編程這門(mén)課的學(xué)習(xí)中有所學(xué)習(xí),這減輕了本次課程設(shè)計(jì)難度,但卻讓我發(fā)現(xiàn)了自己在學(xué)習(xí)中的一些缺點(diǎn),即使課上已經(jīng)對(duì)老師所講授內(nèi)容充分掌握,但在實(shí)踐過(guò)程中仍會(huì)遇到許多意想不到的問(wèn)題。理論與實(shí)踐是截然不同的兩門(mén)學(xué)問(wèn),均需要認(rèn)真學(xué)習(xí)。在以后的學(xué)習(xí)生活中,我會(huì)揚(yáng)長(zhǎng)避短,改正自己在學(xué)習(xí)過(guò)程中的各種缺點(diǎn),努力學(xué)習(xí)專業(yè)知識(shí),爭(zhēng)取在微電子學(xué)方面越走越遠(yuǎn)! 22 參考文獻(xiàn)(1) 、侯伯亨, 硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì). 西安:西安電子科技大學(xué)出版社,1999(2) 、任勇峰, 與硬件實(shí)現(xiàn)速成. 北京:國(guó)防工業(yè)出版社,2022(3) 、:人民郵電出版社,2022(4) 、周潤(rùn)景,圖雅, QuartusII 的 FPGA/CPLD 數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例. 北京:電子工業(yè)出版社,2022(5) 、:電子工業(yè)出版社,202