当前位置:文档之家› FPGA课程报告1

FPGA课程报告1

FPGA课程报告1
FPGA课程报告1

基于DA 算法的FIR 滤波器设计报告

一、设计要求

1、FIR 指标要求

(1)要求滤波器实现线性相位;

(2)滤波器的系数与阶数自定,即单位脉冲响应序列自定;

2、设计技术要求

(1)要求对比在使用直接结构或者直接结构的转置结构实现的滤波器和使用分布式结构的实现性能区别,要求绘制所要实现滤波器的结构图;

(2)在使用DA 结构实现滤波器时,要求绘制DA 表(即系数查找表); 在使用DA 结构实现滤波器时,要求对比基于逻辑单元与基于EAB 时的资源使用情况;

(3)在使用DA 结构实现滤波器时,要求对在使用完全流水线字并行DA 结构情况下设计FIR 滤波器时消耗的FPGA 资源与没有使用时所消耗的资源做对比,并说明流水线技术的使用对实现性能的影响;

(4)要求使用Matlab 分析滤波器的时域与频域特性是否满足要求;

(5)要求使用一定类型FPGA 器件实现上述滤波器,至少做到功能仿真;

二、设计原理

1、FIR 滤波器原理;

数字滤波器可以有很多种分类方法,但总体上可分为两大类。一类称为经典滤波器,即一般的滤波器,其特点是输入信号中的有用成分和希望滤除的成分占用不同的频带,通过合适的选频滤波器可以实现滤波。另一类称为现代滤波器,其输入信号中有用信号和希望滤除的频带成分重叠。对于经典滤波器,从频域上也可以分为低通、高通、带通和带阻滤波器。从时域特性上看,数字滤波器还可以分为有限脉冲响应(FIR ,finite impulse response )数字滤波器和无限脉冲响应(IIR, infinite impulse response )数字滤波器。

对于有限脉冲响应(FIR )数字滤波器,其输出y(n)只取决于有限个过去和现在的输入,x(n),x(n-1),…,x(n -m),滤波器的输入输出关系可表示为

()()

M

r

r y n b x n r ==

-∑ (1-1)

FIR 滤波器的基本结构有以下几种:直接型、级联型、线性相位型、频率采样型。

(1)直接型

设FIR 滤波器的单位冲击响应h(n)为一个长度为N 的序列,则滤波器系统函数为:

1

()()N n

n H z h n z

--==

(1-2)

表示这一系统输入输出关系的差分方程为

1

()()()

N m y n h m x n m -==

-∑ (1-3)

直接由差分方程可得出对应的网络结构如图1-1所示:

1

-1

-1

-

图1-1 FIR 滤波器的直接型结构

直接型结构的优点:简单直观,乘法运算量较少。缺点:调整零点较难。 (2)级联型

当需要控制滤波器的传输零点时,可将H(z)分解为实系数二阶因子的乘积形

式: /2

1

2

0121

()()

N k

k k k H z z

z

β

ββ--==

++∏

(1-4)

式中,()H z 为()h n 的z 变换,

0k

β,

1k

β,

2k

β为实数。级联型结构如图1-2所示:

ββ02N β??

???

图1-2 FIR 滤波器的级联型结构

该结构的优点:调整零点比直接型方便。

缺点:()H z 中的系数比直接型多,因而需要的乘法器多。当()H z 的阶次高时,也不易分解。

(3)线性相位型结构

FIR 滤波器的线性相位结构有偶对称和奇对称,不论)(n h 为偶对称还是奇对

称都有:

当N 为偶数时,系统函数为

[

]

-=----±=

1

20

)

1()()(N n n N n

z

z

n h z H (1-5)

当N 为奇数时,系统函数为

[

]??

? ??---=----??

? ?

?-+±=

211

20

)

