湖南工业大学EDA课程设计_第1页
湖南工业大学EDA课程设计_第2页
湖南工业大学EDA课程设计_第3页
湖南工业大学EDA课程设计_第4页
湖南工业大学EDA课程设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、湖南工业大学科技学院课 程 设 计资 料 袋 电气与信息工程 学院(系、部) 2013 2014 学年第 1 学期 课程名称 数字系统设计 指导教师 职称 学生姓名 专业班级 学号 题 目 EDA数字系统综合设计与实践 成 绩 起止日期 2013 年 12 月 16 日 2013 年 12 月 29 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书12课程设计说明书13课程设计图纸张456湖南工业大学科技学院课程设计任务书2013 2014 学年度第 1 学期 科 技 学 院 学院(系、部) 电 气 工 程 及 其 自 动 化 专业 电 气 1002班课程名称: 数字系统设计

2、设计题目: EDA数字系统综合设计与实践 完成期限: 2013 年 12 月 20 日 2013 年 1 月 3 日 共 2 周内容及任务数字系统设计,就是要求学生利用EDA技术进行综合性的数字电子系统设计,培养学生综合应用能力、独立设计与安装调试能力,并树立工程设计观念。具体任务如下:(1)综合计时系统的设计:包括系统设计原理,VHDL等程序设计,时序仿真与分析,逻辑综合与分析、硬件验证等;(2)SOBEL图像边缘检测器的设计:包括系统设计思想原理,VHDL等程序设计,时序仿真与分析,逻辑综合与分析等;各子课题的设计具体要求详见附件一。进度安排起止日期工作内容第15周周四下午午14:00-1

3、6:00布置任务,讲解课题设计要求(电教201)第17周周五上午08:00-12:00综合计时系统的设计(电205)第17周周五下午14:00-18:00综合计时系统的设计(电205)第17周周六上午08:00-12:00综合计时系统的设计(电205)第17周周六下午14:00-18:00SOBEL图像边缘检测器的设计(电205)第17周周日上午08:00-12:00SOBEL图像边缘检测器的设计(电205)第17周周日下午14:00-18:00SOBEL图像边缘检测器的设计(电205)其它时间学生自行查找资料,自行进行实践,撰写报告 主要参考资料1 谭会生,张昌凡EDA技术及应用(第三版)M

4、西安:西安电子科技大学出版社,20112 谭会生,瞿遂春EDA技术综合应用实例与分析 M西安:西安电子科技大学出版社,2004指导教师(签字): 黄卓冕 2013 年 12 月 1 日系(教研室)主任(签字): 谭会生 2013 年 12月 1日2附件一:各设计子课题的具体设计要求1综合计时系统的设计:设计一个综合性的计时系统,要求能实现年、月、日、时、分、秒及星期的计数等综合计时功能,同时将计时结果通过15个七段数码管实现显示,并且可通过两个设置键,在计时过程中,对计时系统的有关参数进行调整。具体系统功能面板如图1所示。图1 系统功能面板2SOBEL图像边缘检测器的设计 边缘可定义为图像中灰

5、度发生急剧变化的区域边界,它是图像最基本的特征,是图像分析识别前必不可少的环节,是一种重要的图像预处理技术。边缘检测主要就是(图像的)灰度变化的度量、检测和定位,它是图像分析和模式识别的主要特征提取手段,它在计算机视觉、图像分析等应用中起着重要的作用,是图像分析与处理中研究的热点问题。在过去的20年里产生了许多边缘检测器,如Rorberts算子,Sobel算子,Prewitt算子,Laplacian算子等。由于Sobel算法只涉及加法操作,但却可以得到很好的划分效果,因而是图像处理系统中最常用的边缘检测算法。Sobel算法包括带4个3×3掩码的输入图像数据,即Sobel算子,它设置权

