EDA数字秒表课程设计.doc

EDA数字秒表课程设计.doc

ID:58676804

大小:97.00 KB

页数:10页

时间:2020-10-15

EDA数字秒表课程设计.doc_第1页
EDA数字秒表课程设计.doc_第2页
EDA数字秒表课程设计.doc_第3页
EDA数字秒表课程设计.doc_第4页
EDA数字秒表课程设计.doc_第5页
资源描述:

《EDA数字秒表课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序:(1)时基分频模块的VHDL源程序(CB10.VHD)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCB10ISPORT(CLK:INSTD_LOGIC;——输入时钟信号CO:OUTSTD_LOGIC);——分频输出信号ENDCB10;——实体描述ARCHITECTUREARTOFCB10IS——结构体描述SIGNALCOUNT:STD_LOGIC_VECTOR(3DOWNTO0);——硬件系统的基本数据对象BEGINPRO

2、CESS(CLK)——进程敏感信号BEGINIFRISING_EDGE(CLK)THENIFCOUNT="1001"THENCOUNT<="0000";CO<='1';ELSECOUNT<=COUNT+1;CO<='0';ENDIF;ENDIF;ENDPROCESS;ENDART;(2)控制模块的VHDL源程序(CTRL.VHD)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCTRLISPORT(CLR,CLK,SP:INSTD_

3、LOGIC;EN:OUTSTD_LOGIC);——CLR:清零信号CLK:脉冲输入端SP:计数输入端EN:输出端END;ARCHITECTUREBEHAVEOFCTRLISCONSTANTS0:STD_LOGIC_VECTOR(1DOWNTO0):="00";CONSTANTS1:STD_LOGIC_VECTOR(1DOWNTO0):="01";CONSTANTS2:STD_LOGIC_VECTOR(1DOWNTO0):="10";CONSTANTS3:STD_LOGIC_VECTOR(1DOWNTO0):="11";TYPESTAT

4、ESIS(S0,S1,S2,S3);——表达四个状态的位矢量SIGNALCURRENT_STATE,NEXT_STATE:STATES;BEGINCOM:PROCESS(SP,CURRENT_STATE)——决定转换状态的进程BEGINCASECURRENT_STATEISWHENS0=>EN<='0';——选中状态为S0、EN='0'IFSP='1'THENNEXT_STATE<=S1;ELSENEXT_STATE<=S0;ENDIF;WHENS1=>EN<='1';——选中状态为S1、EN='1'IFSP='1'THENNEXT_

5、STATE<=S1;ELSENEXT_STATE<=S2;ENDIF;WHENS2=>EN<='1';——选中状态为S2、EN='1'IFSP='1'THENNEXT_STATE<=S3;ELSENEXT_STATE<=S2;ENDIF;WHENS3=>EN<='0';——选中状态为S3、EN='0'IFSP='1'THENNEXT_STATE<=S3;ELSENEXT_STATE<=S0;ENDIF;ENDCASE;ENDPROCESS;SYNCH:PROCESS(CLK)——时序进程BEGINIFCLR='1'THENCURREN

6、T_STATE<=S0;ELSIFCLK'EVENTANDCLK='1'THENCURRENT_STATE<=NEXT_STATE;ENDIF;ENDPROCESS;ENDBEHAVE;(3)计时模块的VHDL源程序①十进制计数器的VHDL源程序——cdu10.vhdLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcdu10ISPORT(CLK:INSTD_LOGIC;——时钟信号CLR:INSTD_LOGIC;——清零信号EN:I

7、NSTD_LOGIC;——计数使能信号CN:OUTSTD_LOGIC;——计数输出信号COUNT10:OUTSTD_LOGIC_VECTOR(3DOWNTO0));——计数值ENDcdu10;ARCHITECTUREARTOFcdu10ISSIGNALSCOUNT10:STD_LOGIC_VECTOR(3DOWNTO0);BEGINCOUNT10<=SCOUNT10;PROCESS(CLK,CLR,EN)BEGINIF(CLR='1')THENSCOUNT10<="0000";CN<='0';ELSIFRISING_EDGE(CLK)

8、THEN——脉冲为上跳沿触发IF(EN='1')THENIFSCOUNT10="1001"THENCN<='1';SCOUNT10<="0000";ELSECN<='0';SCOUNT10<=SCOUNT10+'1';E

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。