ZKX's LAB

EDA设计数字时钟 eda数字时钟实验

2020-07-26知识12

EDA数字式时钟设计 没邮箱啊?补充:发了,希望帮到你EDA数字时钟设计实验思考题:本次设计程序占用EPF10K10LC84-4芯片的多少资源 以quartus II这个集成工具为例。当你编译(compile)完成之后,应该会弹出一个编译流程完成后的摘要信息(flow summary),其中就包含了资源占用的信息。如下图示例所示(红色圈住的是某个设计的用cyclone IV GX器件所占用的资源)。我也是学电子的.能把你的EDA课程设计给我发一份吗? 我不是学姐,答案我就不帮你做了,给你一些提示,希望你能独立完成.1:先选对计数器,根据需要选择4位,8位,32位(如果没有32位的计数器可以用2个16位的计数器级联起来,第一级的计数器的高位输出驱动第二级的计数器始终)2:10进制,12进制,60进制的计数器怎么做?你需要一个比较器,比较器输入端比较counter的值和一个preset value,如果两个值相等,则输出一,否则输出0,用这个比较信号来控制counter的复位信号,注意有些复位是低电平有效3:有了上面的这些计数器以后怎么做时钟?用级联的方式把上面这些计数器串联起来,也就是说用function generator 产生一个10Hz的频率分秒的比较器输出当作秒的时钟输入(enable也可以),同样的道理,秒的计数器的比较器出入做分的计数器的十种输入.EDA编程数字钟能进行正常的时、分、秒,小时计时要求为12进制,分和秒为60进制循环,要求整点和12点整报时 1.分秒六十进制电路模块count60的VHDL程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity wj7157_count60 isport(clk:in std_logic;bcd10,bcd1:buffer std_logic_vector(3 downto 0);present:in std_logic;co:out std_logic);end wj7157_count60;architecture rtl of wj7157_count60 issignal co_1:std_logic;beginprocess(clk,present)beginif present='0' then bcd1;else if clk='1' and clk'event thenif bcd1=\"1001\"then bcd1;else bcd1;end if;end if;end if;end process;process(clk,present,bcd1)beginif present='0' then bcd10;co_1;else if clk='1' and clk'event thenif bcd1=\"1000\"and bcd10=\"0101\"then co_1;elsif bcd1=\"1001\"and bcd10=\"0101\"then bcd10;co_1;elsif bcd1=\"1001\"then bcd10;co_1;end if;end if;end if;end process;co;end rtl;3.时十二进制电路模块count12的VHDL程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity wj7157_count12 isport(clk:in std_logic;bcd10,bcd1:buffer std_logic_vector(3 downto 0));end wj7157_count12;architecture rtl 。求eda数字钟设计程序 1.Topclock(元件例化 顶层文件)Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_arith.all;Use ieee.std_logic_unsigned.all;Entity topclock isPort(clk,clr,en,m1,h1:in std_logic;alarm:out std_logic;secs,secg,mins,ming,hours,hourg:buffer std_logic_vector(3 downto 0));End;2.秒模块程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity SECOND isport(clk,clr:in std_logic;sec1,sec0:out std_logic_vector(3 downto 0);co:out std_logic);end SECOND;architecture SEC of SECOND isbeginprocess(clk,clr)variable cnt1,cnt0:std_logic_vector(3 downto 0);beginif clr='1' thencnt1:=\"0000;cnt0:=\"0000;elsif clk'event and clk='1' thenif cnt1=\"0101\"and cnt0=\"1000\"thencoa);u2:min1 port map(clr=>;clr,alarm=>;alarm,mins=>;mins,ming=>;ming,clkm=>;b,enmin=>;c);u3:hour1 port map(clr=>;clr,hours=>;hours,hourg=>;hourg,clkh=>;d);u4:madapt port map(en=>;en,m1=>;m1,clk=>;clk,secin=>;a,minset=>;b);u5:hadapt port map(en=>;en,h1=>;h1,clk=>;clk,minin=>;c,hourset=>;d);end;

随机阅读

qrcode
访问手机版