基于FPGA的病房呼叫系统的设计

上传人:仙*** 文档编号:33318455 上传时间:2021-10-17 格式:DOC 页数:32 大小:333.50KB
返回 下载 相关 举报
基于FPGA的病房呼叫系统的设计_第1页
第1页 / 共32页
基于FPGA的病房呼叫系统的设计_第2页
第2页 / 共32页
基于FPGA的病房呼叫系统的设计_第3页
第3页 / 共32页
点击查看更多>>
资源描述
基于FPGA的病房呼叫系统的设计基于FPGA的病房呼叫系统的设计中文摘要: 病房呼叫系统,顾名思义,是病人在医生与护士不在的情况下病人找寻医生寻求帮助的系统。该病房呼叫系统是基于FPGA的,通过FPGA设计的不同设计方法的比对,最后采用的模块化设计,VHDL语言与原理图相结合的方法进行设计。充分利用了FPGA的可编程能力与VHDL语言的课移植性和原理图编辑的直观性等优点。来实现病房呼叫系统的功能实现。关键字:病房呼叫,系统,FPGA,模块,VHDL1 原理 假设有8个病房,即有八个信号输入,同时要有时间显示与声音提示。这在病房呼叫系统中是必不可少的。八个模拟病房呼叫输入端,假设一号优先级最高,依次递减。当有一个信号输入时,其所对应的LED灯亮,并有提示音与时间和病房号显示,开始5秒伴随提示音,5秒后自动关闭提示音,在3分钟内如无应答,则在3分钟后发出警报,持续时间为5秒。当有多个信号同时输入时,病房呼叫系统选择优先级最高的进行显示时间,病房号与声音提示,其他的均只显示其对应的LED,并无时间显示。5秒声音提示以后3分钟内如无应答,再次发出警报。如在3分钟内有应答,则显示下一个病房的病房号与时间,同样当计时器的时间超过3分钟时报警,如在3分钟内有应答则显示下一个,以此类推。原理图:2 方案论证 我对这个设计开始和现在所用的设计不同的方案,但在顶层设计时发现并不好实现,中间的信号太多太庞杂,连接起来比较复杂,但在后续编辑中没有预期的效果,在多次调试仿真中无法得到想要的结果,所以我选择了排除错误,首先从自身下手,对每个模块进行单独设计,利用VHDL语言的可移植性,应用原件例化语句将模块连接起来,通过例化后的电路图与原理图进行比较,看是否有连错等问题。3 模块的划分及各模块的功能实现3.1 模块的划分l 对病房呼叫的信号进行存储并处理信号,这就需要一个对信号进行存储的锁存器;l 对发出的信号进行优先选择,就需要一个数据选择器;l 对时间控制信号的优先选择,使数码管可以显示优先级最高的信号时间,又需要一个数据选择器;l 显示时间,并对其进行计时,需要一个计时器;l 用七段数码管显示时间,需要一个可以驱动七段数码管的显示器;l 蜂鸣,就需要一个蜂鸣器;l 在设计变成的过程中,计时器与蜂鸣器的位宽不同,有需要一个转换连接的连接器。即分为锁存器、数据选择器、时间选择器、计时器、显示器、蜂鸣器与连接器几个模块组成。3.2 模块的功能实现:3.2.1 锁存器: 由于有8个病房,所以设计8个输入信号且高电平时为信号输入,另外考虑到时间模块显示的是当前等待时间,所以决定时间显示当前等待时间为最好,所以在所存模块,把复位加到锁存模块,高电平的时候表示复位不工作,低电平的时候表示复位。锁存器的一个输入信号与LED灯相连,使得有呼叫信号时,与病房相对应的灯亮。另外一个相同的输出信号连接数据选择器对信号进行选择,还有一个相同输出信号控制计时模块中的SP信号。 程序: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SUOCUNQI IS PORT( REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0); 输入信号 SIN:IN STD_LOGIC_VECTOR (7 DOWNTO 0); SOUT1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); SOUT2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); 三个相同的输出 SOUT3:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END SUOCUNQI;ARCHITECTURE bhv OF SUOCUNQI IS SIGNAL SOUT:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN PROCESS(REST,SIN) BEGIN IF REST(0)=1 AND SIN(0)=1 THEN SOUT(0)=1; ELSE SOUT(0)=0; END IF; IF REST(1)=1 AND SIN(1)=1 THEN SOUT(1)=1; ELSE SOUT(1)=0; END IF; IF REST(2)=1 AND SIN(2)=1 THEN SOUT(2)=1; ELSE SOUT(2)=0; END IF; IF REST(3)=1 AND SIN(3)=1 THEN SOUT(3)=1; ELSE SOUT(3)=0; END IF; IF REST(4)=1 AND SIN(4)=1 THEN SOUT(4)=1; ELSE SOUT(4)=0; END IF; IF REST(5)=1 AND SIN(5)=1 THEN SOUT(5)=1; ELSE SOUT(5)=0; END IF; IF REST(6)=1 AND SIN(6)=1 THEN SOUT(6)=1; ELSE SOUT(6)=0; END IF; IF REST(7)=1 AND SIN(7)=1 THEN SOUT(7)=1; ELSE SOUT(7)=0; END IF; END PROCESS; SOUT1=SOUT; SOUT2=SOUT; SOUT3=SOUT;END ARCHITECTURE bhv;功能仿真:复位后的波形3.2.2 数据选择器由设计要求,数码管要显示优先级最高的病房的呼叫信号,所以我们须对病房呼叫信号进行选优,还考虑到对时间的优先级的问题,所以设计两个选择输出信号。程序功能部分按优先病房好顺序依次输出BCD码代表的1、2、3、4、5、6、7、8。程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY HUANYOU ISPORT(SOUT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); YOU1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END HUANYOU;ARCHITECTURE bhv OF HUANYOU IS SIGNAL YOU:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(SOUT,YOU)对病房号进行选择BEGIN IF SOUT(0)=1 THEN YOU=0001;ELSE IF SOUT(1)=1 THEN YOU=0010;ELSE IF SOUT(2)=1 THEN YOU=0011;ELSE IF SOUT(3)=1 THEN YOU=0100;ELSE IF SOUT(4)=1 THEN YOU=0101;ELSE IF SOUT(5)=1 THEN YOU=0110;ELSE IF SOUT(6)=1 THEN YOU=0111;ELSE IF SOUT(7)=1 THEN YOU=1000;ELSE YOU=0000;END IF ; END IF ; END IF ;END IF ; END IF ; END IF ; END IF ; END IF ;END PROCESS;YOU1=YOU;YOU2=YOU;END ARCHITECTURE;功能仿真:通过选择,选出优先级最高的,这里为3号病房3.2.3 时间选择器:考虑到复位键一一对应的问题,我们的计时器又只用了一个,显示当前最优先病房的等待时间,所以时间选择器连在数据选择器的后面以及八个位宽的复位信号相连,然后通过数据选择器,使得输出地复位信号为当前最优先的病房所对应的复位信号。锁存器的一个输出信号也在这时进行优选,选出来的优先级最高的信号与计时器中的SP信号对应。程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY HUANYOU2 ISPORT(REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0); YOU1:IN STD_LOGIC_VECTOR(3 DOWNTO 0); SOUT3:IN STD_LOGIC_VECTOR(7 DOWNTO 0) ; ZQ:OUT STD_LOGIC;对应计时器SP LJ:OUT STD_LOGIC);对应计时器的RESTEND HUANYOU2;ARCHITECTURE bhv OF HUANYOU2 IS BEGIN PROCESS(YOU1)BEGIN IF YOU1=0001 THEN LJ=REST(0);ELSE IF YOU1=0010 THEN LJ=REST(1);ELSE IF YOU1=0011 THEN LJ=REST(2);ELSE IF YOU1=0100 THEN LJ=REST(3);ELSE IF YOU1=0101 THEN LJ=REST(4);ELSE IF YOU1=0110 THEN LJ=REST(5);ELSE IF YOU1=0111 THEN LJ=REST(6);ELSE IF YOU1=1000 THEN LJ=REST(7);END IF; END IF; END IF;END IF; END IF; END IF; END IF; END IF;END PROCESS;PROCESS(SOUT3)BEGINIF YOU1=0001 THEN ZQ=SOUT3(0);ELSE IF YOU1=0010 THEN ZQ=SOUT3(1);ELSE IF YOU1=0011 THEN ZQ=SOUT3(2);ELSE IF YOU1=0100 THEN ZQ=SOUT3(3);ELSE IF YOU1=0101 THEN ZQ=SOUT3(4);ELSE IF YOU1=0110 THEN ZQ=SOUT3(5);ELSE IF YOU1=0111 THEN ZQ=SOUT3(6);ELSE IF YOU1=1000 THEN ZQ=SOUT3(7);END IF; END IF; END IF; END IF; END IF; END IF; END IF; END IF;END PROCESS;END ARCHITECTURE;功能仿真:3.2.4 计时器:由设计要求计时用四个数码管显示mm,ss,所以时间方面采用的是以秒进位,实验箱中频率为20MHz,所以选择了0:20000000即一秒的分频,另外由于有呼叫信号,SP=1,我们得立即即使,所以定义了每个1秒之内出现一个上升沿,当上升沿到来时时间加计1s,另外mmss之中前一个m代表的是分的十位,后一个代表的是分的个位,前一个s代表的是秒的十位,后一个s代表的是秒的个位。程序一和程序二的功能相同,程序一采用两个PROCESS语句,程序一只用了一个PROCESS语句,但在顶层设计时程序一中的第二个PROCESS语句没有执行,所以在顶层设计中采用的是程序二。程序一:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TIME ISPORT(REST,SP,CLK:IN STD_LOGIC;SECOND1,SECOND2,MINITUE1,MINITUE2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END TIME;ARCHITECTURE TWO OF TIME ISSIGNAL TIMECLK,MINI:STD_LOGIC;SIGNAL SEC1,SEC2:STD_LOGIC_VECTOR(3 DOWNTO 0 );SIGNAL MINI1,MINI2:STD_LOGIC_VECTOR(3 DOWNTO 0 ); BEGINMINITUE1(3 DOWNTO 0)=MINI1(3 DOWNTO 0);MINITUE2(3 DOWNTO 0)=MINI2(3 DOWNTO 0);SECOND1(3 DOWNTO 0 )=SEC1(3 DOWNTO 0);SECOND2(3 DOWNTO 0 )=SEC2(3 DOWNTO 0);PROCESS(CLK,SP)VARIABLE CNT : integer range 0 to 20000000 ;BEGINIF CLKEVENT AND CLK =1 AND SP=1 THEN CNT := CNT +1;IF CNT 10000000 THEN TIMECLK=1;ELSE IF CNT 20000000 THEN TIMECLK=0;ELSE CNT :=0 ; TIMECLK=0;END IF; END IF; END IF;END PROCESS;PROCESS (TIMECLK,REST)BEGINIF REST=0 THENMINI2 =0000; MINI1=0000;SEC2=0000; SEC1 =0000;ELSE IF TIMECLKEVENT AND TIMECLK =1 THENIF SEC11001 THEN SEC1=SEC1+1;ELSESEC1=0000;IF SEC20101 THEN SEC2=SEC2+1;ELSESEC2=0000;IF MINI11001 THEN MINI1=MINI1+1;ELSEMINI1=0000;IF MINI20101 THEN MINI2=MINI2+1;ELSEMINI2=0000;END IF ; END IF ; END IF ; END IF ;END IF ; END IF;TI=TIMECLK;END PROCESS ;END TWO ;程序二:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TIME1 ISPORT(REST,SP,CLK:IN STD_LOGIC; TI: OUT STD_LOGIC; SECOND1,SECOND2,MINITUE1,MINITUE2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END TIME1;ARCHITECTURE TWO OF TIME1 ISSIGNAL TIMECLK:STD_LOGIC;SIGNAL CLK12:STD_LOGIC_VECTOR(3 DOWNTO 0 );SIGNAL SEC1,SEC2:STD_LOGIC_VECTOR(3 DOWNTO 0 );SIGNAL MINI1,MINI2:STD_LOGIC_VECTOR(3 DOWNTO 0 ); BEGINMINITUE1(3 DOWNTO 0)=MINI1(3 DOWNTO 0);MINITUE2(3 DOWNTO 0)=MINI2(3 DOWNTO 0);SECOND1(3 DOWNTO 0 )=SEC1(3 DOWNTO 0);SECOND2(3 DOWNTO 0 )=SEC2(3 DOWNTO 0);PROCESS(CLK,SP)VARIABLE CNT : integer range 0 to 120 ;BEGINIF (CLKEVENT AND CLK =1) AND SP=1 THEN CNT := CNT +1;IF CNT 60 THEN TIMECLK=1;ELSE IF CNT 120 THEN TIMECLK=0;ELSE CNT :=0 ; TIMECLK=0;END IF;END IF;END IF;IF REST=0 THENMINI2 =0000; MINI1=0000;SEC2=0000; SEC1 =0000;ELSEIF TIMECLKEVENT AND TIMECLK =1 THENIF SEC11001 THEN SEC1=SEC1+1;ELSESEC1=0000;IF SEC20101 THEN SEC2=SEC2+1;ELSESEC2=0000;IF MINI11001 THEN MINI1=MINI1+1;ELSEMINI1=0000;IF MINI20101 THEN MINI2=MINI2+1;ELSEMINI2=0000;END IF ;END IF ;END IF ;END IF ;END IF ;END IF;END PROCESS;END TWO ;功能仿真: 功能仿真中用的是4分频秒 十位秒 个位分 十位分 个位3.2.5 显示器:显示器所要显示的就是优先级最高的呼叫病房的号码以及呼叫等待的时间mmss,所以在模块的设计当中,我们用六个数码管依次显示当前最优先呼叫病房号和分的十位,个位,再一个数码管显示一横杠,和秒计位区分开来,再依次是秒的十位,秒的个位。程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DISPLAY ISPORT(CLK:IN STD_LOGIC; SECOND1,SECOND2,MINITUE1,MINITUE2:IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; YOU:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DISP,LEDCS :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END DISPLAY;ARCHITECTURE ONE OF DISPLAY ISSIGNAL CLK_1K : STD_LOGIC ;SIGNAL DATA: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK)VARIABLE CNT : INTEGER RANGE 0 TO 20000;1k的扫描信号BEGIN IF RISING_EDGE(CLK) THEN CNT:=CNT+1;IF CNT 10000 THEN CLK_1K=1;ELSE IF CNT 20000 THEN CLK_1K=0;ELSE CNT:=0;CLK_1K=0;END IF; END IF; END IF;END PROCESS;PROCESS(CLK_1K)VARIABLE CNT2: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN IF CLK_1KEVENT AND CLK_1K =1 THEN CNT2 := CNT2 +1;IF CNT2 =0001 THEN LEDCS=00010000;片选信号DATA=MINITUE2;ELSE IF CNT2 =0010 THEN LEDCS=00001000;DATA=MINITUE1;ELSE IF CNT2 =0011 THEN LEDCS=00000100;DATA=1010;ELSE IF CNT2 =0100 THEN LEDCS=00000010;DATA=SECOND2;ELSE IF CNT2 =0101 THEN LEDCS=00000001;DATA=SECOND1;ELSE IF CNT2 =0110 THEN LEDCS=00100000;DATADISPDISPDISPDISPDISPDISPDISPDISPDISPDISPDISPDISPDISPNULL;END CASE;END PROCESS;END ONE;功能仿真: 扫描信号为4,时间输入为零,病房号为3病房号秒 个位秒 十位横杠分 个位分 十位3.2.6 连接器:由于各个模块成功之后进行顶层设计时,计时器与蜂鸣器的位宽不相等,故设计一个连接模块,使得两块模版能够顺利衔接起。连接模块的输出部分和时间模块的mmss各部分相互对应,模块输出部分位宽的1512位与计秒的个位的30位对应,位宽的118位与计秒的十位的30想对应,位宽的74位与计分的个位的30想对应,位宽的30位与计分的十位的30为相对应。程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SOU ISPORT(SECOND1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); SECOND2 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); MINITUE1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); MINITUE2 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); JISHI : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END SOU;ARCHITECTURE ONE OF SOU ISBEGINJISHI(15 DOWNTO 12)=SECOND1;JISHI(11 DOWNTO 8)=SECOND2;JISHI(7 DOWNTO 4)=MINITUE1; JISHI(3 DOWNTO 0)=MINITUE2;END ARCHITECTURE ONE ;功能仿真:3.2.7 蜂鸣器:考虑到计时后发出5秒的提示声以及灯亮3分钟后进行报警,所以我设计的报警器模块和时间的连接模块是联系起来的,当输入为0001000000000000表示的是1秒,0010000000000000表示的是2秒,依次类推,当表示的时间是15秒时令蜂鸣器响,此时输出为低电平,表示的是蜂鸣器工作,当时间在6到3分钟之间的时候,编写程序另输出为高电平,此时蜂鸣器不工作。超过三分钟时再另蜂鸣器工作5秒,进行报警工作。程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FENGMING ISPORT( BCD: IN STD_LOGIC_VECTOR(15 DOWNTO 0); MING: OUT STD_LOGIC);END FENGMING;ARCHITECTURE BHV OF FENGMING ISSIGNAL ING : STD_LOGIC;BEGIN PROCESS (BCD)BEGIN IF BCD=0000000000000000 THEN ING=1;ELSE IF BCD=0001000000000000 THEN ING=0;ELSE IF BCD=0010000000000000 THEN ING=0;ELSE IF BCD=0011000000000000 THEN ING=0;ELSE IF BCD=0100000000000000 THEN ING=0;ELSE IF BCD=0101000000000000 THEN ING=0;ELSE ING=1; IF BCD=0000000000110000 THEN ING=0;ELSE IF BCD=0001000000110000 THEN ING=0;ELSE IF BCD=0010000000110000 THEN ING=0;ELSE IF BCD=0011000000110000 THEN ING=0;ELSE IF BCD=0100000000110000 THEN ING=0;END IF ; END IF ; END IF ; END IF ;END IF ; END IF ; END IF ; END IF ;END IF ; END IF ; END IF ;MING SIN_ain ,SOUT1 = A , REST = RST_ain,SOUT3 = E , SOUT2 = SCOUT ); U2 : HUANYOU PORT MAP ( SOUT = A ,YOU1 = F ,YOU2 = G ); U3 : HUANYOU2 PORT MAP ( LJ = C ,ZQ = D ,REST = RST_ain,SOUT3 = E ,YOU1 = F ); U4 : TIME PORT MAP ( REST = C , SP = D , CLK = CLK_ain , SECOND1 = H ,SECOND2 = I , MINITUE1 = J , MINITUE2 = K ,SE1 = S1 ,SE2 = S2 , MI2 = M2 , MI1 = M1 , TI =L ); U5 : SOU PORT MAP ( JISHI = B ,SECOND1 = H ,SECOND2 = I , MINITUE1 = J , MINITUE2 = K ); U6 : FENGMING PORT MAP ( BCD = B , MING = MING_out ); U7 : DISPLAY PORT MAP ( DISP = DISP_out , LEDCS = LEDCS_out , YOU = G ,CLK = CLK_ain , SECOND1 = H , SECOND2 = I , MINITUE1 = J , MINITUE2 = K );END ARCHITECTURE F1;功能仿真7秒区6秒区5秒区第五秒到第八秒的波形,蜂鸣器在的5秒后停止蜂鸣。在第七秒时有人应答,计数器归零电路图4 总结 我们先从呼叫系统所需要的的功能及其应该具有的功能下手,总结出这些,并对每个功能模块进行VHDL的编译,使得每一个模块可以完成相应的功能。进行元件例化将所有模块进行综合。在这过程中,我们经过一个个问题的提出和改正,例如sp高低电平的应用,端口宽度的不同,计时器不工作和计时器不停止等等的问题,最总实现了病房呼叫系统的设计。虽然我们克服了一个又一个的问题,但限于我们的学习,在编辑过程中还存在这样或那样的问题。通过这次的课程设计,使我对FPGA的设计有了更加直观的认识,虽然这次的设计不是很完美,但在以后的学习中我会去完善它的。5参考文献【1】 EDA技术使用教程 潘松,黄继业著 北京 科学出版社【2】 EDA技术与VHDL 黄继业著 北京 清华大学出版社【3】 附件Based on FPGA ward called system designAbstract:Ward call system, as the name suggests, is a patient that doctors and nurses are without him seek doctor for help. This ward calling system is based on FPGA. Through the FPGA design of different design we method of the modular design and finally adopted with the principle diagram language, VHDL combined method of design. Make full use of the FPGA programmable ability and VHDL language lesson portability and schematic diagram of the intuitive editing etc. We realized the function of the system call ward.Keywords:ward calling,system,FPGA,Modules,VHDLLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY xitong IS PORT (SIN_ain : IN STD_LOGIC_VECTOR ( 7 DOWNTO 0 ); RST_ain : IN STD_LOGIC_VECTOR ( 7 DOWNTO 0 ); CLK_ain : IN STD_LOGIC; MING_out: OUT STD_LOGIC; SCOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); LEDCS_out : OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0 ); DISP_out: OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0 ); END xitong;ARCHITECTURE F1 OF xitong IS COMPONENT SUOCUNQI PORT ( REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0); SIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); SOUT1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); SOUT2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); SOUT3:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );END COMPONENT;COMPONENT HUANYOUPORT (SOUT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); YOU1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT ;COMPONENT HUANYOU2PORT (REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0); YOU1:IN STD_LOGIC_VECTOR(3 DOWNTO 0); SOUT3:IN STD_LOGIC_VECTOR(7 DOWNTO 0) ; ZQ:OUT STD_LOGIC; LJ:OUT STD_LOGIC);END COMPONENT ;COMPONENT TIME1PORT (REST,SP,CLK:IN STD_LOGIC; TI: OUT STD_LOGIC; SECOND1,SECOND2,MINITUE1,MINITUE2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT ;COMPONENT SOUPORT (SECOND1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); SECOND2 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); MINITUE1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); MINITUE2 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); JISHI : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END COMPONENT ;COMPONENT FENGMINGPORT (BCD: IN STD_LOGIC_VECTOR(15 DOWNTO 0); MING: OUT STD_LOGIC);END COMPONENT ;COMPONENT DISPLAYPORT (CLK:IN STD_LOGIC; SECOND1,SECOND2,MINITUE1,MINITUE2:IN STD_LOGIC_VECTOR(3 DOWNTO 0) ; YOU:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DISP,LEDCS :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT ;SIGNAL A : STD_LOGIC_VECTOR ( 7 DOWNTO 0 ) ;SIGNAL B : STD_LOGIC_VECTOR ( 15 DOWNTO 0 ) ;SIGNAL C : STD_LOGIC;SIGNAL D : STD_LOGIC ;SIGNAL E : STD_LOGIC_VECTOR ( 7 DOWNTO 0 ) ;SIGNAL F : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) ;SIGNAL G : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) ;SIGNAL H : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) ;SIGNAL I : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) ;SIGNAL J : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) ;SIGNAL K : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) ;BEGIN U1 : SUOCUNQI PORT MAP ( SIN = SIN_ain ,SOUT1 = A , REST = RST_ain , SOUT3 = E , SOUT2 = SCOUT ); U2 : HUANYOU PORT MAP ( SOUT = A ,YOU1 = F ,YOU2 = G ); U3 : HUANYOU2 PORT MAP ( LJ = C ,ZQ = D ,REST = RST_ain ,SOUT3 = E , YOU1 = F ); U4 : TIME1 PORT MAP ( REST = C , SP = D , CLK = CLK_ain , SECOND1 = H , SECOND2 = I , MINITUE1 = J , MINITUE2 = K ); U5 : SOU PORT MAP ( JISHI = B ,SECOND1 = H ,SECOND2 = I , MINITUE1 = J , MINITUE2 = K ); U6 : FENGMING PORT MAP ( BCD = B , MING = MING_out ); U7 : DISPLAY PORT MAP ( DISP = DISP_out , LEDCS = LEDCS_out , YOU = G , CLK = CLK_ain , SECOND1 = H , SECOND2 = I , MINITUE1 = J , MINITUE2 = K );END ARCHITECTURE F1; -SUOCUNMOKUAILIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SUOCUNQI IS PORT( REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0);
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 销售管理


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!