【文章內(nèi)容簡介】
ELSE a=39。039。 END IF。 END IF。 END PROCESS。 PROCESS(clk,a) BEGIN IF clk39。event AND clk= 39。139。 THEN clk為上升沿 IF a=39。139。 THEN q=11111111。 q賦值 ELSE q=00000000。 q賦值 END IF。 END IF。 END PROCESS。 結(jié)束進(jìn)程END fangbo1。 結(jié)束結(jié)構(gòu)體 三角波信號發(fā)生器的實(shí)現(xiàn)該模塊產(chǎn)生的三角波形以64個(gè)時(shí)鐘為一個(gè)周期,輸出q每次加減8其VHDL語言源程序代碼如下所示: LIBRARY IEEE。 打開庫文件 USE 。USE 。ENTITY sjbo IS PORT (clk : IN STD_LOGIC。聲明clk是標(biāo)準(zhǔn)邏輯位類型的輸入端口 clr : IN STD_LOGIC。聲明clr是標(biāo)準(zhǔn)邏輯位類型的輸入端口 q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。聲明q是標(biāo)準(zhǔn)邏輯 向量類型的輸出端口END sjbo。ARCHITECTURE sjqi OF sjbo IS 結(jié)構(gòu)體說明 BEGIN PROCESS(clk,clr) VARIABLE tmp:STD_LOGIC_VECTOR(7 DOWNTO 0)。 變量說明 VARIABLE a:STD_LOGIC。 BEGIN IF clr=39。039。 THEN tmp:=00000000。 ELSIF clk39。event AND clk=39。139。 THEN clk為上升沿 IF a=39。039。 THEN IF tmp=11111000 THEN tmp:=11111111。 a:=39。139。 ELSE tmp:=tmp+8。 END IF。 ELSE IF tmp=00000111 THEN tmp:=00000000。 a:=39。039。 ELSE tmp:=tmp8。 END IF。 END IF。 END IF。 q=tmp。 q賦值 END PROCESS。 END sjqi。 階梯波信號發(fā)生器的實(shí)現(xiàn)該模塊產(chǎn)生的是階梯波形。其VHDL語言源程序代碼如下所示:LIBRARY IEEE。打開庫文件USE 。USE 。ENTITY jietiboqi IS