五、实验内容记录
1.说明半加器和全加器的区别
2.本次实验可以使用哪几个电路模式完成实验? 3.请根据下载实验箱后的情况填写下表 a0-a3 C 9 6 8 D F
b0-b3 2 5 7 A E F cin 1 0 0 1 0 1 cout sum 实验四 数控分频器的设计
一、实验目的
学习数控分频器的设计、分析和测试方法。 二、实验原理
数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可。 三、实验内容
(1)分析:根据下图的波形提示,分析实验程序各语句功能、设计原理及逻辑功能,详述进程P_REG和P_DIV的作用,并画出该程序的RTL电路图。
图 当给出不同输入值 D时,FOUT 输出不同频率(CLK 周期=50ns)
(2)仿真:输入不同的CLK频率和预置值D,给出时序波形。 (3)在实验系统上硬件验证本次实验功能。
按照步骤对上例分别进行编译、综合、仿真。并对其仿真波形作出分析说明。
请将实验程序补齐,然后进行编译、仿真、下载。将P_REG和P_DIV的作用写在实验报告上。 LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY DVF IS
PORT ( ?? ); END;
ARCHITECTURE one OF DVF IS SIGNAL FULL : STD_LOGIC; BEGIN
P_REG: PROCESS(CLK)
VARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN
IF CLK'EVENT AND CLK = '1' THEN IF CNT8 = \
CNT8 := D; --当CNT8计数计满时,输入数据D被同步预置给计数器CNT8 FULL <= '1'; --同时使溢出标志信号FULL输出为高电平 ELSE CNT8 := CNT8 + 1; --否则继续作加1计数
FULL <= '0'; --且输出溢出标志信号FULL为低电平 END IF;
相关推荐: