您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页分频器的VHDL设计模板

分频器的VHDL设计模板

来源:爱go旅游网



洛阳理工学院试验汇报


系部

计算机和信息工程系

班级


学号


姓名


课程名称

PLD 原理和应用

试验日期

.11.12

试验名称

试验四 分频器VHDL 设计

成绩


试验目标:
1、 练习应用QUARTUSⅡ开发环境
2、 练习文件建立, 改编, 编程, 调试, 修改, 仿真。 3、 学会设计奇数、 偶数、 半整数分频器。

试验条件:
装有QUARTUSⅡ软件电脑

试验内容和步骤:
一、 试验内容:
练习占空比为50%任意奇数次分频半整数分频偶数次分频。

二、1: 建立工作文件夹和编译设计文件。 试验步骤:

2)输入源程序。 打开QUARTUSⅡ, 选择File-New 命令。 在新建窗口中

Design
File 栏选择编译文件语言类型即VHDL File 选项。 然后再VHDL 文本编译奇数次分频:
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="110")THEN C1<="000";ELSE C1<=C1+1;END IF;
IF(C1="001")THEN M1<=NOT M1;ELSIF (C1="100") THEN M1<=NOT M1; END IF;END IF;
END PROCESS;
PROCESS(CLK,C2) BEGIN
IF FALLING_EDGE(CLK) THEN
IF(C2="110")THEN C2<="000";ELSE C2<=C2+1;END IF;
IF(C2="001")THEN M2<=NOT M2;ELSIF (C2="100") THEN M2<=NOT M2; END IF;END IF;
END PROCESS;
K1<=M1;K2<=M2;K_OR<=M1 OR M2; END BHV;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; 半整数次分频:
LIBRARY IEEE;

ENTITY CNT25 IS
PORT(CLK:IN STD_LOGIC;
K1:OUT STD_LOGIC);
END;
ARCHITECTURE BHV OF CNT25 IS
SIGNAL C1,C2:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN
PROCESS(CLK,C1)
BEGIN
IF RISING_EDGE(CLK) THEN
IF(C1="100") THEN C1<="000"; ELSE C1<=C1+1; 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;END IF;
END PROCESS;





K1<="1" WHEN C1="000" OR C2="010" ELSE "0";
END BHV;
偶数次分频:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT4 IS
PORT(CLK:IN STD_LOGIC;
K1:OUT STD_LOGIC);
END;
ARCHITECTURE BHV OF CNT4 IS
SIGNAL C1:STD_LOGIC_VECTOR(2 DOWNTO 0);
SIGNAL M1:STD_LOGIC;
BEGIN
PROCESS(CLK,C1)
BEGIN
IF RISING_EDGE(CLK) THEN
IF(C1="011") 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;

K1<=M1; END BHV; END PROCESS;

creat····”单击“是”按钮。 (3)

2: 创建工程。

1)建立新工程管理窗口。 单击对话框第二栏右侧“···”按钮, 找到文

件夹d: \work\cnt10,选中已存盘文件cnt10.vhd, 再单击“打开”按钮。

2)将设计文件加入工程中。单击Next 按钮, 在弹出对话框中单击File 栏后

按钮将和工程相关全部VHDL 文件全部加入此工程。

3)选择目标芯片。 单击Next 按钮, 选择目标器件即EP3C5E144C8

4)工具设置。

5)结束设置。

3: 全程编译。

编译前首先选择Processing→Start Complilation 命令, 开启全程编译。

4: 时序仿真。

工程编译经过后




1)打开波形编辑器。 选择File→New 命令, 在新建窗口选择Vector Waveform File 选项, 单击OK 按钮。

2)设置仿真时间区域。

3)波形文件存盘。 选择File→Save As, 将以默认名为cnt10.vwf 波形文 件存入文件夹d:\work\cnt10 中。

4)将工程mux21a 端口信号节点选入波形编辑器中。

5)编辑输入波形。

6)开启仿真器。 现在全部设置进行完成, 选择Processing→Start Simulation 命令, 直到出现Simulation was successful,仿真结束。

7)观察仿真结果。 以下图:
奇数次分频:


半整数次分频:



偶数次分频:

试验总结:

经过此次试验, 我深入深入体会到VHDL 语言应用。 经过这次试验使我了解了占空比为50%任意奇数次分频设计方法, 并经过VHDL 完成了分频器设计和仿真, 经过设计不一样模数设置不一样频率分频器。作用, 程序含义也深入分析了一下, 并学会了怎样用程序去观察仿真结果正确性。 深入分析了VHDL 语言含义和在程序中即使

试级同学帮助最终调试成功。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务