北航EDA作业

发布 2022-09-02 20:52:28 阅读 9491

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设计一个数显...