【正文】
l wrinc:integer range 0 to 7。 signal data0,data1,data2,data3,data4,data5,data6,data7:std_logic_vector(8 downto 0)。beginp1:process(q) begin if q(2)=39。139。 then rdinc=0。 elsif q(0)=39。139。then if rising_edge(q(4))then case rdinc is when 0= data_out=data0。 when 1= data_out=data1。 when 2= data_out=data2。 when 3= data_out=data3。 when 4= data_out=data4。 when 5= data_out=data5。 when 6= data_out=data6。 when 7= data_out=data7。 end case。 rdinc=rdinc+1。 end if。 elsif q(0)=39。039。 then data_out=ZZZZZZZZZ。 end if。 end process。p2:process(q) begin if q(3)=39。139。 then wrinc=0。 elsif q(3)=39。039。then if rising_edge(q(1))then case wrinc is when 0= data0=data_in。 when 1= data1=data_in。 when 2= data2=data_in。 when 3= data3=data_in。 when 4= data4=data_in。 when 5= data5=data_in。 when 6= data6=data_in。 when 7= data7=data_in。 end case。 wrinc=wrinc+1。 end if。 end if。 end process。end 。 分頻器程序:library ieee。use 。use 。entity nclk isport( clk: in std_logic。 clk1: buffer std_logic)。end。architecture arh of nclk is begin process(clk)variable num1:integer range 0 to 1000000。beginif clk39。event and clk=39。139。 then if num1=1000000 then num1:=0。clk1=not clk1。 else num1:=num1+1。 end if。end if。end process。end。 消抖電路程序:library ieee。use 。use 。entity anjian isport( clk: in std_logic。 d: in std_logic_vector(0 to 4)。 q: out std_logic_vector(0 to 4))。end。architecture arh of anjian is begin process(clk,d)begin q=d。end process。end。 本科生課程設(shè)計(jì)成績?cè)u(píng)定表姓 名 性 別 專業(yè)、班級(jí) 課程設(shè)計(jì)題目: 89先進(jìn)先出(FIFO)緩沖器 課程設(shè)計(jì)答辯或質(zhì)疑記錄: 成績?cè)u(píng)定依據(jù):最終評(píng)定成績(以優(yōu)、良、中、及格、不及格評(píng)定)指導(dǎo)教師簽字:2015年1月23日17