1(21)()(N N n n N n

z

N h z

z

n h z H (1-6)

对这两种情况,都可以用FIR 直接型实现,其信号流图如图1-3所示。

x(n)

y(n)

12H h ??- ???

1

-

(a)N 为偶数

x(n)

y(n)

1???

-

1

-1

-

(b)N 为奇数

图1-3 线性相位型结构

这种结构在本质上是直接型,但乘法次数比直接型省了一半。

(4)频率采样型

频率采样型结构是一种用系数将滤波器参数化的一种实现结构。一个有限长序列可以由相同长度频域采样值惟一确定。

系统函数在单位圆上作N 等分取样就是单位取样相应h(n)的离散傅里叶变换()H k 。()H k 与系统函数之间的关系可用内插公式表示:

1

()1

()()(1)

1N

k

N H k H z z

N W Z

---=-- (1-7)

式中

()1N

c H z z

-=-

1

()()1k k

N H k H z W Z

--=

-

这样,()

H z 是由梳状滤波器

()

c H z 和N 个一阶网络

()

k H z 的并联结构进行级联而

成的,其网络结构(信号流图)如图1-4所示。()

c

H z是一个梳妆网络,其零点

2

e x p()

k

N

W j k

N

π

-=

, k= 0, 1,2…,N-1

刚好和极点一样,等间隔地分布在单位圆上。理论上,极点和零点相互抵消,保证了网络的稳定性。

图1-4 FIR滤波器的频率采样结构

2、DA算法原理;

第一个讨论分布式算法(distributed arithmetic,DA)的可以追溯到1973年Cr0i Croisier的一篇论文,并由Peled和Liu来推广。但是直到FPGA出现以后,才在FPG计算乘积和中被广泛地应用。在FPGA 芯片设计中,分布式算法(distributed arithmetic,DA)是一种很重要的技术。它在乘积和的计算中已被广泛应用,为了理解DA算法设计原理,我们考虑有一个线性时不变网络的输出可以用下式表示:

假设系数c[n]是已知常数,x[n]是变量,在有符号DA系统中假设变量x[n]的表达式如下:

其中xb[n]表示x[n]的第b位,即x[n]是x第n个样点。所以,内积y 可以表示为:

我们重新分别求和次序(这就是分布式算法的由来),结果是:

y=(c[0]xB-1[0]+c[1]+……+c[N-1]xB-1[N-1])2B-1+(c[0]xB-2[0]+c[1]+……+c[N-1]

xB-2[N-1])2B-2 (2-4)

.

.

.

+(c[0]x0[0]+c[1]x0[1]+c[N-1]x0[N-1])20

用更紧凑的形式表示为:

从(2—4)式可以发现,分布式算法是一种以实现乘加运算为目的的运算方法。它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序不同。分布式算法在实现乘加功能时,是通过将各输入数据的每一对应位产生的部分积预先进行相加形成相应的部分积,然后再对各个部分积累加而得到最终的结果,而传统算法是等到所有乘积已经产生之后再来相加完成乘加运算的。与传统串行算法相比,分布式算法可极大地减少硬件电路的规模,提高电路的执行速度。

3、对使用的FPGA器件特点简介;

在本次试验中,使用的是Cyclone II。

随着低复杂度FPGA器件成本的不断下降,具有灵活性和及时面市优势的FPGA与ASIC相比更有竞争性,在数字消费市场上的应用也急剧增加。第一代Cyclone系列迄今发售了3百多万片,在全球拥有3,000多位客户,对大批量低成本数字消费市场有着巨大的影响,该市场消纳了三分之一的器件。根据Gartner Dataquest调查,在2004年光消费电子市场对FPGA需求就将达到3亿9千万美元,预计到2008年,将增加到11亿6千万美元,年复合增长率(CAGR)为31.9%。

同时,Cyclone II器件系列也在电信、计算机外设、工业和汽车市场上获得了巨大的进步。Cyclone II器件包含了许多新的特性,如嵌入存储器、嵌入乘法器、PLL和低成本的封装,这些都为诸如视频显示、数字电视(DTV)、机顶盒(STB)、DVD播放器、DSL调制解调器、家用网关和中低端路由器等批量应用进行了优化。

Cyclone II器件采用TSMC90nm低K绝缘材料工艺技术,这种技术结合Altera低成本的设计方式,使之能够在更低的成本下制造出更大容量的器件。这种新的器件比第一代Cyclone产品具有两倍多的I/O引脚,且对可编程逻辑,存储块和其它特性进行了最优的组合,具有许多新的增强特性。

Altera为配置Cyclone II FPGA提供了低成本的串行配置器件。这些串行配置器件定价为批量应用,成本是相应Cyclone II FPGA的10%。四个串行配置器件(1Mbit,4Mbit,16Mbit和64Mbit)提供了节省空间的8脚和16脚SOIC封装。器件中任何不用于配置的存储器可用于一般存储,进一步增强其价值。

Altera也为Cylcone II器件客户提供了40多个可定制IP核,Altera和Altera Megafunction伙伴计划(AMPPSM)合作者提供的不同的IP核是专为Cyclone II架构优化的,包括:Nios II嵌入式处理器;DDR SDRAM控制器;FFT/IFFT;PCI 编译器;FIR编译器;NCO编译器;POS-PHY编译器;Reed Solomon编译器;

Viterbi编译器等等。

4、说明软件Quartus-II与Matlab在设计滤波器中的应用;

Quartus-II软件在滤波器设计中主要通过硬件描述语言或是原理图方法设计滤波器,以实现实际滤波器的设计。同时在设计过程中能够通过功能或时序仿真验证滤波器的设计正确性。

Matlab软件在滤波器设计过程中主要用于算法的仿真验证。Matlab分析滤波器的时域与频域特性是否满足要求。

三、设计代码

1、LUT表

表2-1 LUT表

2、代码

(1)顶层模块设计

LIBRARY ieee; -- Using predefined packages

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_arith.ALL;

PACKAGE da_package IS -- User defined components

COMPONENT case3s

PORT ( table_in : IN STD_LOGIC_VECTOR(2 DOWNTO 0);

table_out : OUT INTEGER RANGE -2 TO 4);

END COMPONENT;

END da_package;

LIBRARY work;

USE work.da_package.ALL;

LIBRARY ieee; -- Using predefined packages

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_arith.ALL;

ENTITY dasign IS ------> Interface

PORT (clk : IN STD_LOGIC;

x_in0, x_in1, x_in2

: IN STD_LOGIC_VECTOR(3 DOWNTO 0);

y : OUT INTEGER RANGE -64 TO 63);

END dasign;

ARCHITECTURE flex OF dasign IS

TYPE STA TE_TYPE IS (s0, s1);

SIGNAL state : STA TE_TYPE;

SIGNAL table_in : STD_LOGIC_VECTOR(2 DOWNTO 0);

SIGNAL x0, x1, x2 : STD_LOGIC_VECTOR(3 DOWNTO 0);

SIGNAL table_out : INTEGER RANGE -2 TO 4;

BEGIN

table_in(0) <= x0(0);

table_in(1) <= x1(0);

table_in(2) <= x2(0);

PROCESS ------> DA in behavioral style

V ARIABLE p : INTEGER RANGE -64 TO 63;-- Temporary reg.

V ARIABLE count : INTEGER RANGE 0 TO 4; -- Counts the

BEGIN -- shifts

W AIT UNTIL clk = '1';

CASE state IS

WHEN s0 => -- Initialization step

state <= s1;

count := 0;

p := 0;

x0 <= x_in0;

x1 <= x_in1;

x2 <= x_in2;

WHEN s1 => -- Processing step

IF count = 4 THEN -- Is sum of product done?

y <= p; -- Output of result to y and

state <= s0; -- start next sum of product

ELSE

IF count = 3 THEN -- Subtract for last

p := p / 2 - table_out * 8; -- accumulator step

ELSE

p := p / 2 + table_out * 8; -- Accumulation for

END IF; -- all other steps

FOR k IN 0 TO 2 LOOP -- Shift bits

x0(k) <= x0(k+1);

x1(k) <= x1(k+1);

x2(k) <= x2(k+1);

END LOOP;

count := count + 1;

state <= s1;

END IF;

END CASE;

END PROCESS;

LC_Table0: case3s

PORT MAP(table_in => table_in, table_out => table_out);

END flex;

(2)LUT查询表

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

USE ieee.std_logic_arith.ALL;

ENTITY case3s IS

PORT ( table_in : IN STD_LOGIC_VECTOR(2 DOWNTO 0);

table_out : OUT INTEGER RANGE -2 TO 4);

END case3s;

ARCHITECTURE LCs OF case3s IS

BEGIN

-- This is the DA CASE table for

-- the 3 coefficients: 1, -2, 3

-- automatically generated with dagen.exe -- DO NOT EDIT!

PROCESS (table_in)

BEGIN

CASE table_in IS

WHEN "000" => table_out <= 0;

WHEN "001" => table_out <= 1;

WHEN "010" => table_out <= -2;

WHEN "011" => table_out <= -1;

WHEN "100" => table_out <= 3;

WHEN "101" => table_out <= 4;

WHEN "110" => table_out <= 1;

WHEN "111" => table_out <= 2;

WHEN OTHERS => table_out <= 0;

END CASE;

END PROCESS;

END LCs;

3、代码分析

四、仿真分析

1、功能仿真结果分析;

图3-1 时序图

令x[k]的值为:x[0]= 2 = 0010B ,x[1]= -5 = 1010 B,x[2]= 6 = 0110B。则数字校验结果为:c[0]x[0]+ c[1]x[1]+ c[2]x[2] = 2 + 10 + 18 = 30 = 0011110B。和仿真结果一致。

2、观察说明所实现的FIR 滤波器的RTL viewer

图3-2 RTL viewer 图

说明:该RTL viewer 充分展示了DA 算法设计的FIR 滤波器的实现框图,在时钟clock 的控制下FIR 滤波器通过多个寄存器并借助LUT 查询表实现对信号的滤波处理,通过改图知道本设计是利用流水线方式实现滤波器的,因此提高了运算速度同时也减少了MAC 的循环数。

五、Matlab 分析滤波器的时域与频域特性:

1

1.5

2

2.53

3.5

4

4.5x 10

-4

seconds

a m p l i t u d e

frequency

m a g n i t u d e

图3-3 Matlab 时、频分析

用Matlab 分析该3阶滤波器的时域和频域特性如上图所示(上方为时域特性,下方为频域特性)。

fpga数字钟课程设计报告

f p g a数字钟课程设计报告 Prepared on 24 November 2020

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

FPGA设计的报告课程设计

FPGA课程设计 实 验 报 告

实验一:设计一个可控的100进制可逆计数器 一、实验要求 用DE2-115开发板下载。 (1)计数器的时钟输入信号周期为200ns。 (2)以十进制形式显示。 (3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用 clr plus minus 功能 0 ××复位为0 1 1 0 递增计数 1 0 1 递减计数 1 1 1 暂停计数 二、关键词 可控制、可逆、100进制、复位、暂停、递增、递减 三、内容摘要 module updown_count(qout,reset,clk,plus,minus); output[7:0] qout;/*定义一个8位的输出,其目的是 低四位和高四位分别表示计数器的个位和十位。*/ input clk,plus,minus,reset;//定义四个输入,时钟,加计数,减计数和清零 reg[7:0] qout;//qout的数据类型为寄存器型 always @(posedge clk)//当clk上升沿到来时执行一遍下列程序 begin if(!reset) qout<=0;//当reset为低电平时,计数器执行清零功能,否则跳过else begin case({minus,plus})//case语句模块,包含加,减和暂停四个模块 2'b10: if (qout[3:0]==0)//判断个位是否为零,若不为零,跳到个位减一begin qout[3:0]<=9;//给个位赋值 if(qout[7:4]==0) qout[7:4]<=9;//判断十位是否为零,并且给十位赋值 else qout[7:4]<=qout[7:4]-1;//由于个位赋9,相当于向十位借一,因而十位减一end else qout[3:0]<=qout[3:0]-1;//个位减一 /*这一部分是减计数模块,其思路是:首先判断个位是否为零,若为零,则执行后面的程序,个位直接赋9,并且十位减一;否则个位减一*/ 2'b01: if (qout[3:0]==9)//判断个位是否为9,否则跳到个位加一begin

FPGA课程设计报告

F P G A 课 程 设 计 报 告 学部:信息科学与技术学部 专业:通信工程 班级:10级1班 学号:100103011125 姓名:万洁 指导老师:祝宏 合作伙伴:张紫君 2012.12.13

一.《任务书》: 实验一100进制的可逆计数器(11——12周)实验二交通灯控制系统(15周) 实验三多功能数字钟系统(14-15周)二.实验书写格式: 一:题目要求 二:程序代码 三:操作步骤及运行结果截图 四:心得体会 三.实验附录: 一:老师提供的资源 二:关于实验所用EP4CE115F29板的简介

实验一100进制的可逆计数器 一、设计一个可控的100进制可逆计数器,要求用实验箱下载。 (1)计数器的时钟输入信号周期为200ns。 (2)以十进制形式显示。 (3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。 clr plus minus 功能 0 ××复位为0 1 1 0 递增计数 1 0 1 递减计数 1 1 1 暂停计数 二、程序如下: module keni100(CLR,CLK,PLUS,MINUS,OUT); //100进制的可逆计数器 input CLR,PLUS,MINUS,CLK; output [7:0]OUT; reg [7:0]OUT; always@(posedge CLK) begin if(!CLR) //如果CLR为零,输出为零;反之,运行else程序 OUT[7:0]<=0; else

begin if(PLUS==0 && MINUS==1) //100进制的递减计数 begin if (OUT[3:0]==0) begin OUT[3:0]<=9; if (OUT[7:4]==0) OUT[7:4]<=9; else OUT[7:4]<=OUT[7:4]-1; end else OUT[3:0]<=OUT[3:0]-1; end if(PLUS==1 && MINUS==0) //100进制的递增计数 begin if (OUT[3:0]==9) begin OUT[3:0]<=0; if (OUT[7:4]==9) OUT[7:4]<=0; else OUT[7:4]<=OUT[7:4]+1; end else OUT[3:0]<=OUT[3:0]+1; end if(PLUS==1 && MINUS==1) OUT<=OUT; //若PLUS和MINUS都为1,暂停计数 if(PLUS==0 && MINUS==0) OUT<=0; //若都为零,输出为零end end endmodule 三、运行程序 1、在quarters II9.1输入程序 打开quarters II界面,点击file→New,在出现的对话框,如图1.1所示,选择Text File,点击OK.

FPGA课程设计题目

1、彩灯控制器设计 内容及要求: 设计一个彩灯控制器,具体设计要求如下: (1)要有多种花型变化(至少设计5种),led至少16路 (2)多种花型可以自动变化 (3)彩灯变换的快慢节拍可以选择 (4)具有清零开关 (5)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 2、数字秒表设计 内容及要求: 设计一用于体育比赛的数字秒表,具体设计要求如下: (1)6位数码管显示,其中两位显示min,四位显示see,显示分辨率为0.01 s。 (2)秒表的最大计时值为59min59.99see。 (3)设置秒表的复位/启动键,按一下该键启动计时,再按即清0。依此循环。 (4)设置秒表的暂行/继续键。启动后按一下暂行,再按继续。依此循环。 (5)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 3、交通信号控制系统设计 内容及要求: 设计一个十字路口交通控制系统,具体设计要求如下: (1)东西(用A表示)、南北(用B表示)方向均有绿灯、黄灯、红灯指示,其持续时间分别是40秒、5秒和45秒, 交通灯运行的切换示意图和时序图分别如图1、图2所示。 (2)系统设有时钟,以倒计时方式显示每一路允许通行的时间。 (3)当东西或南北两路中任一路出现特殊情况时,系统可由交警手动控制立即进入特殊运行状态,即红灯全亮,时钟停止计时,东西、南北两路所有车辆停止通行;当特殊运行状态结束后,系统恢复工作,继续正常运行。 图1 交通灯运行切换示意图

B红 CP A绿 A黄 A红 B黄 B绿 5S 5S 图2 交通灯时序图 (4)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 4、简易密码锁设计 内容及要求 设计一个4位串行数字锁。 (1)开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮一个指示灯。否则进入“错误”状态,并发出报警信号。 (2)锁内的密码可调,且预置方便,保密性好。 (3)串行数字锁的报警由点亮一个灯,直到按下复位开关,报警才停下。此时,数字锁又自动等待下一个开锁状态。 (4)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 5、出租车计价器设计 内容及要求 (1)设一个出租车自动计费器,计费包括起步价、行驶计费和等待计费三个部分,用4个数码管显示出金额数目,最大值为999.9元,最小计价单位为0.1元。行驶里程在3公里范围内且等待时间未超过三分钟时按起步价8元计费;行驶里程超过三公里后按每公里2元收费;等待时间超过三分钟后按每分钟1元收费。等待时间用两个数码管显示,最大值为59分钟。 总费用=起步价+(里程-3km )*里程单价+(等待时间-3)*等候单价 (2)能够实现的功能: 显示汽车行驶里程:用四位数字显示,单位为km 。 计程范围为0~99km ,计程分辨率为1km 。 显示等候时间:用两位数字显示分钟,单位为min 。计时范围为0~59min ,计时分辨率为1min 。

FPGA课程设计报告--简易电子琴的设计

邮电大学 FPGA课程设计报告 题目:简易电子琴设计及FPGA功能验证 院系: 专业班级: 学生:XX 导师:XX 起止时间:2012、6、18至2012、6、29

一、课程设计任务: 本设计一个简易电子琴,具体功能如下: 1、具有手动弹奏和自动播放功能; 2、以按键或开关作为电子琴的琴键,输出7个音节的音阶; 3、可以自动播放曲目至少两首。 二、课程设计目的: 1、培养综合运用知识和独立开展实践创新的能力; 2、深入学习Verilog HDL,了解其编程环境; 3、学会运用Modelsim和Quartus II等编程仿真软件; 4、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL的学习; 三、使用环境: 1、软件:Modelsim和Quartus II等编程仿真软件; 2、硬件:FPGA开发板。 四、课程设计详细方案及功能验证: 1、总体实现方案: 1、简易电子琴的设计通过软硬件结合实现,硬件系统包括主控器芯片、9个按键、LED、蜂鸣器等,软件资源包括编写Verilog HDL程序的应用软件Modelsim和仿真软件Quartus II。电子琴有按键代替琴键的弹奏功能和自动播放功能。 2、整个程序总共分5个模块:主模块,按键模块,曲目1模块,曲目2模块,

曲目3模块。 整个方案总共用了9个按键(key1~key9),按键key1~key7作为琴键,通过这七个按键键入不同的音阶。主模块中key8、key9两个按键用于选择是自动播放还是弹奏曲目,令mm=(key8、key9),用mm值的不同选择调用不同模块。如果mm=00,则程序调用按键模块;如果mm=01,则调用曲目1模块,播放曲目1;如果mm=10,则调用曲目2模块,播放曲目2;如果mm11,则调用曲目3模块,播放曲目3。 本次设计的框图:

FPGA课程设计报告--简易电子琴的设计[1].doc

西安邮电大学 FPGA课程设计报告 题目:简易电子琴设计及FPGA功能验证 院系: 专业班级: 学生姓名: XX 导师姓名: XX 起止时间: 2012、6、18至2012、6、29

一、课程设计任务: 本设计一个简易电子琴,具体功能如下: 1、具有手动弹奏和自动播放功能; 2、以按键或开关作为电子琴的琴键,输出7个音节的音阶; 3、可以自动播放曲目至少两首。 二、课程设计目的: 1、培养综合运用知识和独立开展实践创新的能力; 2、深入学习Verilog HDL,了解其编程环境; 3、学会运用Modelsim和Quartus II等编程仿真软件; 4、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL的学习; 三、使用环境: 1、软件:Modelsim和Quartus II等编程仿真软件; 2、硬件:FPGA开发板。 四、课程设计详细方案及功能验证: 1、总体实现方案: 1、简易电子琴的设计通过软硬件结合实现,硬件系统包括主控器芯片、9个按键、LED、蜂鸣器等,软件资源包括编写Verilog HDL程序的应用软件Modelsim和仿真软件Quartus II。电子琴有按键代替琴键的弹奏功能和自动播放功能。 2、整个程序总共分5个模块:主模块,按键模块,曲目1模块,曲目2模块,曲目3模块。 整个方案总共用了9个按键(key1~key9),按键key1~key7作为琴键,通过这七个按键键入不同的音阶。主模块中key8、key9两个按键用于选择是自动播放还是弹奏曲目,令mm=(key8、key9),用mm值的不同选择调用不同模块。如果mm=00,则程序调用按键模块;如果mm=01,则调用曲目1模块,播放曲目1;如果mm=10,则调用曲目2模块,播放曲目2;如果mm11,则调用曲目3模块,播放曲目3。 本次设计的框图:

fpga课程设计报告

第一部分 EDA技术的仿真 1、奇偶校验位产生器 1.1奇偶校验位的技术要求 奇偶校验是通信中常用的一种数据校验方式,试设计一个奇偶校验位产生器,根据输入字节(8位)产生相应的奇偶校验位(1的个数为奇数时输出低电平,即奇校验位为1)和偶校验位(1的个数为偶数时输出高电平,即偶校验位为1) 1.2奇偶校验位的原理 通过计算数据中“1”的个数是奇数还是偶数来判断数据的正确性。在被校验的数据后加一位校验位或校验字符用作校验码实现校验。 其生成方法是: 奇校验:确保整个被传输的数据中“1”的个数是奇数个,即载荷数据中“1”的个数是奇数个时校验位填“0”,否则填“1”; 偶校验:确保整个被传输的数据中“1”的个数是偶数个,即载荷数据中“1”的个数是奇数个时校验位填“1”,否则填“0”。 1.3奇偶校验位的功能及其仿真波形 奇偶校验位的功能具体见下表所示: 输入8位的二进制序列奇校验位 even 偶校验位 odd 1 1 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 其具体实现程序如下所示: module parity(data,odd,even); input [0:7]data; output odd,even; assign odd=^data; assign even=~odd; endmodule 根据程序我们得到如下的仿真波形: 图1 奇偶校验位仿真波形 中国计量学院信息工程学院课程设计报告P.2

2、十六位数据选择器 2.1数据选择器的原理 在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,数据选择器(MUX)的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号。 在数据选择器中,我们设定一个控制输入端ENA ,当ENA=1时,电路不能工作,输出Y=0;而当ENA=0时,电路才处于工作状态。由于我们设计的是16选1数据选择器,因而其有4个数据控制端,即S0,S1,S2,S3,根据这4个控制端的状态有选择性的输出。 2.2数据选择器的实现电路图 我们知道一个16选1的数据选择器是由5个4选1的数据选择器组成的,4选1的基本电路如下图所示: W[0..3]S[1..0] ENA f mux_4 inst2 在左图中,ENA 为使能控制输入端,低 电平有效,S 为两位的数据控制端,W 为输入端,f 为输出端。有上述4选1的原理图我们可以得到16选1的原理图: W[0..3]S[1..0]ENA f mux_4 inst W[0..3]S[1..0]ENA f mux_4 inst1 W[0..3]S[1..0]ENA f mux_4 inst2 W[0..3]S[1..0]ENA f mux_4 inst3 W[0..3]S[1..0]ENA f mux_4 inst4S3\32控制端 S1\S0控制端 图2 16选1数据选择器原理图 2.3数据选择器的功能仿真

FPGA课程设计报告

F P G A课程设计报告 (实现多功能数字钟) 专业班级: 07通信2班 姓名:朱绍兴 学号:0701******** 时间:2009.12.30

一、标题:设计多功能数字钟控制电路 二、任务书:用MAX+PLU SⅡ软件及Verilog HDL语言设计 一个多功能的数字钟,包括有时、分、秒的计 时,以及校时(对小时、分钟和秒能手动调整 以校准时间)、正点报时(每逢整点,产生“嘀 嘀嘀嘀-嘟”,4短一长的报时音)等附加功能。 三、关键词:24进制、60进制、正点报时、校时、数字钟 四、总体方案:多功能数字钟控制电路框图是由三部分组成 的,即秒分时控制电路、整点报时控制电路、 时段控制电路。用Verilog HDL硬件描述语 言完成编译和仿真。 五、原理框图如下: ↓ ↓ ↓

六、Verilog HDL硬件描述语言编写的功能模块: /*秒计数器m60*/ module m60(M,CP60M,CPM,RD); output [7:0]M; output CP60M; input CPM; input RD; reg [7:0]M; wire CP60M; always@(negedge RD or posedge CPM) begin if(!RD) begin M[7:0]<=0; end else begin if((M[7:4]==5)&&(M[3:0]==9)) begin M[7:0]<=0; end else begin if(M[3:0]==9) begin M[3:0]<=0; if(M[7:4]==5) begin M[7:4]<=0;end else M[7:4]<=M[7:4]+1; end

FPGA课程设计(最终版)

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 电子琴的设计 课程设计目的: 《FPGA原理与应用》课程设计的目的是为了让学生熟悉基于VHDL语言进行FPGA开发的全流程,并且利用FPGA设计进行专业课程理论知识的再现,让学生体会EDA技术的强大功能,为今后使用FPGA进行电子设计奠定基础。 课程设计内容和要求 设计内容: (1)设计一个八音电子琴。 (2)由键盘输入控制音响,同时可自动演奏乐曲。 (3)用户可以将自己编制的乐曲存入电子琴,演奏时可选择键盘输入乐曲或者已存入的乐曲。 要求每个学生单独完成课程设计内容,并写出课程设计说明书、说明书应该包括所涉及到的理论部分和充足的实验结果,给出程序清单,最后通过课程设计答辩。 时间安排: 所需时 序号阶段内容 间 1 方案设计1天 2 软件设计2天 3 系统调试1天 4 答辩1天 合计5天 指导教师签名:年月日

系主任(或责任教师)签名:年月日

目录 摘要 (1) Abstract (2) 1设计意义和要求 (3) 1.1设计意义 (3) 1.2功能要求 (3) 2方案论证及原理分析 (4) 2.1实现方案比较 (4) 2.2乐曲实现原理 (4) 2.3系统组成及工作原理 (6) 3系统模块设计 (8) 3.1顶层模块的设计 (8) 3.2乐曲自动演奏模块的设计 (8) 3.3音阶发生器模块的设计 (9) 3.4数控分频器模块的设计 (9) 4程序设计 (11) 4.1VHDL设计语言和ISE环境简介 (11) 4.2顶层模块的程序设计 (12) 4.3乐曲自动演奏模块的程序设计 (13) 4.4音阶发生器模块的程序设计 (13) 4.5数控分频模块的程序设计 (14) 5设计的仿真与实现 (15) 5.1乐曲自动演奏模块仿真 (15) 5.2音调发生模块仿真 (18) 5.3数控分频模块仿真 (19) 5.4电子琴系统的仿真 (20) 5.5设计的实现 (22) 5.6查看RTL视图 (23) 5.7查看综合报告 (25) 6心得体会 (31) 7参考文献 (32) 8附录 (33)

FPGA课程设计报告

FPGA课程设计报告 题目:基于CPLD的 1602字符液晶显示系统设计院系:信息与电气工程学院 班级:电子信息工程 学号: 学生姓名: 指导教师: 成绩: 2011 年7 月

基于CPLD的1602字符液晶显示系统设 计 一. 设计题目: 基于CPLD的1602 字符液晶显示系统设计 二.设计要求技术指标: 要求用1602 液晶显示字符; 显示内容:学号+英文姓名; 显示方式:流动显示,开关控制字符 流动速度及方向;具有暂停和清 屏的功能; 三.设计平台: QUARTUSII软件MARS-1270 CPLD 1602 液晶 四.设计思路与设计步骤: 液晶指令介绍: 要想控制1602 液晶显示字符,首先需要弄清 楚1602 有那些可控管脚, 有哪些控制命令,如何控制其显示,如何控制其移动及如何控制其移动速度及方 (1)接口说明:

(2)基本操作时序: A. 读状态:输入:RS=L,RW=H,E=H,输出:D B0--DB7=状态字 B.写指令:输入:RS=L,RW=L,E=下降沿脉冲, DBO--DB7=指令码, 输出:无 C.读数据:输入:RS=H,RW=H,E=H输出:, D B0--DB7=数据 D.写数据:输入:RS=H,RW=L,E=下降沿脉冲, DBO--DB7=数据, 输出:无 (3)指令集及其设置说明: A. 清屏指令: 功能:<1> 清除液晶显示器即将DDRAM的内容全部填入"空白"的ASCII码20H; <2> 光标归位,即将光标撤回液晶显示屏的左上方; <3> 将地址计数器(AC)的值设为0。 B.进入设置模式指令: 功能:设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个 字符是否移动。参数设定的情况如下所示: 位名设置 I/D 0= 写入新数据后光标左移1= 写入新数据后光标右移

FPGA抢答器设计报告

Vb开办上海电力学院 课程设计报告 信息工程系 抢答器设计报告 一、设计目的: 本课程的授课对象是电子科学与技术专业本科生,是电子类专业的一门重要的实践课程,是理论与实践相结合的重要环节。 本课程有助于培养学生的数字电路设计方法、掌握模块划分、工程设计思想与电路调试能力,为以后从事各种电路设计、制作与调试工作打下坚实的基础 二、实验器材和工具软件: PC机一台、QuartusII软件、DE2板。 三、设计内容: (1)抢答器可容纳四组12位选手,每组设置三个抢答按钮供选手使

用。 (2)电路具有第一抢答信号的鉴别和锁存功能。在主持人将系统复位并发出抢答指令后,蜂鸣器提示抢答开始,时显示器显示初始时间并开始倒计时,若参赛选手按抢答按钮,则该组指示灯亮并用组别显示器显示选手的组别,同时蜂鸣器发出“嘀嘟”的双音频声。此时,电路具备自锁功能,使其它抢答按钮不起作用。 (3)如果无人抢答,计时器倒计时到零,蜂鸣器有抢答失败提示,主持人可以按复位键,开始新一轮的抢答。 (4)设置犯规功能。选手在主持人按开始键之前抢答,则认为犯规,犯规指示灯亮和显示出犯规组号,且蜂鸣器报警,主持人可以终止抢答执行相应惩罚。 (5)抢答器设置抢答时间选择功能。为适应多种抢答需要,系统设有10秒、15秒、20秒和3O秒四种抢答时间选择功能。 四、设计具体步骤: 首先把系统划分为组别判断电路模块groupslct,犯规判别与抢答信号判别电路模块fgqd,分频电路模块fpq1,倒计时控制电路模块djs,显示时间译码电路模块num_7seg模块,组别显示模块showgroup 模块这六个模块,各模块设计完成后,用电路原理图方法将各模块连接构成系统。 各模块功能及代码: 1、组别判别模块 (1)功能:可容纳四组12位选手,每组设置三个抢答按钮供选手使用。若参赛选手按抢答按钮,则输出选手的组别。此时,电路具

FPGA课程设计报告

Shenyang Agricuttural University FPGA课程设计报告 题目:基于CPLD的1602字符液晶显示系统设计院系: _________ 信息与电气工程学院___________ 班级: __________________ 电子信息工程_________ 学号:____________________________________________ 学生姓名:_________________________________________ 指导教师:_________________________________________ 成绩:____________________________________________ 2011年7月

基于CPLD勺1602字符液晶显示系统设计 一.设计题目: 基于CPLD勺1602字符液晶显示系统设计 二?设计要求技术指标: 要求用1602液晶显示字符; 显示内容:学号+英文姓名; 显示方式:流动显示,开关控制字符流动速度及方向;具有暂停和清屏的 功能; 三?设计平台: QUARTUSII 6.0软件MARS-1270 CPLD 1602 液晶 四?设计思路与设计步骤: 1.1602液晶指令介绍: 要想控制1602液晶显示字符,首先需要弄清楚1602有那些可控管脚,有哪些控制命令,如何控制其显示,如何控制其移动及如何控制其移动速度及方向等,下面首先介绍一下我所要用的指令及管脚等。 (1)接口说明: (2)基本操作时序: A. 读状态:输入:RS=L RW=H,E=H,输出:DB0--DB7= 犬态字

FPGA课程设计报告

课程设计 开课学期: 2014年—2015年下学期 课程名称:FPGA课程设计 学院:信息科学与工程学院 专业:集成电路设计与集成系统 班级:集成1201班 学号:20121221077 姓名:蔚 任课教师:涛 2015 年 7 月 21 日

基于FPGA的数字钟设计 摘要 本文介绍一种利用现场可编程逻辑器件FPGA产生多功能数字钟的设计方案。数字钟是采用数字电路实现对时、分、秒数字显示的计时装置,是人们日常生活中不可少的必需品。 本设计采用EDA技术,以硬件描述语言Verilog为系统逻辑描述手段设计文件,在Quartus II工具软件环境下,由各个基本模块共同构建了一个基于FPGA的数字钟。 系统由时钟模块、控制模块、计时模块、数据译码模块、显示以及报时模块组成。经编译和仿真所设计的程序,在可编程逻辑器件上下载验证。开发板采用5CSEMA5F31C6N。本次设计的多功能数字钟,具有时、分、秒的数码管显示功能,以24小时循环计数,具有整点报时功能,并有由按键输入进行数字钟的校时、清零、启停功能。 关键词:可编程逻辑器件 FPGA Verilog 数字钟 EDA技术

Abstract This paper introduces a kind of based on field programmable logic device FPGA design of multi-function digital clock, the digital clock is used in digital circuits, and seconds digital display timing device is in people's daily life necessities. This design using EDA technology, hardware description language Verilog logic system description method of design documents, in the Quartus II software environment, by all the basic modules together to build a a FPGA based digital clock. System consists of the clock module, control module, time module, data decoding module, display and broadcast module composition. Program after compilation and simulation design, programmable logic device to download verification. Development board using the multi-function digital clock 5CSEMA5F31C6N. this design, with time, points, the second digital tube display, to a 24-hour cycle count, with the whole point timekeeping function and input by the key of the school of digital clock, clear, open and stop function. Key words: programmable logic device FPGA Verilog Digital cloc EDA Technology

FPGA课程设计报告书模板

FPGA课程设计(报告) 题目: 学院:电子工程学院 系部:微电子学系 专业班级:微电子1702 学生姓名: 指导教师:李哲 起止时间:2020年06月01日—2020年06月12日

目录 1.课程设计题目及要求 (4) 1.1设计题目:基于FPGA的波形产生器。 (4) 1.2设计内容 (4) 1.3基本功能 (4) 1.4课程设计目的 (5) 1.5已完成功能 (5) 2.系统设计 (5) 3. FPGA设计 (6) 3.1设计思路 (6) 3.2顶层模块设计 (7) 3.3方波产生模块 (8) 3.4 锯齿波产生模块 (8) 3.5 三角波产生模块 (8) 3.6 正弦波ROM模块 (8) 3.7 DAC模块 (9) 9 (9) 4.2波形选择器 (9) 4.3 D/A转换器 (9) 4.4低通滤波器 (9) 5.模块划分 (10) 5.1 模块概述 (10) 5.2时钟控制模块 (10) 5.3 相位控制模块 (11) 5.4偏移控制模块 (12) 5.5 波幅控制模块 (13) 5.6 波形ROM定制模块 (13) 5.7波形数据产生模块 (14) 6.仿真 (14) 7 心得体会 (14) 8 参考文献 (15) 9附录 (15)

1.课程设计题目及要求 1.1设计题目:基于FPGA的波形产生器。 1.2设计内容 通过的以Xilinx Spartan 3E实验板为控制核心,用直接数字频率合成技术(DDS),经板上DA转换输出模拟信号,实现频率和输出电压峰-峰值都可调。 1.3基本功能 1)具有产生正弦波、方波、三角波三种周期性波形的功能。 2)输出波形的频率范围为100Hz-20kHz(非正弦波频率按10次谐波计算)。重复频率可调,频率步进间隔≤100Hz。 3) 输出波形幅度范围0-3V(峰峰值),可按步进0.1V(峰峰值)调整。 4)由外界按键输入选择产生波形的种类、频率与幅度。 5)界面显示输出波形的类型、重复频率(周期)和幅度等信号参数。 在完成基本功能的基础上,本系统还可以完成以下扩展功能: 1)扩展输出波形频率范围1Hz-100KHz,频率步进间隔最小为 1Hz。 2)扩展能生成其他波形,如锯齿波。 3)方波占空比可调。

