基于-EDA的万年历设计(2)
BEGIN
IF CLK'EVENT AND CLK='1' THEN
Q11<=Q11+1;
IF Q11=9 THEN Q11<=(OTHERS=>'0');
Q22<=Q22+1;
END IF;
IF Q22=2 AND Q11=3 THEN
Q22<="0000";Q11<="0000";COUT<='1';
ELSE COUT<='0';
END IF;
END IF;
10 / 30
11 / 30
END PROCESS; Q1<=Q11;Q2<=Q22;
END;
(2
)时序仿真
由上时序仿真图所示,记满24个时钟脉冲,COUT 输出一个进位脉冲,正确,满足设计要求。
(3)元件图
3.1.3天计时模块
(1)VHDL 程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY TIAN IS
PORT( PANDUAN :IN STD_LOGIC_VECTOR(1 DOWNTO 0);
CLK :IN STD_LOGIC;
CQ1 :OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
CQ2 :OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
COUT :OUT STD_LOGIC);
END;
ARCHITECTURE ONE OF TIAN IS
SIGNAL CQ3,CQ4:STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL PAN:STD_LOGIC_VECTOR(1 DOWNTO 0);
BEGIN
PROCESS(CLK,PANDUAN)
BEGIN
IF CLK'EVENT AND CLK='1' THEN
CQ3<=CQ3+1;
IF CQ3=9 THEN CQ3<=(OTHERS=>'0');
CQ4<=CQ4+1;
END IF;
PAN<=PANDUAN;
CASE PAN IS
WHEN "00"=>IF CQ3="0001" AND CQ4="0011" THEN CQ3<="0001";CQ4<="0000";COUT<='1';ELSE COUT<='0';END IF;
WHEN "01"=>IF CQ3="0000" AND CQ4="0011" THEN CQ3<="0001";CQ4<="0000";COUT<='1';ELSE COUT<='0';END IF;
WHEN "10"=>IF CQ3="1000" AND CQ4="0010" THEN CQ3<="0001";CQ4<="0000";COUT<='1';ELSE COUT<='0';END IF;
WHEN "11"=>IF CQ3="1001" AND CQ4="0010" THEN CQ3<="0001";CQ4<="0000";COUT<='1';ELSE COUT<='0';END IF;
WHEN OTHERS=>NULL;
12 / 30
END CASE;
END IF;
CQ1<=CQ3;
CQ2<=CQ4;
END PROCESS;
END;
(2)时序仿真
当PUANDUAN=‘00’时,计满31个时钟脉冲,COUT输出一个进位脉冲,正确,满足设计要求;
当PUANDUAN=‘01’时,计满30个时钟脉冲,COUT输出一个进位脉冲,正确,满足设计要求;
当PUANDUAN=‘10’时,计满29个时钟脉冲,COUT输出一个进位脉冲,正
13 / 30
14 / 30 确,满足设计要求;
当PUANDUAN=‘10’时,计满
28个时钟脉冲,COUT 输出一个进位脉冲,正确,满足设计要求;
(3)元件图
3.1.4月计时模块
(1)VHDL 程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY MONTH IS
port(clk :IN STD_LOGIC;
run :IN STD_LOGIC;
cout :OUT STD_LOGIC;
pan :OUT STD_LOGIC_VECTOR(1 DOWNTO 0);
cq1,cq2 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0));
END ;
ARCHITECTURE behav OF MONTH IS
signal cq3,cq4: STD_LOGIC_VECTOR (3 DOWNTO 0);
signal cq5: STD_LOGIC_VECTOR (7 DOWNTO 0);
BEGIN
PROCESS(clk)
BEGIN
IF clk'EVENT and clk='1' THEN
cq3<=cq3+1;
IF cq3=9 THEN cq4<=cq4+1;cq3<="0000"; END IF;
IF cq3=2 and cq4=1 THEN cq3<="0001";cq4<="0000";cout<='1';ELSE cout<='0';
END IF;
END IF;
cq5<=cq4&cq3;
CASE cq5 IS
WHEN "00000001"=>pan<="00"; --一月
WHEN "00000010"=>if run='1' then pan<="11";else pan<="10";end if; --—二月WHEN "00000011"=>pan<="00"; --三月
WHEN "00000100"=>pan<="01"; --四月
WHEN "00000101"=>pan<="00"; --五月
WHEN "00000110"=>pan<="01"; --六月
15 / 30
WHEN "00000111"=>pan<="00"; --七月
WHEN "00001000"=>pan<="00"; --八月
WHEN "00001001"=>pan<="01"; --九旁
WHEN "00010000"=>pan<="00"; --十月
WHEN "00010001"=>pan<="01"; --十一月
WHEN "00010010"=>pan<="00"; --十二月
WHEN others=>NULL;
END CASE;
cq1<=cq3;
cq2<=cq4;
END PROCESS;
END;
(2)时序仿真
从仿真图中可以看出,计满12时钟有一个进位,当run=0(即平年)时,输出pun=‘10’(即二月为28天),当run=1(即闰年)时,输出pun=‘11’(即二月为29天),当月份为1,3,5,7,8,10,12时输出pun=‘00’(即该月为31天),
16 / 30
当月份为4,6,9,11时,输出pun=‘01’(即该月为30天)。正确,满足设计要求。
3.1.5年低位计时模块
(1)VHDL程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY YEAR IS
PORT(CLK:IN STD_LOGIC;
Y1,Y2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
RUN,COUT:OUT STD_LOGIC);
END YEAR;
ARCHITECTURE ONE OF YEAR IS
SIGNAL Q1,Q2,Q3:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK='1' THEN
Q1<=Q1+1;
IF Q1=9 THEN Q1<=(OTHERS=>'0');
Q2<=Q2+1;
END IF;
IF Q2=9 AND Q1=9 THEN
Q2<="0000";Q1<="0000";COUT<='1';
ELSE COUT<='0';
END IF;
17 / 30
END IF;
END PROCESS;
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK='1' THEN --每记四次数为闰年
Q3<=Q3+1;
IF Q3=3 THEN Q3<=(OTHERS=>'0');
RUN<='1';
ELSE RUN <='0';
END IF;
END IF;
Y1<=Q1;Y2<=Q2;
END PROCESS;
END;
(2)时序仿真
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




