三半整数与奇数分频器设计.doc
文本预览下载声明
实验3半整数与奇数分频器设计
一 实验目的
1 熟悉QuartusII的VHDL文本设计流程全过程,学习计数器的设计与仿真
2 掌握简单逻辑电路的设计方法与功能仿真技巧。
3 学习并掌握用VHDL语言、语法规则
4 学习使用VHDL语言进行半整数与奇数分频器的设计
二. 实验仪器设备
1 PC机,1台
2 QuartusII系统
三.实验原理
1 参考教材中的相关内容;
2 根据老师教学演示的相关内容。
四.实验内容
用VHDL语言设计一个半整数与奇数分频器,并进行编辑,编译与仿真。要求
(1) 设置时钟信号源;
(2) 用VHDL语言对半整数与奇数分频器进行程序设计;
(3) 对于所设计的程序进行编译,检查纠错。
(4)程序完善之后进行程序的仿真并进行波形的记录与分析。
五. 实验参考程序
占空比为50%的任意奇数次(5)分频电路
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT10 IS
PORT (CLK:IN STD_LOGIC; --输入时钟信号
K_OR,K1,K2 :OUT STD_LOGIC); --输出信号
END;
ARCHITECTURE bhv OF CNT10 IS
SIGNAL C1,C2:STD_LOGIC_VECTOR(2 DOWNTO 0);
SIGNAL M1,M2 :STD_LOGIC;
BEGIN
PROCESS (CLK,C1) --敏感信号
BEGIN
IF RISING_EDGE(CLK) THEN
IF (C1=100) THEN C1=000; ELSE C1=C1+1; END IF;
IF (C1=001) THEN M1=NOT M1[ELSIF (C1=011) THEN M1=NOT M1;
END IF; END IF;
END PROCESS;
PROCESS(CLK,C2) BEGIN
IF FALLING_EDGE (CLK) THEN
IF (C2=100)THEN C2=000; ELSE C2=C2+1; END IF;
IF (C2=001)THEN M2=NOT M2;ELSIF (C2=011) THEN M2=NOT M2;
END IF;END IF;
END PROCESS;
K1=M1; K2=M2;
K_OR=M1 OR M2;
END bhv;
六. 实验仿真图形
显示全部