EDA课程设计报告

时间:2024.4.5


EDA课程设计报告

 流水灯控制器的设计与仿真 

     

学院 

专业 

班级 

学号 

姓名 

一.实验目的及要求

实验目的

1.通过此实验让用户进一步了解、熟悉和掌握CPLD/FPGA开发软件的使用方法及VHDL的编程方法,熟悉以Herilong HDL文件为顶层模块的设计。

2.学习和体会分支条件语句casc的使用方法及FPGA I/O口的输出控制。

实验要求:

1、设计能带8个LED发光管发光,并按照要求轮流发光,

产生流水灯的流动效果。

2、应具有三种以上不同风格的流动闪亮效果。

3、具有三种以上功能

4、对源程序进行修改

二、实验内容

    1:新建一个名为流水灯的文件夹;

2:新建一个名为流水灯的工程;

3:设计程序,其中包含所需功能;

4:编译、运行、调试;

5:定义引脚、编译;

6:下载到实验箱观看运行结果;

三、实验代码

   module liushuideng(LED,CLK,reset,counter,clk4,count);

output[7:0] LED;

output [24:0] counter;

output clk4;

output count;

input CLK,reset;

reg [7:0] LED;

reg [7:0] counter;

reg[7:0] count;

wire clk4;

always@(posedge CLK)

    begin if(count==8) count<=0;

      else count<=count+1;

    end

  assign clk4=count[2];

