安徽农业大学。
综合性(设计性)实践报告书。
实践课题: eda课程设计实践。
班级: 09电子信息工程2班。
姓名: 卫洋洋。
学号: 09168124
指导教师: 江朝晖。
2012 年 5 月 24 日。
一、 实践课题名称:
1. 十进制加法计数器(cpld\fpga)
2. 八位十六进制频率计(fpga)
二、课程设计目的:
1.课程设计是配合课堂教学而设置的实践性教学环节之一,在课程教学中占有重要的地位。其总的目的是让学生及时掌握和巩固课堂所学的知识,培养学生独立思考和实际动手的能力,为后续的学习和工作打下良好的科研基础。
2.eda课程设计的目的是让学生在熟悉传统电子系统设计方法的基础上,熟练掌握现代电子系统的设计和实现,较好地运用“自上而下”的层次设计思想。
3.运用eda技术的开发工具设计项目,了解项目设计步骤,学习编写技术文档,提高综合应用所学知识的能力,积累cpld\fpga的编程、设计经验,培养编写程序、调试程序的能力。
4.培养学生自主独立学习、吸取他人经验、探索研究的习惯。
三、课程设计流程。
1.十进制加法计数器(cpld)
程序部分:library ieee;
use use
entity cnt10 is
port(clk,rst,en:in std_logic;
cq:out std_logic_vector(3 downto 0);
cout:out std_logic);
end cnt10;
architecture beh** of cnt10 is
beginprocess(clk,rst,en)
variable cqi:std_logic_vector(3 downto 0);
beginif rst='1' then cqi:=(others=>'0');
elsif clk'event and clk='1' then
if en='1' then
if cqi<9 then cqi:=cqi+1;
else cqi:=(others=>'0');
end if;
end if;
end if;
if cqi=9 then cout<='1';
else cout<='0';
end if;
cq<=cqi;
end process;
end beh**;
1)新建设计及工程。
打开quartusⅱ,选择菜单file→new,新建vhdl file文件。
输入程序(程序见书本89页),选择file→s**e as,同时创建工程。
工程建立中,选择对应的cpld芯片。
2)程序编译及波形**。
程序编译,选择processing→start compilation,开始编译。
新建波形**文件,new→vector w**eform file。
设置**时间区域和在**文件中添加引脚。
进行**参数设置后,选择processing→start simulation,开始进行波形**。
3)引脚设置和**。
选择assignment→pin,进行引脚设置。
选择tool→programmer,弹出窗口,其中mode中选择为jtag,再选择hardware setup,对其进行设置,设置完成后,再对程序进行一次编译,就能点击start对芯片进行**。(cpld**文件是*.pof)
十进制加法计数器(fpga)
只是在芯片选择和引脚设置上有差异,其余步骤与cpld中的设置完全一样。选择assignment→device,改换为fpga对应的芯片。
引脚设置。编译**。(fpga**文件是*.sof)
2.八位十六进制频计器(fpga)
程序部分:测频控制电路:
library ieee;
use use
entity ftctrl is
port(clkk:in std_logic;
cnt_en:out std_logic;
rst_cnt:out std_logic;
load:out std_logic);
end ftctrl;
architecture beh** of ftctrl is
signal div2clk:std_logic;
beginprocess(clkk)
beginif clkk'event and clkk='1' then
div2clk<=not div2clk;
end if;
end process;
process(clkk,div2clk)
beginif clkk='0' and div2clk='0' then rst_cnt<='1';
else rst_cnt<='0';end if;
end process;
load<=not div2clk;cnt_en<=div2clk;
end beh**;
32位锁存器:
library ieee;
use entity reg32b is
port(lk:in std_logic;
din:in std_logic_vector(31 downto 0);
dout:out std_logic_vector(31 downto 0));
end reg32b;
architecture beh** of reg32b is
beginprocess(lk,din)
beginif lk'event and lk='1' then dout<=din;
end if;
end process;
end beh**;
32位计数器:
library ieee;
use use
entity counter32b is
port (fin:in std_logic;
clr:in std_logic;
enabl:in std_logic;
dout:out std_logic_vector(31 downto 0));
end counter32b;
architecture beh** of counter32b is
signal cqi:std_logic_vector(31 downto 0);
beginprocess(fin,clr,enabl)
beginif clr='1' then cqi<=(others=>'0');
elsif fin'event and fin='1' then
if enabl='1' then cqi<=cqi+1;end if;
end if;
end process;
dout<=cqi;
end beh**;
频率计顶层文件:
library ieee;
use entity freqtest is
port(clk1hz:in std_logic;
fsin:in std_logic;
dout:out std_logic_vector(31 downto 0));
end freqtest;
architecture struc of freqtest is
component ftctrl
port(clkk:in std_logic;
cnt_en:out std_logic;
rst_cnt:out std_logic;
load:out std_logic);
end component;
component counter32b
port (fin:in std_logic;
clr:in std_logic;
enabl:in std_logic;
dout:out std_logic_vector(31 downto 0));
end component;
component reg32b
port(lk:in std_logic;
din:in std_logic_vector(31 downto 0);
dout:out std_logic_vector(31 downto 0));
end component;
signal tsten1:std_logic;
signal clr_cnt1:std_logic;
signal load1:std_logic;
signal dto1:std_logic_vector(31 downto 0);
signal carry_out1:std_logic_vector(6 downto 0);
beginu1: ftctrl port map(clkk=>clk1hz,cnt_en=>tsten1,rst_cnt=>clr_cnt1,load=>load1);
u2: reg32b port map(lk=>load1,din=>dto1,dout=>dout);
u3: counter32b port map(fin=>fsin,clr=>clr_cnt1,enabl=>tsten1,dout=>dto1);
end struc;
1)新建设计及工程。
八位十六进制频率计由三个底层文件和一个顶层文件组成。三个底层文件分别为:测频控制电路文件,32位锁存器文件,32位计数器文件。
打开quartusⅱ,选择菜单file→new,新建每个底层文件及顶层文件vhdl file文件。
输入程序(程序见书本192-193页),选择file→s**e。在最后建立顶层文件时同时创建工程。
选择对应的fpga芯片。
2)程序编译及波形**。
对顶层文件的程序进行编译,选择processing→start compilation,开始编译。
新建波形**文件,new→vector w**eform file。
EDA课程设计
题目一 数字钟设计 学号1 15 一 实验目的。学习并掌握数字钟的原理 设计方法。二 实验内容。计数始终由模60秒计数器 模60分计数器 模24小时计数器 报时模块 分 时设定模块及输出显示模块构成。可以采用同步计数器或异步计数器设计方法。三 实验要求。计时范围为0小时0分0秒至23小时59分59秒...
eda课程设计
哈尔滨工业大学 威海 信电学院电子信息工程。一 软硬件介绍。1软件部分介绍。1.1 quartus ii 是altera公司的综合性pld fpga开发软件,支持原理图 vhdl veriloghdl以及ahdl altera hardware description language 等多种设计输...
eda课程设计
目录。1 引言 2 1.1 课程设计的目的与任务 2 1.2 课程设计的内容 2 1.3课程设计仪器设备 2 1.4 课程设计的题目 2 1.5 方案的选择 2 2设计方案 3 2.1 设计原理 3 2.2各功能模块的原理及其源程序 3 2.2.1控制模块 3 2.2.2分频模块 4 2.2.3计时...