【文章內(nèi)容簡(jiǎn)介】
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)體 三角波信號(hào)發(fā)生器的實(shí)現(xiàn) 該模塊產(chǎn)生的三角波形以 64 個(gè)時(shí)鐘為一個(gè)周期,輸出 q 每次加減 8 其 VHDL 語(yǔ)言源程序代碼如下所示: LIBRARY IEEE。 打開(kāi)庫(kù)文件 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)體說(shuō)明 BEGIN PROCESS(clk,clr) VARIABLE tmp:STD_LOGIC_VECTOR(7 DOWNTO 0)。 變量說(shuō)明 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。 階梯波信號(hào)發(fā)生器的實(shí)現(xiàn) 該模塊產(chǎn)生的 是階梯 波形 。 其 VHDL 語(yǔ)言源程序代碼如下所示: LIBRARY IEEE。打開(kāi)庫(kù)文件 USE 。 USE 。 ENTITY jietiboqi IS PORT (clk : IN STD_LOGIC。聲明 clk 是標(biāo)準(zhǔn)邏輯位類型的輸入端口 clr : IN STD_LOGIC。聲明 clr 是標(biāo)準(zhǔn)邏輯位類型的輸入端口 Q: BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0))。 END jietiboqi。 ARCHITECTURE jietibo OF jietiboqi IS 結(jié)構(gòu)體說(shuō)明 BEGIN PROCESS(clk,clr) VARIABLE tmp:STD_LOGIC_VECTOR(7 DOWNTO 0)。 變量定義 BE