黄冈师院物科院。
eda技术》课程设计报告。
项目名称: 多功能彩灯控制电路设计。
专业年级:电子信息工程2009级。
学号: 201122220324
学生姓名: 易鹏。
指导教师: 冯杰。
报告完成日期 2011 年 12 月 25日。
第一章绪论。
1.1系统背景。
1.1.1 eda技术特点及在电子技术中的应用:
eda技术是在电子cad技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。电子设计自动化工程是近几年迅速发展起来的计算机软件、硬件、微电子交叉的现代电子设计学科,它是以eda软件工具为开发环境,以硬件描述语言为设计语言,以可编程器件为实验载体,以专用集成电路(asic)、片上系统(soc)芯片为器件目标,以电子系统设计为应用方向的电子产品自动化设计过程[1]。利用eda工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出ic版图或pcb版图的整个过程在计算机上自动处理完成。
现代eda技术是采用高级语言描述,具有系统级**和综合能力,它主要采用并行工程(concurrent engineering)设计和自顶向下(top-down)设计方法,其基本思想是从系统总体要求出发,分为行为描述、寄存器传输级描述、逻辑综合三个层次,将设计内容逐步细化,最后完成整体设计,这是一种全新的设计思想与设计理念。
随着电子工程与计算机科学(eecs)的迅猛发展,数字电路系统的发展也十分迅速。电子器件在最近几十年经历了从小规模集成电路(ssi)、中规模集成电路(msi)到大规模集成电路(lsi)以至超大规模集成电路(vlsi)的发展历程。从简单可编程器件到高密度可编程器件,设计方法也在从根本上发生转变,由原来的手工设计到现在的电子设计自动化(eda)设计。
为了提高系统的可靠性与通用性,微处理器和专用集成电路(asic)逐渐取代了通用全硬件lsi电路,可编程逻辑器件(pld)尤其是现场可编程逻辑器件(fpld)被大量地应用在asic的制作中,在可编程集成电路的开发过程中,eda技术的出现带来了电子系统设计的革命性变化。
1.1.2 课程设计内容及目标效果:
运用eda技术设计一个具有多种状态效果的跑马灯——要求16个二极管具有4种不同的闪烁效果,其中第。
一、二、三种状态只要求有一种闪烁状态,第四种效果是把前三种效果再循环一次,即当到达第四种效果时,会依次从第一种效果执行到第三种效果,执行完成后再进入下一个循环。
第二章系统电路设计。
2.1系统总体设计框架结构。
2.2系统硬件单元电路设计。
2.2.1 分频器电路。
通过vhdl语言讲系统自带的时钟进行不同程度的分频,即改变系统时钟的时钟周期,在这里,我们的3个分频器分别为分频。
clk2、clk4、clk8:输出信号即为分频模块对输入信号clk的分频,分别为1/4分频输出、1/6分频输出、1/8分频输出。
2.2.2 多路选择器。
多路选择就是选择时钟的一个控制器,可以由2根线来控制它来选择不同的4种时钟。
a、b、c、d:输入信号,接分频器的输出。
s[1..0]:输入信号接4进制计数器的输出用来控制选择器的选择不同的输入选择不同的输出。
y:输出信号直接接输出led
2.2.3 译码器电路。
因为要让16个二极管有4种不同的点亮状态,所以译码器必须要能够译码出至少48种不同的码。里面还包含彩灯控制模块用来直接控制彩灯的输出,使彩灯表现出不同的花样。
lck:输入信号,用来给模块提供工作频率。
k[1..0]:输入信号,不同的输入使彩灯有不同的输出即彩灯显示出不同。
led[15..0]: 输出信号直接与彩灯相连来控制彩灯。
2.3系统硬件总电路。
第三章系统软件设计。
3.1系统程序设计。
3.11 2进制计数器程序。
library ieee;
use use
entity cnt2 is
port(clk:in std_logic;
cout:out std_logic);
end cnt2;
architecture beh** of cnt2 is
beginprocess(clk)
variable cqi:std_logic_vector(3 downto 0);
beginif clk'event and clk='1' then
if cqi="0001" then cqi:="0000";cout<='1';
else cqi:=cqi+1;cout<='0';
end if;
end if;
end process;
end beh**;
3.12 6进制计数器程序。
library ieee;
use use
entity cnt4 is
port (clk: in std_logic
cout : out std_logic
end cnt4;
architecture beh** of cnt4 is
beginprocess(clk)
variable cqi : std_logic_vector(3 downto 0);
beginif clk'event and clk='1' then
if cqi =3 then cqi :=0000";cout <=1' ;
else cqi:=cqi+1; cout <=0';
end if;
end if
end process;
end beh**;
3.13 8进制计数器程序。
library ieee;
use use
entity cnt8 is
port (clk: in std_logic
cout : out std_logic
end cnt8;
architecture beh** of cnt8 is
beginprocess(clk)
variable cqi : std_logic_vector(3 downto 0);
beginif clk'event and clk='1' then
if cqi =7 then cqi :=0000";cout <=1' ;
else cqi:=cqi+1; cout <=0';
end if;
end if
end process;
end beh**;
3.14 4选1多路选择。
library ieee;
use entity mux4 is
port( a, b, c,d:in std_logic;
s : in std_logic_vector(1 downto 0);
y : out std_logic )
end entity mux4 ;
architecture one of mux4 is
beginprocess(a,b,c,d,s)
beginif s="00" then y<=a;
elsif s="01" then y<=b;
elsif s="10" then y<=c;
else y<=d;
end if;
end process;
end architecture one ;
3.15 译码器电路。
library ieee ;
use ;use ;
entity led is
port ( clk: in std_logic;
k:in std_logic_vector(1 downto 0);
led : out std_logic_vector(15 downto 0) )
end ;architecture one of led is
beginprocess( clk )
variable q:std_logic_vector(5 downto 0);
beginif clk'event and clk='1' then
q:=q+1;
end if;
if k="00" then
case q(3 downto 0) is
when "0000" =led <=0000000000000001" ;
when "0001" =led <=0000000000000010" ;
when "0010" =led <=0000000000000100" ;
when "0011" =led <=0000000000001000" ;
when "0100" =led <=0000000000010000" ;
EDA技术课程设计
课程设计要求 1 eda技术 课程设计成绩为 eda技术 理论课成绩一部分,课程设计不合格者,理论课成绩为不及格 2 每个设计课题可从给定设计中任选一题,由1 3人组成,3 课程设计格式要求见本文档后面附录部分 4 课程设计成绩 文档内容 格式成绩 50 答辩成绩 50 5 每个设计课题组 员均须参...
EDA技术课程设计题目
总体要求说明 1 画出实体图。2 画出实验原理图。3 编写出vhdl源程序 可以是vhdl程序 原理图混合方式实现,但不能以单纯原理图方式实现 4 调试程序,带有逐行注释的vhdl程序 得出 的时序波形图。5 实物验证,到eda实验箱中实现设计的功能 鼓励 到自有fpga开发板上运行,但必须是现场 ...
EDA技术课程设计报告
一 课程设计内容 所有字体用小四宋体不加粗 1 编写vhdl程序进行跑马灯及键盘控制。2 编写vhdl程序进行步进电机的转速控制。3 根据所用芯片设计外围电路。4 电路焊接。5 程序 入所焊电路进行系统软硬件综合调试。二 课程设计目的。通过编写vhdl程序,结合硬件电路设计,实现跑马灯,键盘,数码管...