当前位置:文档之家› 分频器实验报告

分频器实验报告

2:创建工程。
(1)建立新工程管理窗口。单击对话框第二栏右侧“···”按钮,找到文件夹d:\work\cnt10,选中已存盘文件cnt10.vhd,再单击“打开”按钮。
(2)将设计文件加入工程中。单击Next按钮,在弹出的对话框中单击File栏后的按钮将与工程相关的所有VHDL文件都加入此工程。
(3)选择目标芯片。单击Next按钮,选择目标器件即EP3C5E144C8。
(2)输入源程序。打开QUARTUSⅡ,选择File-New命令。在新建窗口中的Design
File栏选择编译文件的语言类型即VHDL File选项。然后再VHDL文本编译窗口输入奇数分频器的程序:
libraryieee;
use ieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
begin
process(clk,c1)
begin
ifrising_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;
(3)波形文件存盘。选择File→Save As,将以默认名为cnt10.vwf的波形文件存入文件夹d\work\cnt10中。
(4)将工程shift的端口信号节点选入波形编辑器中。
(5)编辑输入波形。
(6)启动仿真器。现在所有的设置进行完毕,选择Processing→Start Simulation命令,直到出现Simulation was successful,仿真结束。
实验内容与步骤:
一、实验内容:
学习VHDL文本输入设计流程,包括设计、输入、综合、适配、仿真测试和编程下载,并且在QUARTUSⅡ开发环境下用VHDL文本语言编译仿真出任意偶次,奇次,半整数分频器观察并记录其仿真波形 。
二、实验步骤:
奇数分频器的编译与仿真:
1:建立工作苦文件夹和编译设计文件。
(1)新建一个文件夹。首先利用Windows资源管理器,在EDA默认的工作库(work)中新建一个文件夹命名cnt10。
if(c2="100") then c2<="000"; else c2<=c2+1;
endif;endif;
end process;
k1<="1" when c1="000" or c2="010" else "0";
endbhv;
仿真波形及结果:
实验总结:
通过本次试验,我基本掌握了QUARTUSⅡ开发环境的应用,熟练的建立文件、编译文件、以及工程仿真的整个流程和波形文件的建立和仿真。虽然在本次实验中遇到了一些问题,刚开始由于程序有错误不能编译成功,经过耐心的修改最终成功编译,但在波形仿真时由于延时冲突问题不能出现正确结果,又经过重新从编译开始有认真做了整个流程最终成功做完可控奇数分频器的实验。同时在实验基础上修改源程序和在次建立工程文件及修改波形图得到偶次分频及半整数次分频的仿真。在此次实验中我了解到做实验需要耐心、细心,不断地发现错误,认识理解错误,从而改正的过程。
endif;endif;
end process;
process(clk,c2) begin
iffalling_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;
(4)工具设置。
(5)结束设置。
3:半程编译。
编译前首先选择Processing→StartComplilation命令,启动半程编译。
4:时序仿真。
工程编译通过后
(1)打开波形编辑器。选择File→New命令,在新建窗口选择Vector Waveform File选项,单击OK按钮。
(2)设置仿真时间区域。
entity cnt10 is
port (clk: in std_logic;k_or,k1,k2: outstd_logic);
end;
architecturebhvof cnt10 is
signal c1,c2:std_logic_vector(2downto0);
signal m1,m2:std_logic;
endif;endif;
end process;
k1<=m1;k2<=m2;k_or<=m1 or m2;
endbhv;
(3) 文件存盘。选择File—Save as命令,找到已经建立的文件夹cnt10,存盘文件名应该与实体名一致,即cnt10.vhd。当出现问句“Do you want tocreat····”单击“是”按钮。
begin
process(clk,c1)
beginifrisFra bibliotekng_edge(clk) then
if(c1="100") then c1<="000"; else c1<=c1+1;
end if; end if;
end process;
process(clk,c2) begin
iffalling_edge(clk) then
useieee.std_logic_unsigned.all;
entity cnt25 is
port(clk:instd_logic;
k1:outstd_logic);
end;
architecturebhvof cnt25 is
signal c1,c2:std_logic_vector(2downto0);
洛阳理工学院实验报告
系部
计算机与信息工程系
班级
05
学号
B09050508
姓名
王卫云
课程名称
PLD原理与应用
实验日期
11.12
实验名称
分频器的设计
成绩
实验目的:
1、学习利用VHDL完成分频器的设计
2、在QUARTUSⅡ开发环境下用VHDL文本语言编译仿真出任意偶次,奇次,半整数分频器。
实验条件:
装有QUARTUSⅡ软件的电脑
end;
architecturebhvofcnt4is
signal c1:std_logic_vector(2downto0);
signal m1:std_logic;
begin
process(clk,c1)
begin
ifrising_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;
end process;
k1<=m1;
endbhv;
仿真波形及结果:
半整数次频源程序:
libraryieee;
use ieee.std_logic_1164.all;
(7)观察仿真结果。如下图:
奇数分频器的编译与仿真:
偶次分频与上述实验步骤一致。
源程序:
libraryieee;
use ieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitycnt4is
port(clk:instd_logic;
k1:outstd_logic);
相关主题