课程设计fpga密码锁

FPGA实验报告

一、实验目的 1.设计一个密码锁 2.加深FPGA电路原理的理解 3.掌握VHDL语言的使用,学会用VHDL语言来编程解决实际问题 4.学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧 5.学会应用开发系统实现硬件电路,检验电路的功能 二、实验内容 题目:电子密码锁 内容:设计一个4位串行数字锁 1.开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁。否则进入“错误”状态,发出报警信号。 2.锁内的密码可调,且预置方便,保密性好。 3.串行数字锁的报警,直到按下复位开关,才停下。此时,数字锁又自动等待下一个开锁状态。 三、实验步骤 1.系统总框图 本系统的硬件部分主要由密码锁按键消抖模块,密码输入比较更改模块,密码显示模块、报警模块组成。整体系统框图如下图所示。

2.密码锁的主要功能 密码锁控制器的主要功能有: (1)密码输入:有二个按键来控制(分别代表0和1),每按下一个键,要求在数码管上显示,并依次左移。 (2)密码校验:如果有按键按下,直到松开该按键,如果密码校验正确,无变化,否则如果密码校验错误蜂鸣器响,表明密码错误。(3)错误报警:密码输入错误开始报警。 (4)密码修改:输入密码正确后按按键输入要设置和更改的密码,按按键确认密码设置与更改,则密码设置成功。 3.密码锁的各个模块 (1)按键消抖。 每按下一个键,仅产生一个信号脉冲,作为按键的使能信号,使能信号控制显示的数字。 (2)密码输入比较 密码输入值的比较主要有两部分,密码位数和内容,任何一个条件不满足,都不能打开锁。锁内密码为“0000”, key2 和key1 置低电平,分别表示输入“1”和“0”。输入密码前先按start键,再依次正确输入0000,会在数码管逐一显示,按确认键,经检验,输入的密

