1、对程序进行说明,包括模块说明和行注释(行注释量不少于30%)。
library ieee声明使用ieee库”
use “声明使用std_logic_1164程序包”
use “声明使用std_logic_arith程序包。
entity homework is实体,给出实体名 homework和管脚定义”
port(clk,reset:in std_logic;
en : in std_logic;
load : in std_logic;
d : in std_logic_vector (6 downto 0 );
co : out std_logic;
qh : buffer std_logic_vector (2 downto 0 );
ql : buffer std_logic_vector (3 downto 0 );
adclk,daclk :out std_logic);
end entity homework;
architecture beh**e of homework is结构体,描述电路器件的内部逻辑功能”
signal counter32:std_logic_vector(4 downto 0);
signal clk_temp :std_logic;
begin
process (reset,clk)
begin进程开始”
if (reset='1') then
counter32<="00000如果reset值为1则counter32赋值为00000”
elsif (clk'event and clk='1') then
counter32<=counter32+1否则如果时钟clk变化为1,则counter32加1”
end ifif结束”
end process结束进程”
process (clk_temp, reset)
begin进程开始”
if (reset = 1') then
qh<= 000"; ql<= 0000";
co<='0如果reset值为1,将qh赋值为000,ql为0000,co为0”
elsif (clk_temp'event and clk_temp = 1') then “否则如果clk_temp变为1则执行下列语句”
if (load = 1') then
qh<=d (6 downto 4 );
ql<=d (3 downt0 0 );如果load值为1,qh取d的前三位,ql取d的后三位”
elsif (en = 1') then “否则如果en为1,则执行下列语句”
if (ql = 9) then
ql<= 0000如果ql=9,则ql赋值为0000”
if (qh =4) then qh<="000";co<='1';“如果qh=4,则qh赋值为000”
else qh<=qh+1否则qh加1”
end if;
else ql<=ql+1否则ql加1,co变为0”
co<='0';
end if;
end if;
end if;
end process;
clk_temp<=counter32(1clk_temp取counter32的第四位”
adclk<=counter32(2clk_temp取counter32的第三位。
daclk<=counter32(4clk_temp取counter32的最高位”
end architecture结构体结束”
2、分析并说明程序功能,当输入clk信号为64mhz的时钟时,输出量adclk和daclk的频率为多少mhz?输出量co是否为周期信号?若是,请给出信号频率。
在第一个进程中,counter32是信号clk的计数器,clk每由0变为1,counter32便加1。reset是重置信号,当reset为1时,counter32变为0。在第二个进程中,d是存储信号,load功能为读取,当load等于1时,qh读取d的前三位,ql读取d的后四位。
reset为复位信号,reset等于1时,将qh,ql,co置为0。en为控制信号,当它为1时,qh,ql和co随clk_temp的变化而变化。ql为低位信号,clk_temp每上升一次,它会加1,达到9时归零,同时高位信号qh会加1。
qh增加到4时归零。qh每次进位时co变为1,其余时间co为零。clk_temp,adclk,daclk分别取counter32的第4,3,1位,其频率分别为clk的1/4,1/8和1/32。
输入clk信号为64mhz的时钟时,输出量adclk的频率为8mhz,daclk的频率为2mhz。co是周期信号,其频率为0.32mhz。
3、(选作)给出**结果。
三处错误:错误一:未声明use
错误二:ql<=d (3 downt0 0 )中0应为字母o
错误三:signal counter32:std_logic_vector(4 downto 0);分号不对,应为;
北航体育作业
虚而往,实而归。学习太极拳的感受。相信很多人和我一样,从小就从各种电视电影中听说过太极拳,并且被这种充满神秘主义的拳法所吸引,对她充满了好奇。上大学后,北航开设了太极拳课程,为我们同学提供了了解太极的机会。太极拳是最受欢迎的体育选修课,我抢了这么久,终于在这个学期抢到了,如愿以偿地学习了神秘的太极,...
EDA作业
电子电路基础 eda作业。multisim的应用之晶体管放大器的设计与调测。本实验的主要目的是熟悉multisim软件的使用,包括电路图编辑,虚拟仪器仪表的使用和掌握常见电路分析方法。能够运用multisim软件对模拟电路进行设计和性能分析,掌握eda设计的基本方法和步骤。熟练掌握有关单级放大电路有...
EDA作业
山东交通学院。eda电路 设计软件。设计报告。班级电气111 姓名罗汉林。学号 110812135 专业电气工程及其自动化 学院信电学院。简易频率计数器的设计。设计说明。频率的测量实际上就是在1个单位时间内 通常1s 对信号脉冲进行计数,计数值就是信号频率。1.设计目标。用at89s51设计一个数显...