6、重来检测水平、垂直、左对角、右对角各个不同方向上密度幅度的不同。这个过程通常被称为过滤。我们来看像素窗口(3×3),如图2所示。水平、垂直、左对角、右对角各图像方向上密度幅度的变化可以用如下算子进行计算:Q0Q3Q6Q1i,jQ7Q2Q5Q8H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8);V=(Q0+2Q1+Q2)-(Q6+2Q7+Q8);DR=(Q1+2Q0+Q3)-(Q5+2Q8+Q7);DL=(Q1+2Q2+Q5)-(Q3+2Q6+Q7);H,V,DL,DR这四个参数用于计算梯度大小和方向。 图2 图像窗口像素的排列对梯度大小的一个普遍估计值为:MagnitudeMax(H

7、,V,DR,DL)。我们通过对图像灰度作直方图分析后,便可以给出区分度阀值Threshold,区分度阀值往往要借助一定的经验并需要反复调整。如果Magnitude大于Threshold,则该像素被声明为边界像素,否则为一般像素。本课题就是要求使用LPM兆功能块设计和VHDL程序设计相结合的方式或全部采用VHDL程序设计方式,用FPGA/CPLD实现Sobel算法。附件二:课题设计报告要求课程设计报告包括如下内容:一、系统设计要求;二、系统设计原理;三、VHDL源程序;四、时序仿真与分析;五、逻辑综合与分析。并要求按如下规定的格式打印好:打印用纸A4,主标题 宋体3号,节标题 宋体4号,小标题

8、宋体小4号,正文 宋体5号 每页39行 39个汉字,页边距 上、下均为2.5CM,左、右均为2CM,左右对称。图、表要有标号及名称,如: 图1.1 XXXX,表1.1 XXXX;公式要有编号,如 (1.1)。附件三数字系统设计课程设计说明书EDA数字系统综合设计与实践起止日期: 2013 年 12 月 20 日 2014 年 1 月 3 日 共 2 周学生姓名班级学号成绩指导教师(签字)电气与信息工程学院2013年 1 月 4 日一、综合计时系统的设计1. 系统设计原理设计一个综合性的计时系统,要求能实现年、月、日、时、分、秒及星期的计数等综合计时功能,同时将计时结果通过15个七段数码管实现显

9、示,并且可通过两个设置键,在计时过程中,对计时系统的有关参数进行调整。如图所示,该计时系统的设计共分为三个主要模块:综合计时电路(ITC)、显示控制电路(DUC)及调整控制电路(ATCC)。其具体模块功能在此不再详细描述。综合计时电路(ITC)可分为计秒电路、计分电路、计时电路、计星期电路、计日电路、计月电路和计年电路,共七个子模块。显示控制电路(DUC)使用的是十五个七段显示数码管。它可分为两个子模块:(1).显示控制电路:负责完成数据选择扫描及数码管位选择信号的产生,数据扫描选择输出,对于选择的数据进行BCD码转换等功能。(2).显示译码电路:将用于显示的BCD码数据进行译码。正常调秒调日

10、调月调时调分调年 调整控制电路(ATCC)是通过模式和调整两个外部键完成。其中模式键负责切换正常时间计数模式和时间调整模式,调整键负责在时间调整模式下,对当前模式计时结果进行调整。在模式选择过程中,被选择到的调整模式所对应的发光二极管会被点亮。而正常模式中,7个发光二极管都不会被点亮。模式调整的VHDL程序主要是通过一个状态机来实现。 调整模式切换顺序(图)2. VHDL程序设计在这次课程设计中,我们运用学习过的VHDL语言编译本次课程设计相关功能的模块。 1.CNT7.VHD-CNT7.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.

11、STD_LOGIC_UNSIGNED.ALL;ENTITY CNT7 ISPORT(LD: IN STD_LOGIC;CLK: IN STD_LOGIC;DATA: IN STD_LOGIC_VECTOR(2 DOWNTO 0);NUM: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);END ENTITY CNT7;ARCHITECTURE ART OF CNT7 ISBEGINPROCESS(CLK,LD) ISBEGINIF(LD='0')THENNUM<=DATA;ELSIF CLK'EVENT AND CLK='1'

12、; THENIF NUM="111" THENNUM<="001"ELSENUM<=NUM+1;END IF;END IF;END PROCESS;END ARCHITECTURE ART;CNT7.VHD在程序中是实现计星期功能。由下级进位信号作为该级输入信号。并有可输入输出端口实现了在调整模式中的算法人机交互。实现调整功能。由于CNT12.VHD、CNT24.VHD及CNT100.VHD在形式上与上述内容类似,分别以计月、计时、计年的功能,且都能实现调整模式中的算法人机交互。因此不再赘谈。2. DECODER3_8.VHD-DECODER