课程设计报告FPGA

课程设计报告 自动售货机 学院:电子与通信工程学院 班级:微电子1 班姓名: 刁飞鹏 学号:09110038

自动售货机设计 任务分析 任务要求利用开发系统板,设计一个自动售货机控制芯片。自动 售货机平时处于待机状态,当有钱投入之后开始工作。利用三个按键作为投币信号,分别代表投币5元、10元、20元,投入钱币以后, 采用七段数码管显示投入的金额;利用另外4个按键代表4种货物, 可以在售货机上选择购买的货物,假设4 种货物的售价分别为3元、 6 元、10元、17元。选择了货物之后,七段数码管显示购物之后的 找币余额,并且用LED数码管指示灯显示是否有足够的金额购买, 如果投币不够,报警指示灯亮起,并且显示余额为零。选择了购买 物品之后,可以按键出货或者余额不足退币。 系统的输入信号包括8 个按键开关、时钟信号,输出部分有2 个LED、4个七段数码管,系统框图如图所示。 自动售货机控制芯片的外部时钟由晶振产生,该开发板系统实例中晶振频率为50Mhz。

系统设计 自动售货机控制芯片系统结构框图如图所示,包括三个模块:分频器模块、核心控制模块和按键与七段数码管控制模块。其中,分 频器模块主要用于产生供按键、七段数码管扫描的时钟,这个扫描时钟的周期应该大约为0.01~0.001s。同时,这个分频时钟也可用于 核心模块的基本控制,由于扫描时钟要和按键、七段数码管控制电路构成一个同步电路,因此,必须使用同一个分频时钟。 核心控制模块的作用主要是控制系统的状态。系统一共有三种状 态,需要使用两位状态寄存器存储状态数据,每个状态之间的转换 由外部按键控制,在每一个状态下,有不同的七段数码管和指示灯的输出。 按键和数码管显示控制电路是对外部的矩阵按键以及动态显示硬件进行驱动,该模块对矩阵按键进行扫描,输出经过扫描之后的

