- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CPLD课程学习报告,cpld学习,cpld学习视频,学习cpld需要什么基础,cpld和fpga的区别,cpld是什么,fpga与cpld区别,fpgacpld,cpld教程,cpldfpga区别
CPLD课程学习报告
学生姓名: 同组者:
历经接近两个月的学习,我对CPLD这门课程有了一个大概的了解,同时也掌握了其中一些基础知识,可以说这门课为我以后的专业课学习奠定了一个很好的基础。在这段学习的过程中,我觉得自己不仅收获了好多,而且也成长了不少。一方面,通过这门课程,我可将上学期所学的电子技术基础的相关知识融入到了实践中;另一方面,这段学习的过程很好地培养了自己独立思考,严谨的思维的习惯。以下描述便是我在整个学习的重要过程。
熟悉“工作“环境
记得上第一课时,在讲述了本课程的相关要求和目的后,老师主要跟我们介绍了学习中用到的两个工具—一个软件即MAX+PLUSII,一个硬件EP1K30141.前者是我们设计的平台,有点类似VC++软件。通过这个软件,我们可设计相关的图形原理文件,也可以采用有关语言如VHD语言设计;后者则是用来下载测试我们设计的产品是否可以达到原始的要求,同时也是对原理文件可行性的一个测试。在利用这个软件设计时应注意以下几点:首先要建立一个项目名的文件夹,并将所有的相关文件保存在此文件夹下;其次,是在编译原理图时一定要保证编译的文件名与目标文件名一致;最后在下载仿真时也要确认下载的是目标文件。老师讲解完后,为了让我们进一步熟悉这个操作环境,老师让我们制作一个由原理图实现的138译码器,并下载演示其功能。总之,设计的整个过程主要是编辑—编译—仿真—分配引脚—下载。制作的图片如下:
原理图:
波形图:
封装图:
操做过程中的问题及反思:
在这次实践中我们组并没有又快又好的完成要求,甚至到下课时译码器还没完全做好。这其中的一个重要原因是我们缺少对原理图的仔细地认识,只知道照着图做但又不够细心,致使大部分时间白白花费在画原理图上;另一方面我们对整个操作不是很熟练,有许多细节操作都不清楚。还一个原因便是由于我坐在后面,开始老师在讲时,有些重点没看清楚也没听清楚;当然这只能怪自己。这次的学习给我最深刻的体会是:一、要明确自己的位子即自己再也不是一名小学生,无论做什么事情都应该动脑子而不能只是照搬老师的东西不思考其中的原由。二、要学会为自己负责任,做事情不可以的总是那么呆板。在后面听不见自己就要学会解决这点小问题,有什么好怕的。
接触VHD编程语言
通过第一次课的学习——用相关的原理图设计一个138译码器,尽管原理图老师已给出但我们同时也感到受到用其中的复杂性。而这次课,老师主要给我们介绍了用VHD编程语言如何实现这些功能。由于有了C语言的基础,学起来还算顺利,但同时也存在一问题。如有时还是会出现一些基础语法的错误和逻辑错误。记得在后面写跑马灯的程序时就没把“ELSE”和“ELSIF”的区别弄清楚,也许错了一次才会理解得越深刻吧!掌握这种语言后,我们类似地设计了各种计数器如CNT100,CNT60,CNT24,数据选择器等;这是后面数字钟的设计的基础。
现已CNT60和二选一的数据选择器为例来介绍VHD语言的使用:
和原理图设计一样,在最开始都应该是建一个项目名,这一点在整个CPLD设计过程中我们都应牢牢记住!
CNT60的原理文件:(注意文件后缀一定要保存为·VHD)
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity cl46_cnt60 is
port(clk,en,clr:in std_logic;
gw,sw:out std_logic_vector (3 downto 0);
c_out:out std_logic);
end;
architecture one of cl46_cnt60 is
signal m,n:std_logic_vector (3 downto 0);
begin
process(clk,clr,en)
begin
if clr=’1’ then m=”0000”;n=”0000”;
elsif clk’event and clk=’1’ then
if en=’0’ then
if m=”1001” and n=”0101” then
m=”0000”;n=”0000”;c_out=’1’;
elsif m=”1001” then
m=”0000”;n=n+1;c_out=’0’;
else
m=m+1;c_out=’0’;
end if;
end if;
end if;
end process;
gw=m;sw=n;
end;
在编写这段程序时主要是注意如何准确无误地把这个设备的功能描述
文档评论(0)