南邮软件设计6_第1页
南邮软件设计6_第2页
南邮软件设计6_第3页
南邮软件设计6_第4页
南邮软件设计6_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、通信与信息工程学院2013 /2014 学年第二学期软件设计实验报告模块 名 称 EDA-VHDL软件设计专业电子信息工程学生班级B110学生学号学生姓名指导教师梅中辉设计题目1、D触发器2、R、G、B三基色彩色条纹显示控制任务要求1、设计一个D型触发器,输入CK (时钟信号,1表示上升沿时刻), D (数据),Clear端(“0”时清零),输出Q,真值表如图。2、设计种信号发生器使VGA显示器能显示出彩色条纹。该发生 器产生R、G、B三基色信号(高电平有效),能在VGA彩色显示器(640X480/60Hz)上显示出白、黄、青、绿、品、红、蓝、黑条 纹,各种彩色条纹所对应的R、G、B编码如下表

2、所示。另外需产生 行同步HS和场同步VS信号。当VS=0, HS=0时,CRT显示的内容为 亮的过程,即正向扫描过程,约为26us,当一行扫描完毕,行同步 HS=1,约为6us;其间CRT扫描产生消隐,电子束回到CRT左边下 一行起始位置(x-0, y-1);当扫描完480行后,CRT的场同步VS-1, 产生场同步使扫描线回到CRT的第一行第一列(x-0, y-0),约需 两行周期。已知该发生器的输入时钟为12MHz。实验设备及软件1:微型计算机2: quartus II开发软件同组人员学号及姓名参考文献VHDL开发精解与实例剖析詹仙宁云耕编著VHDL数字电路及系统设计江思敏编著报告内容实验目

3、的:1.使学生全面了解如何应用该硬件描述语言进行高速集成电路设计;通过软件使用、设计与仿真环节使学生熟悉EDA-VHDL开发环境;通过对基本题、综合题的设计实践,使学生掌握硬件系统设计方法(自底向 上或自顶向下),熟悉VHDL语言三种设计风格,并且培养学生应用VHDL语言解 决实际问题的能力。实验设备:1:微型计算机2: quartus II开发软件实验课题:1、D触发器一、实验内容:设计一个D型触发器,输入CK(时钟信号,1表示上升沿时刻),D (数据),Clear端(“0”时清零),输出Q,真值表如图。CKClearDQX0X011001111二、原理图CPiKb1(a)Eb)三、功能分析

4、Clear端为0时,无论D为何值,Q置0。当Clear为1时,遇到输入时钟信 号CK上升沿时,Q=D。算法框图:四、时序仿真图结果分析:当clear为0时,Q端置0; clear为1时,Q在CK上升沿处跳至与 D相等的值。仿真结果与分析相同,结果正确。五、调试过程与问题这个实验是第一次使用quartus II开发软件和VHDL语言,虽然是一个简单 的问题,但是也花费了不少时间。首先顶层实体名称必须与设计顶层文件的文件名一致,与VHDL设计中的顶 层实体名一致。具体做法是 Assignments中Settings里General标签中的 Top-level entity要与VHDL程序中ENTI

5、TY后面的文件名一致。不然程序无法 编译,这个问题一开始也是困扰了很久的。成功编译程序之后,一开始不知道如何设置仿真的波形,通过网上搜索和翻 阅一些参考书,花了一些时间之后终于找到了波形仿真相关按钮的位置、并掌握 了波形仿真的步骤。时序仿真成功后,通过分析时序图发现,当clear端为0时,只有遇到CK 上升沿Q端才会置0,与题目要求不符。于是重新调整语句,将clear是否为0 作为第一个判断条件。一开始信号周期选的较小,由于存在延时,不便于观察结果是否正确。选取 较大周期信号后,延时基本可以忽略。六、VHDL源程序见附录一实验课题:2、R、G、B三基色彩色条纹显示控制一、实验内容:设计一种信号

6、发生器使VGA显示器能显示出彩色条纹。该发生器 产生R、G、B三基色信号(高电平有效),能在VGA彩色显示器(640X480/60Hz) 上显示出白、黄、青、绿、品、红、蓝、黑条纹,各种彩色条纹所对应的R、G、 B编码如下表所示。另外需产生行同步HS和场同步VS信号。当VS=0, HS=0时, CRT显示的内容为亮的过程,即正向扫描过程,约为26us,当一行扫描完毕,行 同步HS=1,约为6us;其间CRT扫描产生消隐,电子束回到CRT左边下一行起始 位置(x=0,y=1);当扫描完480行后,CRT的场同步VS=1,产生场同步使扫描 线回到CRT的第一行第一列(x=0, y=0),约需两行周

7、期。已知该发生器的输入 时钟为12MHz。原蓝红品绿黄白R00_0 _0111G001C 101001010二、设计思路需要一个时钟输入信号,根据输入信号产生水平扫描计数从而产生行同步信 号HS,再根据水平扫描计数的进位产生竖直扫描计数从而产生场同步信号,完 成扫描过程。之后在根据要求将水平或竖直方向的扫描信号的显示时间分为8 组,显示出8个彩条。信号扫描时序图: 图像显示 一 消隐时间垂直扫描水平扫描时间长度时钟周期等效行数时间长度时钟周期数Ts16.07ms38560048233*800Tdisp16ms38400048026.67. sMs640Tpw66.7口 sM160026.67”