FPGA课程设计报告

FPGA课程设计报告

多功能数字钟电路设计报告 任务书 设计一个具有时、分、秒计时的电子钟电路,按24小时制计时。要求: 1.准确计时,以数字形式显示时、分、秒的时间; 2.具有分、时校正功能,校正输入脉冲频率为1Hz; 3.具有仿广播电台整点报时的功能,即每逢59分51秒、53秒、55秒、57秒时发出4声500Hz低音,在59分59秒发出一声1KHz高音,它们的持续时间均为1秒,最后一声高音结束时刻恰为正点时刻; 4.具有定时闹钟功能,且最长闹铃时间为1分钟。要求可任意设置闹钟的时、分;闹铃信号为500Hz和1KHz的方波信号,交替输出,且均持续1秒。设置一个停止闹铃控制键,可以停止输出闹铃信号。 摘要 数字钟是一种用数字电路技术实现日、时、分、秒计时的装置,与传统的机械式时钟相比,具有更高的准确性和直观性,且无机械传动装置,具有更更长的使用寿命,因此得到了广泛的使用。小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数

显电子钟。 本课程设计要用通过简单的逻辑芯片实现数字时钟。要点在于用555芯片连接成输出一秒的多谐振荡器用于时钟的秒脉冲,用74LS90(10进制计数器)74LS192(4位二进制计数器)等连接成60和12进制的计数器,再通过七段数码管显示,外加上校时电路和整点报时电路即构成了简单数字钟。扩展电路可实现定点报时功能。 原理图 概述 (一)、分频器: 分频器的作用是将脉冲频率调整为500Hz和1kHz两种脉冲频率,作为适中的输入信号。