initial 

  LED=8'b11111111;

     always@(posedge clk4)                                               

       begin              

            if(counter<25)

               counter<=counter+1;

            else counter<=0;                                                                                                               

            LED<=LED<<1;                               

            if(LED==8'b00000000)

            LED<=8'b11111111;                                                 

               

    case(counter)

               

                   1:LED<=8'b00000001;                 

                   2:LED<=8'b10000000;

                   3:LED<=8'b01000000;

                   4:LED<=8'b00100000;

                   5:LED<=8'b00010000;

                   6:LED<=8'b00001000;

                   7:LED<=8'b00000100;

                   8:LED<=8'b00000010;

                   9:LED<=8'b00000001;

                   10:LED<=8'b00000000;

                   11:LED<=8'b00000001;

                   12:LED<=8'b00000011;

                   13:LED<=8'b00000111;

                   14:LED<=8'b00001111;

                   15:LED<=8'b00011111;

                   16:LED<=8'b00111111;

                   17:LED<=8'b01111111;

                   18:LED<=8'b11111111;

                   19:LED<=8'b00000000;

                   20:LED<=8'b11100111;

                   21:LED<=8'b00000000;

                   22:LED<=8'b11000011;

                   23:LED<=8'b00000000;

                   24:LED<=8'b10000001;

                   25:LED<=8'b00000000;

                    endcase    

                    end 

endmodule

四、调试心得

1、通过这次课程设计,我学到了许多,不仅掌握了更多EDA知识,而且对它有了更深的认识。

2、但是,在这次实验中遇到了许多的问题,比如说对知识的掌握不够好,对于程序有许多都不太懂,因此在前期实验的时候花了好多时间在复习知识上,然后才开始看实验程序,一开始确实不知道该如何开始,所以只好按书本上的源程序来,搞好了之后,发现确实可以实现一些功能,但是老师说这个还不够我们必须要增加一些功能。

3、没有办法,所以我又开始了漫长的研究中,不过结果令人有点失望,我并没有完全按老师说的做到,而且源程序里还有错误,

是关于程序不能循环的问题,在老师的提点下结合我以前所学增加了一些源代码,这样老师验收后才答应让我通过。

4、总结这次实验,确实做得有点失败,这也告诫我在以后的学习生活中要多花时间,不然又会得到不好的结果。

5、当然我还发现了一些东西,比如通过实验,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便完善学习计划,改变学习内容与方法

6、通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期,还有,课程设计之后,我们普遍感到不仅实际动手说,这应该是个警示,在剩下的大学生活里,我应该好好珍惜,好好学习各方面的知识。

7、我相信,这对于一个想毕业直接工作的我来说会是一个很好的教训。


第二篇:EDA交通灯课程设计报告(EDA)


数字电路课程设计报告

  

序言······················································3

第一章   设计任务和要求·········································4

1.1 设计任务························································4

1. 2 设计要求························································4

第二章 电路工作原理及方案设计·····························4

第三章 单元电路设计与仿真·································6

3.1 软件原理图······················································6

3.2 各模块的原理及其程序············································6

3.2.1 分频模块的设计及仿真图········································6

3.2.2 计数模块的设计及仿真图········································7

3.2.3 控制模块的设计及仿真图········································9

3.2.4 分位模块的设计及仿真图········································10

3.2.5 译码模块的设计及仿真图········································11

第四章 系统设计··········································12

4.1 顶层电路设计···················································12

4.2整体电路波形仿真图··············································13

第五章 总结··············································13

参考文献·················································14

附录·····················································14

序言

CPLD(Complex Programmable Logic Device)是Complex PLD的简称,一种较PLD为复杂的逻辑元件。CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。
    20世纪70年代,最早的可编程逻辑器件--PLD诞生了。其输出结构是可编程的逻辑宏单元,因为它的硬件结构设计可由软件完成,因而它的设计比纯硬件的数字电路具有很强的灵活性,但其过于简单的结构也使它们只能实现规模较小的电路。为弥补PLD只能设计小规模电路这一缺陷,20世纪80年代中期,推出了复杂可编程逻辑器件--CPLD。目前应用已深入网络、仪器仪表、汽车电子、数控机床、航天测控设备等方面。
    它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产(一般在10,000件以下)之中。几乎所有应用中小规模通用数字集成电路的场合均可应用CPLD器件。CPLD器件已成为电子产品不可缺少的组成部分,它的设计和应用成为电子工程师必备的一种技能。
    随着基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。作为一个学电子信息专业的学生,我们必须不断地了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。本程序设计的是交通灯的设计。采用EDA作为开发工具,VHDL语言为硬件描述语言,quartusII作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标

在一个交通繁忙的十字路口,没有交通灯来控制来往车辆和行人的通行,假设也没有交警,那会发生什么事情呢?后果是难以想象的,可能会陷入一片混乱,甚至瘫痪。当然我们每个人都不希望这样。我们作为社会的一员,每人都有责任为它的更加先进和快捷做出力所能及的事情。我们设计的这个信号控制系统可以通过交通灯控制东西方向车道和南北方向车道两条交叉道路上的车辆交替运行,每次通行时间都可以根据实际情况预设,用以减少交通事故的发生概率。并且经过些次实验使得我们对电子技术课程内容的理解和掌握有了更深一层的认识,也学会使用半导体元件和集成电路,掌握电子电路的基本分析方法和设计方法,进一步提高分析解决实际问题的综合能力,也为将来的就业或继续深造做好准备。

第一章 设计任务与要求

1.1 设计任务

设计一个基于FPGA的十字路口交通控制器,分为手动操作、自动操作和复位系统,假设南北方向和东西方向,两个方向分别设置红灯、绿灯、黄灯和左拐四盏灯,每个方向设置一组倒计时显示器,用以指挥车辆和行人有序的通行。红灯亮表示左转和直行车辆禁行;绿灯亮表示直行车辆可以通行;黄灯亮表示左转或直行车辆即将禁行;左拐灯亮表示左转车辆可以通行;倒计时显示器用来显示允许通行或禁止通行的时间 。

1.2 设计要求

1         在十字路口南北和东西两个方向各设一组红灯、绿灯、黄灯和左拐灯。显示顺序:绿灯→ 黄灯→ 红灯→ 左拐→ 黄灯→ 红灯。在南北和东西两个方向各设一组倒计时显示器。

2         自动控制:设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,南北方向为主干道,左拐、绿灯、黄灯和红灯显示时间分别是20s、20s、5s和20s。东西方向为次干道,左拐、绿灯、黄灯和红灯显示时间分别为15s、15s、5s和25s。

3         手动控制:按按钮依次执行以上显示状态,绿灯→ 黄灯→ 红灯→ 左拐→ 黄灯→ 红灯,倒计时显示为“0”。

4         系统设有总复位开关,可在任意时间内对系统进行复位。

5         通过开关按钮切换交通灯的工作状态。

第二章 电路工作原理及方案设计

交通灯的显示状态:

总体框图:

  

在VHDL设计描述中,采用自顶向下的设计思路,该思路,首先要描述顶层的接口,上面的描述已经规定了交通灯控制的输入输出信号:输入信号:复位开关信号reset;外部时钟信号clk。LED七段显示数码管的输出信号count1(6 downto 0),count2(6 downto 0),count3(6 downto 0),count4(6 downto 0);在自顶向下的VHDL设计描述中,通常把整个设计的系统划分为几个模块,然后采用结构描述方式对整个系统进行描述。根据实验设计的结构功能,来确定使用哪些模块以及这些模块之间的关系。通过上面的分析,不难得知可以把交通灯控制系统划分为4个模块:时钟分频模块,计数模块,控制模块,分位译码模块。

分频电路把555多谐振荡器发出的较高频率脉冲用分频电路的到较第频率的时钟信号,本电路通过三次10分平分别得到10Hz、1Hz的时钟信号。

控制器电路根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段译码管的分位译码电路。当检测到手动控制信号(Con=’1’)时,执行手动控制;

计数器电路这里需要的计数器的计数范围为0~89。计到89后,下一个时钟沿升为1时,开始下一轮计数,此外当系统复位信号(Reset=’1’)使计数器异步清‘0’。手动信号(Con=’1’)使系统清‘0’。

分位译码电路因为控制器输出的倒计时数值可能是1位或者2位十进制数,所以在七段数码管的译码电路前要加上分位电路(即将其分为2个1位的十进制数,如20分为2和0,7分为0和7)。七段数码管的译码电路根据控制电路的控制信号,驱动交通灯的显示,通过输入二进制数值,输出信号点亮二极管,我们用的是共阳极数码管,因此译码电路输出逻辑数值‘0’点亮二极管,译码电路输出逻辑数值‘1’熄灭二极管。

第三章 单元电路设计与仿真

3.1 软件原理图

3.2 各模块的原理及其程序

3.2.1 分频模块的设计及仿真图

实体:entity clk_10 is

port(      clk : in std_logic;

                clk_div10 : out std_logic);

end clk_10;

功能:实现十分频

接口:clk—脉冲输入

      Clk-div10—十分频后脉冲输出

仿真结果如下:

3.2.2 计数模块的设计及仿真图

实体:entity counter is

       port(  clk0:in std_logic;

             con:in std_logic;

             reset:in std_logic;

             countnum:buffer integer range 0 to 89);

end counter;

功能:实现0到89的计数

clk0—脉冲输入     

con—手动控制信号 

reset—复位信号 

countnum—计数输出

仿真波形如下:


3.2.3 控制模块的设计及仿真图

实体:entity controller is

Port ( clk1 : in std_logic;

con1 : in std_logic;

con2 : in std_logic;

   countnum : in integer range 0 to 89;

 numa,numb : out integer range 0 to 25;

  ra,ga,ya,ga1 : out std_logic;

  rb,gb,yb,gb1: out std_logic);

end controller;

功能:控制发光二极管的亮、灭,以及输出倒计时数值给七段译码管的分位译码电路。

clk1—脉冲信号输入 

con1—手动控制信号 

con2—状态控制信号 

countnum—计数输入

numa,numb—两个方向的倒计时数值输出 

ra,ga,ya,ga1,rb,gb,yb,gb1—发光二极管输出

仿真波形如下:

3.2.4 分位模块的设计与仿真图

实体:entity fenwei is

    port (  numin:in integer range 0 to 25;

           numa,numb:out integer range 0 to 9 );

end fenwei;

功能:把倒计时的数值分成2个1位的十进制数。

numin:倒计时数值输入 

numa,numb—将数值分为2个1位的十进制输出

仿真波形如下:

3.2.5 译码模块的设计及仿真图


  

  

实体:entity display is

 port(

         clk2:in std_logic;

          bb: in std_logic_vector(3 downto 0);

          ya:out std_logic;

          yb:out std_logic;

          yc:out std_logic;

          yd:out std_logic;

          ye:out std_logic;

          yf:out std_logic;

          yg:out std_logic);

end display;

功能:根据控制电路的控制信号,驱动交通灯的显示,          通过输入二进制数值,输出信号点亮二极管。

bb[3..0]--BCD码输入

clk2—脉冲输入

ya,yb,yc,yd,ye,yf,yg—七段数码管显示输出


仿真波形如下:

第四章 系统设计

4.1 顶层文件的设计

entity  dingceng  is

port(clkd,resetd,cond,con1d:in std_logic;

count1:out std_logic_vector(6 downto 0);

count2:out std_logic_vector(6 downto 0);

count3:out std_logic_vector(6 downto 0);

count4:out std_logic_vector(6 downto 0);

reda,greena,yellowa,greena1: out std_logic;

redb,greenb,yellowb,greenb1: out std_logic);

end entity dingceng;

clkd—脉冲输入

resetd—复位信号

con—手动控制信号

con1d—状态控制信号

count1,count2,count3,count4—七段数码管显示

reda,greena,yellowa,greena1,redb,greenb,yellowb,greenb1—发光二极管输出

4.2 整体电路波形图

    

第五章 总结

课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容,本学期我们进行了数字电路课程设计,老师命题,六人一大组,两人一小组进行设计(包括设计总体方案、硬件电路、软件设计、焊接、调试等工作)。趣味性强,同时也可以学到很多东西。我们做的是交通灯控制器的设计。

在这学期的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

通过这个程序设计让我学会一种新的语言,对数字系统结构也有了更进一步的了解和认识,对我以后的学习有很大的帮助。希望其他人在看再做类似设计时有所借鉴。

通过几天的课程设计,我对数据库软件EDA技术、VHDL、等系列知识都有了一定的了解。使用EDA技术开发页面的能力也有了很大提高。

另外,我还学到了一个人的力量毕竟有限,但是团队的力量势不可挡,我们不能只靠自己,遇到不会的要多多求助同学,

 这次课程设计虽然结束了,也留下了很多遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放弃,它是我们的骄傲!相信以后我们会以更加积极地态度对待我们的学习、对待我们的生活。我们的激情永远不会结束,相反,我们会更加努力,努力的去弥补自己的缺点,发展自己的优点,去充实自己,只有在了解了自己的长短之后,我们会更加珍惜拥有的,更加努力的去完善它,增进它。只有不断的测试自己,挑战自己,才能拥有更多的成功和快乐!快乐至上,享受过程,而不是结果!认真对待每一个实验,珍惜每一分一秒,学到最多的知识和方法,锻炼自己的能力,这个是我们在实时测量技术试验上学到的最重要的东西,也是以后都将受益匪浅的!

参考文献

1、《VHDL与数字电路设计》.卢毅, 赖杰. 科学出版社

2、《VHDL 程序设计》(第二版). 曾繁泰等. 清华大学出版社

3、《VHDL入门与应用》陈雪松, 滕立中 .人民邮电出版社 

4、《EDA技术与VHDL》(第二版).潘松,黄继业. 清华大学出版社

5、《数字电路技术基础》(第二版). 阎石 .高等教育出版社

附录  总程序


library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity  dingceng  is

port(clkd,resetd,cond,con1d:in std_logic;

count1:out std_logic_vector(6 downto 0);

count2:out std_logic_vector(6 downto 0);

count3:out std_logic_vector(6 downto 0);

count4:out std_logic_vector(6 downto 0);

reda,greena,yellowa,greena1: out std_logic;

redb,greenb,yellowb,greenb1: out std_logic);

end entity dingceng;

architecture one of dingceng is

component  clk_10

port(clk:in std_logic;

            clk_div10 : out std_logic);

end component;

component counter

port

         (clk0:in std_logic;

          con:in std_logic;

          reset:in std_logic;

          countnum:buffer integer range 0 to 89);

end component;

component controller

port

       ( clk1 : in std_logic;

        con1 : in std_logic;

con2: in std_logic;

        countnum : in integer range 0 to 89;

       numa,numb : out integer range 0 to 25;

        ra,ga,ya,ga1: out std_logic;

        rb,gb,yb,gb1 : out std_logic);

end component;

component fenwei

port ( numin:in integer range 0 to 25;

           numa,numb:out integer range 0 to 9 );

end component;

component yima

port(clk2:in std_logic;

            bb: in integer range 0 to 9;

            ya:out std_logic;

            yb:out std_logic;

            yc:out std_logic;

            yd:out std_logic;

            ye:out std_logic;

            yf:out std_logic;

            yg:out std_logic);

end component;

signal a,b,c:std_logic;

signal ww:integer range 0 to 89;

signal yy1,yy2:integer range 0 to 25;

signal tt1,tt2,tt3,tt4:integer range 0 to 9;

begin

u0: clk_10 port map(clk=>clkd,clk_div10=>a);

u1: clk_10 port map(clk=>clkd,clk_div10=>b);

u2: clk_10 port map(clk=>b,clk_div10=>c);

u3:counter port

map(clk0=>c,con=>cond,reset=>resetd,countnum=>ww);

u4:controller port map

(clk1=>c,con1=>cond,con2=>con1d,countnum=>ww,numa=>yy1,numb=>yy2,ra=>reda,ga=>greena,ya=>yellowa,ga1=>greena1,rb=>redb,gb=>greenb,yb=>yellowb,gb1=>greenb1);

u5:fenwei port map(numin=>yy1,numa=>tt1,numb=>tt2);

u6:fenwei port map (numin=>yy2,numa=>tt3,numb=>tt4);

u7:yima

port map(clk2=>b,bb=>tt1,ya=>count1(0),yb=>count1(1),yc=>count1(2),yd=>count1(3),ye=>count1(4),yf=>count1(5),yg=>count1(6));

u8:yima port map (clk2=>b,bb=>tt2,ya=>count2(0),yb=>count2(1),yc=>count2(2),yd=>count2(3),ye=>count2(4),yf=>count2(5),yg=>count2(6));

u9:yima port map(clk2=>b,bb=>tt3,ya=>count3(0),yb=>count3(1),yc=>count3(2),yd=>count3(3),ye=>count3(4),yf=>count3(5),yg=>count3(6));

u10:yima port map(clk2=>b,bb=>tt4,ya=>count4(0),yb=>count4(1),yc=>count4(2),yd=>count4(3),ye=>count4(4),yf=>count4(5),yg=>count4(6));

end architecture one;

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_arith.all;

use ieee.std_logic_unsigned.all;

entity clk_10 is

port(      clk : in std_logic;

     clk_div10 : out std_logic);

end clk_10;

architecture one of clk_10 is

signal clk_temp : std_logic;

begin

process(clk)

variable counter : std_logic_vector(2 downto 0);

constant md : std_logic_vector(2 downto 0) := "101";

begin

if(clk'event and clk='1') then

if(counter = md)then

counter := (others =>'0');

clk_temp <= not clk_temp;

end if;

counter := counter + 1 ;

end if;

end process;

clk_div10 <= clk_temp;

end one;

library ieee;

use ieee.std_logic_1164.all;

entity counter is

   port

    (  clk0:in std_logic;

       con:in std_logic;

     reset:in std_logic;

  countnum:buffer integer range 0 to 89);

end counter;

architecture one of counter is

  begin

    process (reset,clk0)

      begin

       if reset='1' then

        countnum <= 0;

       elsif rising_edge( clk0 ) then

        if  con='1' then

          countnum <= 0;

        else

          if countnum=89 then

          countnum <= 0;

          else

            countnum <= countnum + 1;

          end if;

       end if;

     end if;

  end process;

end one;

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity controller is

port

  (      clk1 : in std_logic;

con1 : in std_logic;

con2 : in std_logic;

   countnum : in integer range 0 to 89;

 numa,numb : out integer range 0 to 25;

  ra,ga,ya,ga1 : out std_logic;

   rb,gb,yb,gb1: out std_logic);

end controller;

architecture one of controller is

signal m : integer range 0 to 7;

   begin

    process ( clk1,con1,con2,countnum )

      variable aa:std_logic_vector(7 downto 0);

      begin

  if (clk1'event and clk1 = '1' )then

if con1 ='0' then

 if countnum >= 65then

       numb<=90-countnum;

       numa <=90-countnum;

    if countnum >= 70 then

          aa := "00011000";

 else     aa := "00101000";

        numa<= 70-countnum;

end if;

elsif  countnum >= 45 then

        numb <= 65-countnum;

numa <=65-countnum;

if countnum >= 50 then

       aa  := "10000100";

    else  aa := "10000010";

        numb<= 50-countnum;

end if;

elsif  countnum >= 20 then 

        numa <= 45-countnum;

numb <=45-countnum;

if countnum >= 25 then

      aa := "01001000";    

    else  aa := "00101000";

        numa <= 25-countnum;

       

end if;

 elsif  countnum >= 0 then

        numa <= 20-countnum;

numb <= 20-countnum;

      if countnum >= 5 then

          aa := "10000100";

    else aa  := "10000010";

        numb <= 5-countnum;

end if;

end if;

else

if con1= '1'  then

numa <= 0;

numb <= 0;

if con2 = '1' then

if m = 7 then

m <= 0;

else

m <= m + 1;

end if;

end if;

if m = 0 then

  aa  := "01001000";

elsif m= 1 then

 aa := "00101000";

 elsif m=2 then

 aa :="10000100";

elsif m=3 then

 aa := "10000010";

elsif m=4 then

 aa := "00011000"; 

elsif m=5 then

 aa := "00101000";

elsif m=6 then

 aa := "10000001";

elsif m=7 then

 aa := "10000010";

     

end if;

end if;

end if;

end if;

   ra <= aa(7);

 ga <= aa(6);

ya <= aa(5);

ga1 <= aa(4);

   rb <= aa(3);

 gb <= aa(2);

yb <= aa(1);

gb1 <= aa(0);

end process;

end one;

library ieee;

use ieee.std_logic_1164.all;

entity fenwei is

    port (     numin:in integer range 0 to 25;

           numa,numb:out integer range 0 to 9 );

end fenwei;

architecture one of fenwei is

   begin

      process( numin )

        variable numa1,numb1: integer range 0 to 9;

        begin

          if numin >= 20 then

            numa1 :=2;

            numb1 := numin - 20;

          elsif numin >= 10 then

            numa1 := 1;

            numb1 := numin - 10;

          else

            numa1 := 0 ;

            numb1 := numin ;

          end if ;

        numa <= numa1;

        numb <= numb1;

    end process ;

end one ;

library ieee;

use ieee.std_logic_1164.all;

entity display is

     port(

         clk2:in std_logic;

          bb: in std_logic_vector(3 downto 0);

          ya:out std_logic;

          yb:out std_logic;

          yc:out std_logic;

          yd:out std_logic;

          ye:out std_logic;

          yf:out std_logic;

          yg:out std_logic);

end display;

architecture one of display is

signal temp: std_logic_vector(6 downto 0);

begin

process(bb)

begin

case bb is

when "0000" => temp <= "1000000";

when "0001" => temp <= "1111001";

when "0010" => temp <= "0100100";

when "0011" => temp <= "0110000";

when "0100" => temp <= "0011001";

when "0101" => temp <= "0010010";

when "0110" => temp <= "0000010";

when "0111" => temp <= "1011000";

when "1000" => temp <= "0000000";

when "1001" => temp <= "0010000";

when others => temp <= "1111111";

end case;

end process;

ya<=temp(0);

yb<=temp(1);

yc<=temp(2);

yd<=temp(3);

ye<=temp(4);

yf<=temp(5);

yg<=temp(6);

end one;

更多相关推荐:
课程设计报告

1课程设计目的课程设计是船舶设计原理课程重要的实践性教学环节是培养学生掌握船舶设计基本原理和能力的技术基础主尺度论证与总布置设计是船舶总体设计的重要组成部分通过课程设计的训练力求使学生实现从学生到船舶设计师的角...

课程设计报告内容

一设计目的1强化上机动手能力在理论和实践的基础上进一步巩固数据结构课程学习的内容掌握工程化软件设计的基本方法2掌握图的创建和应用3掌握迪杰斯特拉以及Prim等基本算法思想4掌握if语句及switch语句的运用方...

课程设计报告

中国计量学院信息工程学院课程设计报告课程设计名称系统设计与仿真课程计二级学院信息工程学院专业班级10电信2班学姓成绩号名1000301232廖壁波指导老师20xx年12月13日中国计量学院信息工程学院课程设计报...

课程设计报告模板

信息科学与工程学院高级语言程序设计课程设计报告学生成绩管理系统学科专业计算机科学与技术班级1301学号指导教师唐郑熠讲师学生二零年月目录目录1设计任务12需求分析121基础功能122扩展功能13系统概要设计13...

课程设计报告

扬州大学数据结构课程设计报告课题名称姓名学院系科班级指导老师日期自来水管架设问题广陵学院陈宏建1一课程设计的题目自来水管理架设问题问题描述若要在扬州大学的八个居民区A区B区C区D区E区F区G区H区之间架设自来水...

课程设计报告

系统软件课程设计时钟中断与进程调度学号姓名指导教师11070319许明秀金雪云20xx年12月一报告摘要进程调度是操作系统十分重要的一个部分在操作系统的设计过程中进程调度和时钟中断形成了密不可分的关系系统时钟定...

课程设计报告

计算机高级语言课程设计报告班级学号姓名蔡路日期学生成绩管理系统19xx3120xx100031020xx年1月18日一课程设计题目与要求实习题目学生成绩管理系统实习内容C语言面向对象的分析与设计基本要求学生成绩...

JAVA_课程设计报告

JAVA程序设计课程设计报告设计题目学院名称专业班级姓名学号1目录一需求分析3二概要设计3三详细设计331数据库设计332模块及窗体设计3321数据库模块设计3322用户登录识别模块5323用户信息管理模块61...

软件课程设计报告

中南民族大学软件课程设计报告电子信息工程09级题目学生吴雪学号指导教师王锦程电子工程0907100220xx年4月25日简易网络聊天系统摘要计算机网络通信技术已经深入我们的生活并给我们即使通信带来了很大的方随着...

软件课程设计报告

任务书北京信息科技大学计算机软件基础课程设计题目从某个源点到其余各顶点的最短路径学院专业学生姓名班级学号指导老师起止时间任务书1摘要摘要本次课程设计的问题假设西安北京沈阳武汉4个城市构成小型交通网4个城市表示图...

计算机网络课程设计报告

计算机网络课程设计报告一.课程设计的题目、目的及要求.........................................................2二.课程设计的内容(分析和设计).....…

Java课程设计报告模板

Java程序设计课程设计报告20xx20xx年度第1学期Hannio塔专业学生姓名班级学号指导教师完成日期计算机科学技术网络工程马千里B计算机1021010704213徐森20xx年1月8日Hannoi塔目录目...

课程设计报告(33篇)