8、160三、算法框图V480H800YH80H481H240H320YH400YH520YH640YH800YNNNNNNYYYNNH-NNNNRGB=010RGB=101RGB=110RGB=000RGB=001RGB=111RGB=011RGB=000RGB=100RGB=000 Y* V=V+1H=0YH=H+1开始H=H+1V=1四、时序仿真图P5.12 ioe.Ill 4 u.-:.5 3B usii2D.4fl gS B us30.72 az 35 B4 ue964B 03 deIF U gClk 氏LKJyrwQ踊R.-lGre mBllE设3S;ODDx DDL : Did X

9、D1L ,X LCI0 X:L X二 J Y二 1 .too1(DDL X DLO X 011 Ltn话9B口11_17L五、调试过程与问题在程序成功编译之后开始时序仿真,设定好输入波形之后开始时序仿真 发现输出信号全为0,于是将中间信号加入到时序仿真中,发现波形正常, 考虑到可能是仿真时长不够,输出信号还未开始变化,将仿真时长设定为1ms 之后,成功看到按顺序变化的RGB信号。之后开始对于题目中给出的时间要求,更改程序中的相关数据。由于正 向扫描过程约为26us,为640个时钟周期,需要水平扫描信号为24MHz, 而输入时钟信号只有12MHz,时钟信号倍频相对困难,于是在一个时钟周期 内扫描

10、两个水平像素点来保证正向扫描约为26us,约为6us的行消隐信号约 为144个时钟周期。六、VHDL源程序见附录二实验小结:这是第一次接触VHDL语言,通过查阅参考书,从零做起,从实际的题 目中一点一点了解了 VHDL语言的用法。先理解书上一些实际的例题,然后 自己去更改、编写程序,从而完成了实验课题。只有通过自己动手实验,才 能更快的掌握新的知识,才能发现纯理论学习中发现不了的问题。这次的实验基本都是通过自学完成的,在实验过程中遇到的问题大多都 是通过参考书、网络或是和同学讨论解决的,大大提高了自己的学习能力。实验分为基本题和综合题的形式。基本题较简单,很好得帮助我了解 VHDL语言以及qu

11、artus II开发软件的使用。之后的综合题较为复杂,帮 助我进一步学习VHDL语言,以及题目相关的其他知识。无论是基本题还是 综合题在实验过程中都是遇到了各种各样的问题,困难重重,通过自己的努 力完成这次实验收获还是不小的。附录:一、library ieee;use ieee.std_logic_1164.all;entity HY isport(D,CK,clear:in std_logic;Q:out std_logic);end;architecture a of HY issignal Q_temp:std_logic;beginpl:process(CK)beginif clear

12、=0 thenQ_temp=0;elsif clear=1 thenif CKevent and CK=1 thenQ_temp=D;end if;end if;Q=Q_temp;end process;end;附录二:library iEEE;use IEEE.STD_LOGIC_1164.ALL;entity B11011013 isport(Clk:in STD_LOGIC;Rst:in STD_LOGIC;Red:out STD_LOGIC;Green:out STD_LOGIC;Blue:out STD_LOGIC;H_Sync:out STD_LOGIC;V_Sync:out ST

13、D_LOGIC);endB11011013;architecture Bchavioral of B11011013 issignal Cnt_H:integer range 0 to 800;signal Cnt_V:integer range 0 to 482;signal Clk_H:std_logic:=0;signal Clk_V:std_logic:=0;signal RGB:std_logic_vector(0 to 2);beginRed=RGB(0);GreeN=RGB(1);Blue=RGB(2);-12MHZ作为水平扫描信号的时钟p1:process(Clk)beginC

14、lk_H=Clk;end process;-水平扫描计数,并产生竖直扫描计数的时钟p2:process(Clk_H,Rst)beginif(Rst=1)thenCnt_H=0;Clk_V=800)thenCnt_H=0;elseCnt_H400)thenClk_V=0;elseClk_V=1;end if;end if;end process;-竖直扫描计数p3:process(Clk_V,Rst)beginif(Rst=1)thenCnt_V=0;elsif(Clk_Vevent and Clk_V=1)then if(Cnt_V=482)then Cnt_V=1;elseCnt_V=Cnt

15、_V+1; end if;end if;end process;-产生水平扫描信号和竖直扫描信号p4:process(Clk,Rst)beginif(Rst=1)thenH_Sync=0;V_Sync=641)then H_Sync=1;elseH_Sync480)then V_Sync=1;V_Sync=0;end if;end if;end process;-输出颜色控制p5:process(Clk,Rst,Cnt_V)beginif(Rst=1)thenRGB480)thenRGBRGBRGBRGBRGBRGBRGBRGBRGBRGB=XXX”; end case;end if;end process;end Bchaviora

温馨提示

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

评论

0/150

提交评论