【文章內(nèi)容簡介】
到廣泛的應用和推廣。參考文獻[1]潘松,黃繼業(yè). EDA技術(shù)實用教程.北京:科學出版社,2002. [2]徐志軍,徐光輝編著 《 CPLD/FPGA的開發(fā)與應用 》,電子工業(yè)出版社,2005.附錄:LIBRARY IEEE。USE 。USE 。USE 。ENTITY dianti IS PORT(buttonclk:IN STD_LOGIC。 liftclk:IN STD_LOGIC。 reset:IN STD_LOGIC。 f1upbutton:IN STD_LOGIC。 f2upbutton:IN STD_LOGIC。 f2dnbutton:IN STD_LOGIC。 f3upbutton:IN STD_LOGIC。 f3dnbutton:IN STD_LOGIC。 f4dnbutton:IN STD_LOGIC。 fuplight:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 1)。 fdnlight:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 1)。 stop1button,stop2button,stop3button,stop4button:IN STD_LOGIC。 stoplight:BUFFER STD_LOGIC_VECTOR(4 DOWNTO 1)。 position:BUFFER INTEGER RANGE 1 TO 4。 doorlight:OUT STD_LOGIC。 udsig:BUFFER STD_LOGIC)。END dianti。ARCHITECTURE art OF dianti ISTYPE lift_stata IS(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop)。SIGNAL mylift:lift_stata。SIGNAL clearup:STD_LOGIC。SIGNAL cleardn:STD_LOGIC。BEGINctrlift:PROCESS(reset,liftclk)VARIABLE pos:INTEGER RANGE 4 DOWNTO 1。BEGINIF reset=39。139。 THEN mylift=stopon1。 clearup=39。039。 cleardn=39。039。 ELSE IF liftclk39。EVENT AND liftclk=39。139。 THEN CASE mylift IS WHEN stopon1=doorlight=39。139。 position=1。pos:=1。 mylift=doorwait1。 WHEN doorwait1=mylift=doorwait2。 WHEN doorwait2=clearup=39。039。 cleardn=39。039。 mylift=doorwait3。 WHEN doorwait3=mylift=doorwait4。 WHEN doorwait4=mylift=doorclose。 WHEN doorclose=doorlight=39。039。 IF udsig=39。039。 THEN IF position=4 THEN IF stoplight=0000AND fuplight=0000 AND fdnlight=0000 THEN udsig=39。139。 mylift=doorclose。 ELSE udsig=39。139。mylift=down。clearup=39。139。 END IF。 ELSIF position=3 THEN IF stoplight=0000 AND fuplight=0000 and fdnlight=0000 THEN udsig=39。039。 mylift=doorclose。 ELSIF stoplight(4)=39。139。 OR fdnlight(4)=39。139。 THEN udsig=39。039。 mylift=up。clearup=39。139。 ELSE udsig=39。139。mylift=down。clearup=39。139。 END IF。