为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

万年历quartus仿真

2019-01-20 35页 doc 96KB 48阅读

用户头像

is_496339

暂无简介

举报
万年历quartus仿真秒模块(60进制计数器) library ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY miao IS PORT(chu,CLK:IN STD_LOGIC; CQ1,CQ2:OUT STD_LOGIC_VECTOR (3 DOWNTO 0); COUT:OUT STD_LOGIC); END miao; ARCHITECTURE behav OF miao IS signal Q1,Q2: STD_LOGIC_VECTOR...
万年历quartus仿真
秒模块(60进制计数器) library ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY miao IS PORT(chu,CLK:IN STD_LOGIC; CQ1,CQ2:OUT STD_LOGIC_VECTOR (3 DOWNTO 0); COUT:OUT STD_LOGIC); END miao; ARCHITECTURE behav OF miao IS signal Q1,Q2: STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS(chu,CLK) BEGIN if chu='1' then Q1<="0000";Q2<="0000"; ELSIF CLK'EVENT AND CLK='1' THEN Q1<=Q1+1; IF Q1=9 THEN Q1<="0000";Q2<=Q2+1; END IF; IF Q2=5  AND Q1=9 THEN Q1<="0000";Q2<="0000";COUT<='1'; ELSE COUT<='0'; END IF; END IF; CQ1<=Q1;CQ2<=Q2;    END PROCESS; END; 分模块(60进制计数器) library ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fen IS PORT(chu,CLK:IN STD_LOGIC; S1,S2:IN STD_LOGIC_VECTOR (3 DOWNTO 0); CQ1,CQ2:OUT STD_LOGIC_VECTOR (3 DOWNTO 0); COUT:OUT STD_LOGIC); END fen; ARCHITECTURE behav OF fen IS signal Q1,Q2: STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS(chu,CLK) BEGIN if chu='1' then Q1<=S1;Q2<=S2; ELSIF CLK'EVENT AND CLK='1' THEN Q1<=Q1+1; IF Q1=9 THEN Q1<="0000";Q2<=Q2+1; END IF; IF Q2=5  AND Q1=9 THEN Q1<="0000";Q2<="0000";COUT<='1'; ELSE COUT<='0'; END IF; END IF; CQ1<=Q1;CQ2<=Q2;    END PROCESS; END; 时模块(24进制计数器) library ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY shi IS PORT(chu,CLK:IN STD_LOGIC; S1,S2:IN STD_LOGIC_VECTOR (3 DOWNTO 0); CQ1,CQ2:OUT STD_LOGIC_VECTOR (3 DOWNTO 0); COUT:OUT STD_LOGIC); END shi; ARCHITECTURE behav OF shi IS signal Q1,Q2: STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS(chu,CLK) BEGIN if chu='1' then Q1<=S1;Q2<=S2; ELSIF CLK'EVENT AND CLK='1' THEN Q1<=Q1+1; IF Q1=9 THEN Q1<="0000";Q2<=Q2+1; END IF; IF Q2=2  AND Q1=3 THEN Q1<="0000";Q2<="0000";COUT<='1'; ELSE COUT<='0'; END IF; END IF; CQ1<=Q1;CQ2<=Q2;    END PROCESS; END; 日模块(31进制计数器) Entity ri is Port( chu,clk : in std_logic; a,b : in std_logic; S1,S2:IN STD_LOGIC_VECTOR (3 DOWNTO 0); T1,T2 : out std_logic_vector(3 downto 0); cout : out std_logic); end ri; Architecture one of ri is signal Q1,Q2: STD_LOGIC_VECTOR(3 DOWNTO 0); signal ab: STD_LOGIC_VECTOR(1 DOWNTO 0); Begin PROCESS(chu,clk,a,b) begin if chu='1' then Q1<=S1;Q2<=S2; ELSIF CLK'EVENT AND CLK='1' THEN Q1<=Q1+1; IF Q1=9 THEN Q1<="0000";Q2<=Q2+1; end if; ab<=a&b; case ab is when"00"=>  if Q2=3 AND Q1=1 THEN Q2<="0000"; Q1<="0001"; cout<='1';else cout<='0'; end if; when"01"=> if Q2=3 and Q1=0 THEN Q2<="0000"    ;Q1<="0001";cout<='1'; else cout<='0'; end if; when"10"=> if Q2=2 AND Q1=8 then Q2<="0000"    ;Q1<="0001";cout<='1'; else cout<='0'; end if; when"11"=> if Q2=2 AND Q1=9 then Q2<="0000"    ;Q1<="0001";cout<='1'; else cout<='0'; end if; when others =>NULL; end case; END IF; T1<=Q1; T2<=Q2; END PROCESS; END ARCHITECTURE one; 月模块(12进制计数器) library ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY yue IS PORT(chu,CLK,run:IN STD_LOGIC; S1,S2:IN STD_LOGIC_VECTOR (3 DOWNTO 0); Y1,Y2:OUT STD_LOGIC_VECTOR (3 DOWNTO 0); a,b:OUT STD_LOGIC; COUT:OUT STD_LOGIC); END yue; ARCHITECTURE ONE OF yue IS signal Q2,Q1:STD_LOGIC_VECTOR (3 DOWNTO 0); signal Q2Q1:STD_LOGIC_VECTOR (7 DOWNTO 0); BEGIN PROCESS(chu,CLK,run) BEGIN IF chu='1' then Q1<=S1;Q2<=S2; elsIF CLK'EVENT AND CLK='1' THEN Q1<=Q1+1; IF Q1=9 THEN Q1<="0000";Q2<=Q2+1; END IF; IF Q2=1  AND Q1=2 THEN Q1<="0001";Q2<="0000";COUT<='1'; ELSE COUT<='0'; END IF; end if; end PROCESS; PROCESS(q2,q1) begin Q2Q1<=Q2&Q1; case Q2Q1 is when"00000001"=> a<='0';b<='0'; when"00000010"=>if run='1'then a<='1';b<='1'; else a<='1';b<='0';  end if; when"00000011"=>a<='0';b<='0'; when"00000100"=>a<='0';b<='1'; when"00000101"=>a<='0';b<='0'; when"00000110"=>a<='0';b<='1'; when"00000111"=>a<='0';b<='0'; when"00001000"=>a<='0';b<='0'; when"00001001"=>a<='0';b<='1'; when"00010000"=>a<='0';b<='0'; when"00010001"=>a<='0';b<='1'; when"00010010"=>a<='0';b<='0'; when others=>null; end case; END PROCESS; Y1<=Q1;Y2<=Q2; END ARCHITECTURE ONE; 年模块(一万进制计数器) library ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY nian IS PORT(chu,A,B,CLK:IN STD_LOGIC; S1,S2:IN STD_LOGIC_VECTOR (3 DOWNTO 0); N1,N2,N3,N4:OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END nian; ARCHITECTURE ABC OF nian IS signal Q1,Q2,Q3,Q4:STD_LOGIC_VECTOR (3 DOWNTO 0); signal Z:STD_LOGIC_VECTOR (1 DOWNTO 0); BEGIN PROCESS(chu,A) BEGIN IF chu='1' then CASE A IS WHEN'1'=> Q4<=S2;Q3<=S1; when'0'=> Q2<=S2;Q1<=S1; WHEN OTHERS=>NULL; END CASE; --IF A='0'THEN Q4<="0010";Q3<="0000";Q2<="0001";Q1<="0001"; --ELSIF B='1' THEN Q4<=S2;Q3<=S1; --ELSE Q2<=S2;Q1<=S1; --END IF; --END IF; ELSIF CLK'EVENT AND CLK='1' THEN Q1<=Q1+1; IF Q1=9 THEN Q1<="0000";Q2<=Q2+1; END IF; IF Q2=9 aAND Q1=9 THEN Q2<="0000";Q3<=Q3+1; END IF; IF Q3=9 AND Q2=9 and Q1=9 THEN Q3<="0000";Q4<=Q4+1; END IF; IF Q4=9  AND Q3=9 AND Q2=9 AND Q1=9 THEN Q1<="0000";Q2<="0000";Q3<="0000";Q4<="0000"; END IF; end if; end PROCESS; N1<=Q1;N2<=Q2;N3<=Q3;N4<=Q4; end ABC; 闰年模块 ENTITY  runnian  is  PORT( n1,n2,n3,n0  :in std_logic_vector( 3 downto 0); ru1    :OUT std_logic); END runnian  ;  --********************************************* ARCHITECTURE abc OF runnian    IS  signal ru :std_logic; BEGIN process(n1,n2,n3,n0) BEGIN if n0=0 and n1=0 then if n3(0)='0'then if N2=0 OR N2=4 OR N2=8 then ru<='1'; else ru<='0'; end if; else if n2=2 or n2=6 then ru<='1'; else ru<='0'; end if ; end if; else if n1(0)='0'then if N0=0 OR N0=4 OR N0=8 then ru<='1'; else ru<='0'; end if; else if n0=2 or n0=6 then ru<='1'; else ru<='0'; end if ; end if; end if; ru1<=ru; end process; end abc; 星期模块(8进制计数器) ENTITY xingqi IS PORT(chu,CLK:IN STD_LOGIC; s1:in STD_LOGIC_VECTOR (3 DOWNTO 0); C1:OUT STD_LOGIC_VECTOR (3 DOWNTO 0)); END xingqi; ARCHITECTURE abc OF xingqi IS signal Q1: STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN PROCESS(chu,CLK) BEGIN if chu='1' then Q1<=s1; ELSIF CLK'EVENT AND CLK='1' THEN Q1<=Q1+1; IF Q1=7 THEN Q1<="0001"; END IF; END IF; C1<=Q1; END PROCESS; END abc; 生日模块 ENTITY shengri IS Port( chu : in std_logic; a,b,c :IN STD_LOGIC; y2,y1,r2,r1:IN STD_LOGIC_VECTOR (3 DOWNTO 0); q2,q1:IN STD_LOGIC_VECTOR (3 DOWNTO 0); nao:OUT STD_LOGIC); END shengri; ARCHITECTURE abc OF shengri IS signal y2y1,r2r1,q2q1,sy1,sy2,sy3,sr1,sr2,sr3:STD_LOGIC_VECTOR (7 DOWNTO 0); signal sr,s1,s2,s3:STD_LOGIC_VECTOR (15 DOWNTO 0); signal ab:STD_LOGIC_VECTOR (1 DOWNTO 0); --signal Q2Q1:STD_LOGIC; BEGIN PRocESS(a,b,c,chu) begin ab<=a&b;y2y1<=y2&y1; r2r1<=r2&r1;q2q1<=q2&q1; s1<=sy1&sr1;s2<=sy2&sr2;s3<=sy3&sr3; sr<=y2y1&r2r1; IF chu='1' THEN if c='1' then case ab is when"00"=> s1<=s1;s2<=s2;s3<=s3; when"01"=> sy1<=q2q1; when"10"=> sy2<=q2q1; when"11"=>sy3<=q2q1; when others =>null; end case; else case ab is when"00"=>s1<=s1;s2<=s2;s3<=s3; when"01"=>sr1<=q2q1; when"10"=>sr2<=q2q1; when"11"=> sr3<=q2q1; when others =>null; end case;end if;end if; if sr=s1 or sr=s2 or sr=s3 then nao<='1'; ELSE nao<='0'; end if; end process; end abc; 控制模块 library ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY kong IS PORT(a,b,c,d,e,CHU,G,F:IN STD_LOGIC; Q1,Q2:IN STD_LOGIC_VECTOR (3 DOWNTO 0); N1,N2,Y1,Y2,R1,R2,S1,S2,F1,F2,X1,SR1,SR2:OUT STD_LOGIC_VECTOR (3 DOWNTO 0); NC,NA,NB,SRC,SA,SRB,YC,RC,SC,FC,MC,XC:OUT STD_LOGIC);  END kong; ARCHITECTURE ONE OF kong IS signal abcde:STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS(a,b,c,d,e) BEGIN abcde<=a&b&c&d&e; case abcde is WHEN"10000"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"10001"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"10010"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"10011"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"10100"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"10101"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"10110"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"10111"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"11000"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"11001"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"11010"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"11011"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"11100"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"11101"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"11110"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"11111"=>N1<="0000";N2<="0010";Y1<="0001";Y2<="0000";R1<="0001";R2<="0000";S1<="1001";S2<="0000";F1<="0000";F2<="0000";X1<="0001"; NC<='1';YC<='1';RC<='1';SC<='1';FC<='1';MC<='1';XC<='1';SRC<='0'; WHEN"01000"=>MC<=CHU;NC<='0';YC<='0';RC<='0';SC<='0';FC<='0';XC<='0';SRC<='0'; WHEN"01001"=>X1<=Q1;XC<=CHU;NC<='0';YC<='0';RC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"01010"=>R1<=Q1;R2<=Q2;RC<=CHU;NC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"01011"=>Y1<=Q1;Y2<=Q2;YC<=CHU;NC<='0';RC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"01100"=>N1<=Q1;N2<=Q2;NC<=CHU;NB<=G;NA<=F;RC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"01101"=>S1<=Q1;S2<=Q2;SC<=CHU;NC<='0';YC<='0';XC<='0';RC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"01110"=>F1<=Q1;F2<=Q2;FC<=CHU;NC<='0';YC<='0';XC<='0';RC<='0';SC<='0';MC<='0';SRC<='0'; WHEN"01111"=>SR1<=Q1;SR2<=Q2;SRC<=CHU;SA<=F;SRB<=G;NC<='0';YC<='0';XC<='0';RC<='0';FC<='0';MC<='0';SC<='0'; WHEN"00000"=>NC<='0';RC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"00001"=>NC<='0';RC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"00010"=>NC<='0';RC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"00011"=>NC<='0';RC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"00100"=>NC<='0';RC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"00101"=>NC<='0';RC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"00110"=>NC<='0';RC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN"00111"=>NC<='0';RC<='0';YC<='0';XC<='0';SC<='0';FC<='0';MC<='0';SRC<='0'; WHEN OTHERS=>NULL; END CASE; END PROCESS; END ONE; 切换模块 ENTITY qie IS PORT(qie:IN STD_LOGIC; N1,N2,N3,N4,Y1,Y2,R1,R2,S1,S2,F1,F2,M2,M1,X1:in STD_LOGIC_VECTOR(3 DOWNTO 0); L1,L2,L3,L4,L5,L6,L7,L8:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));  END qie; ARCHITECTURE ONE OF qie IS signal C1,C2,C3,C4,C5,C6,C7,C8:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(qie) BEGIN if qie='1' then C8<=N4;C7<=N3;C6<=N2;C5<=N1;C4<=Y2;C3<=Y1;C2<=R2;C1<=R1; ELSE C8<=S2;C7<=S1;C6<=F2;C5<=F1;C4<=M1;C3<=M2;C2<="0000";C1<=X1; end if; end process; L1<=C1;L2<=C2;L3<=C3;L4<=C4;L5<=C5;L6<=C6;L7<=C7;L8<=C8; END ONE; 译码器模块(由7448和7404构成) 1hz模块 entity fenpin12 is port(clk:in std_logic; clk_out:out std_logic); end; architecture art of fenpin12 is signal count:integer range 0 to 6; signal clk_data:std_logic; begin process(clk,count) begin if clk'event and clk='1' then if count=6 then  Count<=0; clk_data<=not clk_data; else count<=count+1; end if; end if; clk_out<=clk_data; end process; end art; 1000分频 entity fenpin1000 is port(clk:in std_logic; clk_out:out std_logic); end; architecture art of fenpin1000 is signal count:integer range 0 to 1000; signal clk_data:std_logic; begin process(clk,count) begin if clk'event and clk='1' then if count=1000 then    Count<=0; clk_data<=not clk_data; else count<=count+1; end if; end if; clk_out<=clk_data; end process; end art; 分频调控模块 entity fenpintiao is port(clk:in std_logic; clk_out:out std_logic); end; architecture art of fenpintiao is signal count:integer range 0 to 1000; signal clk_data:std_logic; begin process(clk,count) begin if clk'event and clk='1' then if count=1000 then    Count<=0; clk_data<=not clk_data; else count<=count+1; end if; end if; clk_out<=clk_data; end process; end art; 总电路图 引脚分配
/
本文档为【万年历quartus仿真】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索