数字系统设计与VHDL课程大作业_第1页
数字系统设计与VHDL课程大作业_第2页
数字系统设计与VHDL课程大作业_第3页
数字系统设计与VHDL课程大作业_第4页
数字系统设计与VHDL课程大作业_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 数字系统设计与VHDL课程大作业 霓虹灯电路设计学院: 计算机科学与工程班级:计算机科学与技术一班学号:1305010126姓名:唐艳香组员:郑林升,袁博,唐艳香实验内容:1) 使用平台上的8个七段数码管进行显示,即围绕平台上的8个数码管转圈;2) 要求同时显示的段数为1、2、3段可选;3) 可进行顺向、逆向显示(通过某一开关键进行选择);4) 按下复位键后,重新开始旋转;5) 多种点亮方式自选,如全亮等。总体模块划分: 1)定义输入输出端; 2)由于只有一个主程序,所有模块都直接添加在里面。主程序中可看做复位,旋转方向,旋转速度,旋转块数的小程序结合; 3)建立波形图,进行仿真; 4)绑定

2、引脚,下载程序进行测试; 5)修正小bug。代码实现:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity water_lamp is generic(n:integer:=60000); port(clk_sys:in std_logic; order:in std_logic; k:in std_logic; q:in std_logic; num:in std_logic_vector(2 downto 0); L:out s

3、td_logic_vector(7 downto 0); LED:out std_logic_vector(7 downto 0);end water_lamp;architecture one of water_lamp is signal cnt:integer range 0 to n; signal cnt1:integer range 0 to n; signal cnt2:integer range 0 to n; signal clk_new:std_logic; signal cnm:integer range 19 downto 0; signal cnm0:integer

4、range 19 downto 0; signal clk_new1:std_logic; signal clk_new2:std_logic_vector(0 to 1):=00;beginp1:process(clk_sys) beginif clk_sysevent and clk_sys=1 then if cntinteger(n/2)-1 thencnt=cnt+1; elsecnt=0;clk_new0 then cnm=cnm-1; else cnm=19; end if; else if cnm19 thencnm=cnm+1; else cnm=0; end if; end

5、 if; end if; end process p2;p3:process(cnm,num,clk_sys,cnt1,cnt2,clk_new2) begin if num=001 then cnm0=cnm; elsif num=011 then if clk_sysevent and clk_sys=1then if cnt1integer(n/1000) then cnt1=cnt1+1; else cnt1=0; clk_new1=not clk_new1; end if; end if;if clk_new1=0 thencnm0=cnm;elseif cnm=19 thencnm

6、0=0;elsecnm0=cnm+1;end if;end if;elsif num=111 thenif clk_sysevent and clk_sys=1thenif cnt2integer(n/1000) then cnt2=cnt2+1; else cnt2=0; if clk_new2=00 then clk_new2=01; cnm0=cnm; elsif clk_new2=01 then clk_new2=10;if cnm=19 thencnm0=0;elsecnm0=cnm+1;end if; elsif clk_new2=10 then clk_new2=00;if cn

7、m=18 thencnm0=0;elsif cnm=19 thencnm0=1;elsecnm0L=01111111;LEDL=10111111;LEDL=11011111;LEDL=11101111;LEDL=11110111;LEDL=11111011;LEDL=11111101;LEDL=11111110;LEDL=11111110;LEDL=11111110;LEDL=11111110;LEDL=11111101;LEDL=11111011;LEDL=11110111;LEDL=11101111;LEDL=11011111;LEDL=10111111;LEDL=01111111;LED

8、L=01111111;LEDL=01111111;LEDLED= 00000000; end case; else L=11111111;LED=00000000; end if; if q=1then L=00000000;LED=11111111; end if; end process p4;end one;仿真结果:(缩略图)(展开图)设计总结及心得体会 : 经过将近两周的学习与动手操作,终于将老师所布置的实验完成。郑林升是我们组的核心开发人员,跟着他一步一步感觉自己涨了很多知识说不累那是骗人的,在期末将近时做这个实验,让我们对以前一些不熟悉的知识点加深一些印象。也让我们学到了许多新的

9、知识点,比如:在程序的编写过程中,我们可以利用if语句进行优先级顺序的判断,这一点是用VHDL语言进行设计数字逻辑电路的共同点,也是我们学习过程中必须掌握的内容。 我们刚开始接触到这些东西时,有种无从下手的感觉,虽然学过一些关于这方面的知识,但离实践还差一大截,更何况我们对于这类的编程软件和编程模式完全不熟悉,所以在刚开始编程时,老出现错误,而且哪儿出错也不知道,查了很多资料还是没解决,无奈之下,只能从头开始找寻错误,最后还是郑林升发现是由于软件还没破解才完成整个实验。在绑定引脚时,没认真看电路板的型号,也没经验,不知道具体电路板要由与之相符打device去匹配,导致在调试电路板时,电路板总不听使唤。最后在其他组同学帮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论