【正文】
DATA=MINITUE2。 THEN CNT2 := CNT2 +1。EVENT AND CLK_1K =39。 VARIABLE CNT: INTEGER RANGE 0 TO 2500000 。 PROCESS(CLK_1K) VARIABLE CNT2: STD_LOGIC_VECTOR(3 DOWNTO 0)。 END IF。 END IF。CLK_1K=39。039。139。 BEGIN IF RISING_EDGE(CLK) THEN CNT:=CNT+1。 SIGNAL DATA: STD_LOGIC_VECTOR(3 DOWNTO 0)。 END DISPLAY。 YOU:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 ENTITY DISPLAY IS 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 30 PORT(CLK:IN STD_LOGIC。 USE 。 XIAN SHI MO KUAI LIBRARY IEEE。 END PROCESS 。 END IF 。 END IF 。 END IF 。 END IF 。 END IF 。 END IF 。 ELSE IF BCD=0100000000110000 THEN ING=39。 ELSE IF BCD=0011000000110000 THEN ING=39。 ELSE IF BCD=0010000000110000 THEN ING=39。 ELSE IF BCD=0001000000110000 THEN ING=39。 IF BCD=0000000000110000 THEN ING=39。 ELSE ING=39。 ELSE IF BCD=0101000000000000 THEN ING=39。 ELSE IF BCD=0100000000000000 THEN ING=39。 ELSE IF BCD=0011000000000000 THEN ING=39。 ELSE IF BCD=0010000000000000 THEN ING=39。 ELSE IF BCD=0001000000000000 THEN ING=39。 BEGIN PROCESS (BCD) BEGIN IF BCD=0000000000000000 THEN ING=39。 END FENGMING。 ENTITY FENGMING IS PORT( BCD: IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 FENGMINGMOKUAI LIBRARY IEEE。 JISHI(3 DOWNTO 0)=MINITUE2。 JISHI(11 DOWNTO 8)=SECOND2。 END SOU。 MINITUE2 : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 SECOND2 : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 USE 。 END TWO 。 END IF。 END IF 。 END IF 。 ELSE 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 28 MINI2=0000。 ELSE MINI1=0000。 ELSE SEC2=0000。 ELSE SEC1=0000。139。 ELSE IF TIMECLK39。 SEC2=0000。 THEN MINI2 =0000。 IF REST=39。 END IF。039。 ELSE CNT :=0 。 ELSE IF CNT 120 THEN TIMECLK=39。 IF CNT 60 THEN TIMECLK=39。139。139。 BEGIN IF (CLK39。 SECOND2(3 DOWNTO 0 )=SEC2(3 DOWNTO 0)。 MINITUE2(3 DOWNTO 0)=MINI2(3 DOWNTO 0)。 SIGNAL MINI1,MINI2:STD_LOGIC_VECTOR(3 DOWNTO 0 )。 SIGNAL CLK12:STD_LOGIC_VECTOR(3 DOWNTO 0 )。 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 27 END TIME1。 TI: OUT STD_LOGIC。 USE 。 SHI JIAN MO KUAI LIBRARY IEEE。 END PROCESS。 END IF。 END IF。 END IF。 END IF。 ELSE IF YOU1=0111 THEN ZQ=SOUT3(6)。 ELSE IF YOU1=0101 THEN ZQ=SOUT3(4)。 ELSE IF YOU1=0011 THEN ZQ=SOUT3(2)。 PROCESS(SOUT3) BEGIN IF YOU1=0001 THEN ZQ=SOUT3(0)。 END IF。 END IF。 END IF。 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 26 END IF。 ELSE IF YOU1=1000 THEN LJ=REST(7)。 ELSE IF YOU1=0110 THEN LJ=REST(5)。 ELSE IF YOU1=0100 THEN LJ=REST(3)。 ELSE IF YOU1=0010 THEN LJ=REST(1)。 END HUANYOU2。 ZQ:OUT STD_LOGIC。 YOU1:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 USE 。 END ARCHITECTURE。 YOU1=YOU。 END IF 。 END IF 。 END IF 。 END IF 。 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 25 ELSE YOU=0000。139。 THEN YOU=0111。 ELSE IF SOUT(6)=39。139。 THEN YOU=0101。 ELSE IF SOUT(4)=39。139。 THEN YOU=0011。 ELSE IF SOUT(2)=39。139。 THEN YOU=0001。 BEGIN PROCESS(SOUT,YOU) BEGIN IF SOUT(0)=39。 END HUANYOU。 YOU1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 USE 。 END ARCHITECTURE bhv。 SOUT2=SOUT。 END PROCESS。039。139。139。139。 END IF。 ELSE SOUT(6)=39。 THEN SOUT(6)=39。 AND SIN(6)=39。 IF REST(6)=39。039。139。139。139。 END IF。 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 24 ELSE SOUT(4)=39。 THEN SOUT(4)=39。 AND SIN(4)=39。 IF REST(4)=39。039。139。139。139。 END IF。 ELSE SOUT(2)=39。 THEN SOUT(2)=39。 AND SIN(2)=39。 IF REST(2)=39。039。139。139。139。 END IF。 ELSE SOUT(0)=39。 THEN SOUT(0)=39。 AND SIN(0)=39。 BEGIN PROCESS(REST,SIN) BEGIN IF REST(0)=39。 END SUOCUNQI。 SOUT2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)。 SIN:IN STD_LOGIC_VECTOR (7 DOWNTO 0)。 USE 。 END ARCHITECTURE F1。 U6 : FENGMING PORT MAP ( BCD = B , MING = MING_out )。 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 23 U4 : TIME1 PORT MAP ( REST = C , SP = D , CLK = CLK_ain , SECOND1 = H , SECOND2 = I , MINITUE1 = J , MINITUE2 = K )。 U2 : HUANYOU PORT MAP ( SOUT = A ,YOU1 = F ,YOU2 = G )。 SIGNAL K : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) 。 SIGNAL I : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) 。 SIGNAL G : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) 。 SIGNAL E : STD_LOGIC_VECTOR ( 7 DOWNTO 0 ) 。 SIGNAL C : STD_LOGIC。 SIGNAL A : STD_LOGIC_VECTOR ( 7 DOWNTO 0 ) 。 DISP,LEDCS :OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。 SECOND1,SECOND2,MINITUE1,MINITUE2:IN STD_LOGIC_VECTOR(3 DOWNTO 0) 。 END COMPONENT 。 COMPONENT FENGMING PORT (BCD: IN STD_LOGIC_VECTOR(15 DOWNTO 0)。 JISHI : OUT STD_LOGIC_VECTOR(15 DOWNTO 0))。 MINITUE1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 COMPONENT SOU PORT (SECOND1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 SECOND1,SECOND2,MINITUE1,MINITUE2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 COMPONENT TIME1 PORT (REST,SP,CLK:IN STD_LOGIC。 LJ:OUT STD_LOGIC)。 SOUT3:IN STD_LOGIC_VECTOR(7 DOWNTO 0) 。 COMPONENT HUANYOU2 PORT (REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 COMPONENT HUANYOU PORT (SOUT:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 SOUT3:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 SOUT1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)。 ARCHITECTURE F1 OF xitong IS COMPONENT SUOCUNQI PORT ( REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 DISP_out: OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0 ))。 SCOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)。 CLK_ain : IN STD_LOGIC。 ENTITY xitong IS PORT (SIN_ain : IN STD_LOGIC_VECTOR ( 7 DOWNTO 0 )。 USE 。通過這次的課程設(shè)計(jì),使我對 FPGA 的設(shè)計(jì)有了更加直觀的認(rèn)識,雖然這次的設(shè)計(jì)不是很完美,但在以后的學(xué)習(xí)中我會去完善它的。 在這過程中,我們經(jīng)過一個(gè)個(gè)問題的提出和改正,例如 sp 高低電 平的應(yīng)用,端口寬度的不同,計(jì)時(shí)器不工作和計(jì)時(shí)器不停止等等的問題,最總實(shí)現(xiàn)了病房呼叫系統(tǒng)的設(shè)計(jì)。 在第七秒時(shí)有人應(yīng)答,計(jì)數(shù)器歸零 電路圖 R E S T [ 7 . . 0 ]S I N [ 7 . . 0 ]S O U T 1 [ 7 . . 0 ]S O U T 3 [ 7 . . 0 ]S O U T [ 7 . . 0 ]