CPLD课程设计论文.doc_第1页
CPLD课程设计论文.doc_第2页
CPLD课程设计论文.doc_第3页
CPLD课程设计论文.doc_第4页
CPLD课程设计论文.doc_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

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

文档简介

cpld及电子cad 同组同学姓名: 1、 实验一 组合逻辑设计,实验装置的使用方法实验目的 :1. 通过一个简单的3-8译码器的设计,掌握用max+plus ii设计组合逻辑电路的设计方法;2. 初步了解cpld设计的全过程,初步掌握altera软件的使用;3. 掌握组合逻辑电路的静态测试方法。主要内容:进入windows操作系统,先建一个文件夹用来存放项目文件,打开max+plus ii设计软件,新建一个图形文件并指定项目名称,然后在文件中用基本逻辑元件编辑一个3-8译码器,编辑完后存盘并进行编译,编译无误后进行波形仿真来验证功能,当仿真结果正确后就可以写入芯片中进行测试。测试时将a,b,c三个输入分别分配到装置上的键1,键2,键3,八个输出d0、d1、d2、d3、d4、d5、d6、d7依次分配到八个数码管。实验数据图表 :逻辑电路图:仿真波形图:小结:通过这次课程的学习和试验操作,我们对eda实验装置有了一定的了解并且掌握了cpld 和fpga的主要区别,熟悉了max+plus ii的使用方法, 对组合逻辑电路的设计方法有了一定的了解。2、 实验二:用触发器设计异步四位二进制加法计数器实验目的:1.了解时序电路的经典设计方法(d触发器和jk触发器和一般逻辑门组成的时序逻辑电路);2.了解同步计数器和异步计数器的使用方法;3.了解用同步计数器通过清零阻塞法和预显数法得到循环任意计数器的设计方法;4.进一步掌握组合逻辑电路人设计方法;主要内容 : 用d触发器设计异步四位加法计数器。 实验数据图表:仿真波形图:逻辑电路图:小结与体会计数器分成同步计数器和异步计数器两种。对于同步计数器,输入时钟脉冲时触发器的翻转是同时进行的,而异步计数器中的触发器的翻转则不是同时。3、 实验三:进制,进制计数器实验目的:通过对进制计数器的编程,初步了解cpld设计的全过程;通过对进制计数器的编程,加深对cpld设计过程的了解,了解通用同步计数器的使用方法及工作原理,掌握vhdl语言的基本语法结构,并比较原理图输入和文本输入的优劣,并能够在此基础上做一些发挥设计任意进制的计数器,为下面实验特别是数字钟的综合设计做好基础。主要内容:.在 max+plus ii的环境下编写进制的vhdl程序,对此进行编译找出错误并修改,由此加深对vhdl的理解,然后做仿真波形输出,看波形是否正确。.在进制的vhdl程序上做一些修改,使之成为进制的计数器。实验程序:在6进制程序的基础上修改得到的进制程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jsq60 isport(clk,clr,en: in std_logic; carry : out std_logic; ge,shi :out std_logic_vector(3 downto 0);end;architecture one of jsq60 issignal g,s: std_logic_vector(3 downto 0);beginprocess(clk,clr,en,g,s)begin if clr=1 theng=0000;s=0000;elsif clkevent and clk=1 then if en=0 thenif g=1001 and s=0101 theng=0000;s=0000;carry=1;elsif g=1001 theng=0000;s=s+1;elseg=g+1;carry=0;end if;end if;end if;end process;ge=g;shi=5 thenspeaker=clk2;elsif fs=0 and fg=0 and ms=0 and mg=0 thenspeaker=clk3;elsespeaker=0; end if;end process;end;分频电路程序:1)30000分频器程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jsq30000_15_16 isport(fin: in std_logic; fout: out std_logic);end;architecture one of jsq30000_15_16 issignal m: std_logic_vector(14 downto 0);beginprocess(fin)begin if finevent and fin=1 then if m=111010100101111 then m=000000000000000; fout=1;elsem=m+1;fout=0;end if;end if;end process;end;2)100分频器进程:if clr=1 theng=0000;s=0000;elsif clkevent and clk=1 then if en=0 thenif g=1001 and s=1001 theng=0000;s=0000;carry=1;elsif g=1001 theng=0000;s=s+1;elseg=g+1;carry=0;end if;end if;3)24分频器进程:if clr=1 theng=0000;s=0000;elsif clkevent and clk=1 then if en=0 thenif g=0011 and s=0010 theng=0000;s=0000;carry=1;elsif g=1001 theng=0000;s=s+1;elseg=g+1;carry=0;end if;end if;4)3分频器进程:if clr=1 thenm=00;elsif clkevent and clk=1 then if en=0 thenif m=10 thenm=00;carry=1;elsem=m+1;carry=0; end if; end if;二选一电路程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dxy_15_16 isport( s :in std_logic; x : out std_logic_vector(23 downto 0); a :in std_logic_vector(23 downto 0); b :in std_logic_vector(15 downto 0);end;architecture one of dxy_15_16 isbegin with s select x=a when 0, b when others;end;模块功能:报时电路实现对整点提前五秒报时;分频电路实现对装置上的固定时钟信号分频得到我们需要的频率;二选一电路可以选择输出时间和定时时间,实现了数码管的复用;此外还做了比较器用于定点报时。小结与体会:vhdl采用基于库(library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。5、 实验五:数字钟的综合设计设计要求(数字中的功能) :1.具有时、分、秒显示功能,以24小时循环计时;2.具有清零,调节小时、分钟功能;3.具有整点报时功能,整点报时的同时led灯花样显示。4.整点报时:提前五秒低音响,正点高音,间断振铃频率为一秒。5.具有定时闹钟功能(由用户设定时间)。实验目的1. 掌握多位计数器相连的设计方法;2. 掌握十进制,六进制,二十四进制计数器的设计方法;3. 继续巩固多位共用级扫描显示数码管的驱动及编码;4. 掌握扬声器的驱动;5. led灯的花样显示;6. 掌握cpld技术的层次化设计方法。7. 能将数字钟的各个单元电路组合成整机电路。8.会装配和调试数字钟电路。9. 会用中规模集成电路制作出组合逻辑电路和时序逻辑电路。实验器材:1 eda实验箱 2 max+plus软件 实验原理:在同一芯片(ep1k30tc144-1)上集成如下电路模块:1.时钟计时: 微秒100进制bcd码计数器 秒60进制bcd码计数器 分60进制bcd码计数器 时24进制bcd码计数器除微秒外各个计数器有清零,调节功能。在接近整数时间时能提供报时信号。具有驱动8个数码管的片选驱动信号输出。扬声器在整点(及提前5秒)时和达到闹钟时驱动信号产生。8个led灯由led驱动器使之按照一定规律闪烁。2.用一个分频数为30000的分频器将3mhz的时钟分为100hz,再用100分频器即可得到1 hz时钟信号。3.实现8位数码管分时复用的功能模块s3_15_16,可以选择显示时钟时间、定时时间和微秒。 数字钟逻辑电路图:电路图说明:如上图所示,时钟电路由clock9提供3mhz的时钟信号给clk1,经过30000分频后得到100hz的时钟信号,在经过100分频即得到1hz(周期1s)的时钟信号,将其送入60进制计数器就实现了秒计数,60秒后产生一个进位脉冲送到60进制计数器的时钟输入端就实现了分计数,同理,60分钟后产生一个进位脉冲送到24进制计数器的时钟输入端就实现了小时计数。将秒计数器的个位、十位和分计数器的个位、十位接到报时器的输入端,当计数到59分55秒时报时器送出高电平驱动蜂鸣器,从而实现整点报时。定时电路由一个60进制计数器实现分计数和一个24进制计数器实现小时计数,计数脉冲由按键输入;将时钟电路分计数器的个位、十位和小时计数器的个位、十位&定时电路分计数器的个位、十位和小时计数器的个位、十位送入比较器比较,若都相等则比较器送出高电平驱动蜂鸣器实现定时提醒功能。s3_15_16为数码管显示选择模块,当输入信号select由按键输入“0”时选择显示时钟输出;select由按键输入“1”时选择定时电路输出;select由按键输入“2”时选择显示微秒输出;三种状态可调节按键循环显示。led模块由clock2提供时钟信号驱动8个发光二极管让其按照程序闪烁。电路与芯片ep1k30tc144-1连接的引脚分配表:按键名输入信号对应芯片引脚数码管名输出时钟信号显示的内容对应芯片的引脚1select83a19.16秒的个位67,65,42,4124a23.20秒的十位72,70,69,683tiaofen105a3.0分的个位80,79,78,734tiaoshi126a7.4分的十位86,83,82,815dingfen137a11.8小时的个位90,89,88,876dingshi178a15.12小时的十位96,95,92,917en18数码管名输出定时信号显示的内容对应芯片的引脚8clr195b3.0分的个位80,79,78,73clk11246b7.4分的十位86,83,82,81cllk2567b11.8小时的个位90,89,88,87clk3548b15.12小时的十位96,95,92,91clk4126数码管名输出微秒信号显示的内容对应芯片的引脚speaker995a3.0微秒的个位80,79,78,736a7.4微秒的十位86,83,82,81小结:通过对数字钟的设计,基本掌握了设计大型项目的设计方法,即先设计项目要用到的各个底层模块,然后将底层模块搭建成能实现项目功能的电路。6.实验六 protel99se原理图、印制电路板图(pcb)设计原理图:网络节点表:pcb图网络节点比较表:小结:通过使用protel99设计简单的555时基电路pcb图,大概了解了实际pcb板的eda实现方法。7. 学习本课程的体会通过本课程

温馨提示

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

评论

0/150

提交评论