其Verilog语言描述为:module divider(f,_500HzOut,_1KHzOut, ncR,CLOCK_50,s); input ncR,CLOCK_50,s; output _500HzOut,_1KHzOut,f; wire _1HzOut,_5HzOut; assign f=s?_5HzOut:_1HzOut; divn #(.WIDTH(26),.N(50000000)) u0(.clk(CLOCK_50), .rst_n(ncR), .o_clk(_1HzOut) ); divn #(.WIDTH(17),.N(100000)) u1(.clk(CLOCK_50), .rst_n(ncR), .o_clk(_500HzOut) ); divn #(.WIDTH(16),.N(50000)) u2(.clk(CLOCK_50), .rst_n(ncR), .o_clk(_1KHzOut)

fpga数字钟课程设计报告

f p g a数字钟课程设计报 告 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

fpga数字钟课程设计报告

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 学号:20133638 姓名:王一丁 指导教师:李世平 设计时间:2016年1月

摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟

目录 摘要 1 课程设计目的 2 课程设计内容及要求 2.1 设计任务 2.2 设计要求 3 VHDL程序设计 3.1方案论证 3.2 系统结构框图 3.3设计思路与方法 3.3.1 状态控制模块 3.3.2 时分秒模块 3.3.3 年月日模块 3.3.4 显示模块 3.3.5脉冲产生模块 3.3.6 扬声器与闹钟模块 3.4 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献

1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。 2 课程设计内容及要求 2.1 设计任务 (1)6个数字显示器显示时分秒,setpin按键产生一个脉冲,显示切换为年月日。 (2)第二个脉冲可预置年份,第三个脉冲可以预置月份,依次第四、 五、六、七个脉冲到来时分别可以预置时期、时、分、秒,第八个脉冲到来后预置结束正常从左显示时分秒。 (3)up为高时,upclk有脉冲到达时,预置位加一,否则减一。 2.2 设计要求 (1)在基本功能的基础上,闹钟在整点进行报时,产生一定时长的高电平。 (2)实现闹钟功能,可对闹钟时间进行预置,当达到预置时间时进行报时。

相关主题
文本预览
相关文档 最新文档