13、3_8.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DECODER3_8 ISPORT (DIN: IN STD_LOGIC_VECTOR (2 DOWNTO 0);DOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END DECODER3_8 ;ARCHITECTURE RTL OF DECODER3_8 ISBEGINDOUT <= "10000000" WHEN (DIN = "111" ) E

14、LSE "01000000" WHEN (DIN = "110" ) ELSE "00100000" WHEN (DIN = "101" ) ELSE "00010000" WHEN (DIN = "100" ) ELSE "00001000" WHEN (DIN = "011" ) ELSE "00000100" WHEN (DIN = "010" ) ELSE "00000010&q

15、uot; WHEN (DIN = "001" ) ELSE "00000001" ;END RTL ;DECODER3_8.VHD实现的是显示调整模式的发光二极管亮灭逻辑,通过该源程序,我们能更为直观的选择、调整计时系统中相应的模式。3. DECODER4_7.VHD-DECODER4_7.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DECODER4_7 ISPORT(BCD4:IN STD_LOGIC_VECTOR(3 DOWNTO

16、 0);SEGOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END DECODER4_7;ARCHITECTURE ART OF DECODER4_7 ISBEGINSEGOUT7<="0111111" WHEN (BCD4 = "0000") ELSE"0000110" WHEN (BCD4= "0001") ELSE"1011011" WHEN (BCD4= "0010") ELSE"1001111" WHEN (B

17、CD4= "0011") ELSE"1100110" WHEN (BCD4= "0100") ELSE"1101101" WHEN (BCD4= "0101") ELSE"1111101" WHEN (BCD4= "0110") ELSE"0000111" WHEN (BCD4= "0111") ELSE"1111111" WHEN (BCD4= "1000") ELSE&qu

18、ot;1100111" WHEN (BCD4= "1001") ELSE"0000000"END ARCHITECTURE ART;DECODER4_7.VHD将显示控制器(DUC)中输出的BCD码进行译码后作为七段共阴极发光二极管的输入信号,实现了最终的阿拉伯数字显示在系统功能面板上。(注:该显示部分由十五个共阴极发光二极管构成。)3. 时序仿真与分析 CNT60.VHD模块仿真波形如下:CNT60.VHD实现了从0到59的循环计数,每实现一次59到0的计数动作,计数模块输出一个进位信号。当LD端有低电平输入时,说明置数信号(LD)有效,模块

19、将预置数(DATA)56送入计数结果(NUM)中去,计数模块从56开始重新计数。当计数结果(NUM)从零开始计数时,产生一个进位信号(CO)。CNT30.VHD的仿真波形如下:在正常计数过程中,模块实现了从0到最大天数(MAX_DAYS)的循环计数,每实现一次最大天数(MAX_DAYS)到0的计数动作,计数模块输出一个进位信号。当LD端有低电平输入时,说明置数信号(LD)有效,模块将预置数(DAY)20送入计数结果(NUM)中去,计数模块从20开始重新计数。.CNT7.VHD波形图如图:该图实现的是计星期,NUM为输出端(设置为可输入输出端口),DATA为输入端,上级输出信号CO作为该级别CL

20、K的输入信号,LD为置位信号。如波形所示,该部分实现了周一到周日的循环。完成预定要求。CNT12.VHD波形图如图:该图在功能上与上图是相应的计月份。实现了从一月份到十二月份的循环。完成预定要求。.VHD24.VHD波形图如图:该图在功能上是实现计小时。实现了从1点(时刻)到24点(时刻)的循环。完成预定要求。 DECODER3_8.VHD波形如图:该图在功能上是通过译码后实现调整模式选择,即系统功能面板上的调整模式切换。从输出波形上来说,输出波形有且只有一位为高电平,在共阴极二极管会显示该模式正在处理。完成预定要求。DECODER4_7.VDH波形如图:该图在功能上是将BCD码译码到数码显示

21、管上相应的要求数码。由波形图可知,该图是正确的。(如输出0111111B显示的是0D;0000110B显示的是1D等。)完成预期要求。4. 逻辑综合与分析综合逻辑组合图如图:最后是整体波形的仿真图如下:由于相关的波形的设置较为复杂,就简略的设置了一下相应的波形,确保了输出显示。然而在模式选择的输出端却有所欠缺,由于时间较为紧迫,因此没有具体去优化该输入信号的给与。在整体设计中,此次课程设计基本成功。5. 硬件验证及结果此次课程设计,由于实验设备的有限,以及时间的欠缺。并没有实现其下载到开发板上验证。6.设计收获与体会学习EDA已经一个学期了,这次才真正把它运用到实际的项目中,可是说受益匪浅。

22、刚开始,在理论的学习中,我觉得很容易,没有多大的难道,但是将其要用到实际的过程中去实现某项功能时,确实比想象中要难很多; 程序代码的正确性是保证功能实现的基础,同时应该注意,保证文件名与实体名相一致,对VHD的仿真和编译也很需要耐心,只有很耐心的修改程序的每一个错误,才可以完成一项设计;当锁定引脚时,要注意我们使用的是IO端口,其他端口则要慎重使用;在进行波形仿真的时候,我们需要根据要求设定它的输入信号,同时选择合适的时钟脉冲。只有这样一步步往下走,才能成功; 这次课程设计非常感谢黄老师的用心教导,我才能在这么短的时间内完成,我相信在以后的工作或者学习中,对于EDA的运用会更加得心应手。二、S

23、OBEL图像边缘检测器的设计1. 系统设计原理该系统的主要设计原理是采用现代电子设计的最新技术EDA技术,使用高速可编程逻辑器件PFGA/CPLD自行开发有关处理芯片成了一种全新的解决方案。如下组成框图所示:FPGA/CPLD边缘检测协处理器模式识别图像传感器CMOS CCD位置跟踪像素获取速度计算DSP+FPGA/CPLD图像主处理器其中图像传感器CCD的功能是获取外界图像的各个像素点灰度值;图像主处理器采用数字信号处理器DSP,主要负责对图像传感器传送的灰度信息进行存储,并负责调用协处理器进行边界像素判别,找出我们感兴趣的目标对象,从而得到该对象的运动信息,以便控制执行装置进行位置跟踪;边

24、缘检测协处理器为FPGA/CPLD,主要是完成主处理器传送过来的像素的边界判别,并把处理结果返回到主处理器中。在本系统中,各项设计指标为:数据吞吐量>10Mb/s;动态响应时间<100ms/frame。主处理器初步选用德州公司的DSP芯片TMS320C5402,协处理器拟采用ALTERA公司的FLEX10K20。图像处理系统接口关系如下图所示:CCDDriverFLEX10K20TMS320C5402Executor 边缘可定义为图像中灰度发生急剧变化的区域边界,它是图像最基本的特征,是图像分析识别前必不可少的环节,是一种重要的图像预处理技术。边缘检测主要就是(图像的)灰度变化的度

25、量、检测和定位,它是图像分析和模式识别的主要特征提取手段,它在计算机视觉、图像分析等应用中起着重要的作用,是图像分析与处理中研究的热点问题。在过去的20年里产生了许多边缘检测器,如Rorberts算子,Sobel算子,Prewitt算子,Laplacian算子等。由于Sobel算法只涉及加法操作,但却可以得到很好的划分效果,因而是图像处理系统中最常用的边缘检测算法。Q0Q3Q6Q1i,jQ7Q2Q5Q8Sobel算法包括带4个3×3掩码的输入图像数据,即Sobel算子,它设置权重来检测水平、垂直、左对角、右对角各个不同方向上密度幅度的不同。这个过程通常被称为过滤。我们来看像素窗口(3

26、×3),如图1所示。水平、垂直、左对角、右对角各图像方向上密度幅度的变化可以用如下算子进行计算:H=(Q0+2Q3+Q6)-(Q2+2Q5+Q8);V=(Q0+2Q1+Q2)-(Q6+2Q7+Q8);DR=(Q1+2Q0+Q3)-(Q5+2Q8+Q7);DL=(Q1+2Q2+Q5)-(Q3+2Q6+Q7);H,V,DL,DR这四个参数用于计算梯度大小和方向。我们通过对图像灰度作直方图分析后,便可以给出区分度阀值 像素框Threshold,区分度阀值往往要借助一定的经验并需要反复调整。如果Magnitude大于Threshold,则该像素被声明为边界像素,否则为一般像素。本课题就是要求

27、使用LPM兆功能块设计和VHDL程序设计相结合的方式或全部采用VHDL程序设计方式,用FPGA/CPLD实现Sobel算法。运用CPLD/FPGA设计有关图像处理模块,对象系统速度改善是非常明显:处理一帧图像的时间为800*600*80ns=38.4ms,结果处理速度比DSP高了约两个数量级。2. VHDL程序或原理图设计该课题主要涉及的是LPM兆功能模块的定制。其VHDL程序有:COUNTER.VHD,COMPARE.VHD,RESULT.VHD,REG.VHD及CNT3.VHD。-COUNTER.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENT

28、ITY COUNTER ISPORT(CLK:IN STD_LOGIC;CO:OUT STD_LOGIC);END ENTITY COUNTER;ARCHITECTURE ART OF COUNTER ISSIGNAL CNT:NATURAL RANGE 0 TO 2;BEGINPROCESS (CLK) ISBEGINIF CLK'EVENT AND CLK='1' THENIF CNT=1 THENCNT<=0;CO<='1'ELSECNT<=CNT+1;CO<='0'END IF;END IF;END PRO

29、CESS;END ARCHITECTURE ART;该程序实现的是产生一个二分频的波形作为输入信号。-COMPARE.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COMPARE ISGENERIC(SIZE:INTEGER:=11);PORT(DAT1,DAT2:IN STD_LOGIC_VECTOR(SIZE DOWNTO 1);MAX:OUT STD_LOGIC_VECTOR(SIZE DOWNTO 1);END ENTITY COMPARE;ARCHITECTURE

30、ART OF COMPARE ISBEGINPROCESS(DAT1,DAT2)BEGINIF(DAT1(SIZE-1 DOWNTO 1)>DAT2(SIZE-1 DOWNTO 1) THENMAX<=DAT1;ELSE MAX<=DAT2;END IF;END PROCESS;END ARCHITECTURE ART;该程序实现的是两个数据的比较。-RESULT.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY RESULT ISGENERIC(SIZE:INTEGER:=11);PORT(CLK:IN STD_LOGIC

31、;H,V,DR,DL:IN STD_LOGIC_VECTOR(SIZE DOWNTO 1);THRESHOLD:IN STD_LOGIC_VECTOR(8 DOWNTO 1);MAX:IN STD_LOGIC_VECTOR(SIZE DOWNTO 1);MAGOUT:OUT STD_LOGIC;DIR:OUT STD_LOGIC_VECTOR(3 DOWNTO 1);END ENTITY RESULT;ARCHITECTURE ART OF RESULT ISBEGINPROCESS(CLK,THRESHOLD)BEGINIF(CLK'EVENT AND CLK='1'

32、) THENIF(MAX(SIZE-1 DOWNTO 1)>"00"&THRESHOLD) THEN MAGOUT<='1'IF(MAX=H AND H(SIZE)='0') THEN DIR<="000"ELSIF(MAX=H AND H(SIZE)='1')THEN DIR<="100"ELSIF(MAX=V AND V(SIZE)='0')THEN DIR<="010"ELSIF(MAX=V AND V(SI

33、ZE)='1')THEN DIR<="110"ELSIF(MAX=DR AND DR(SIZE)='0')THEN DIR<="001"ELSIF(MAX=DR AND DR(SIZE)='1')THEN DIR<="101"ELSIF(MAX=DL AND DL(SIZE)='0')THEN DIR<="011"ELSIF(MAX=DL AND DL(SIZE)='1')THEN DIR<="1

34、11"END IF;ELSE MAGOUT<='0'DIR<="000"END IF;END IF;END PROCESS;END ARCHITECTURE ART;该程序的功能就是根据区分度阈值、四个滤波器的输出及其最大值进行边界的判断。-REG.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG ISPORT(CLK:IN STD_LOGIC;D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0

35、);END ENTITY REG;ARCHITECTURE ART OF REG ISBEGINPROCESS(CLK) ISBEGINIF(CLK'EVENT AND CLK='1')THENQ<=D;END IF;END PROCESS;END ARCHITECTURE ART;该程序所描述的就是一个寄存器REG。-CNT3.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CNT3 ISPORT(CLK:IN STD_LOGIC;CO:OUT STD_LOGIC);END ENTITY CNT3;ARCHITECTURE ART OF CNT3 ISSIGNAL CP:NATUR

温馨提示

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

评论

0/150

提交评论