欢迎来到天天文库
浏览记录
ID:17649894
大小:154.84 KB
页数:9页
时间:2018-09-04
《电子设计自动化-多路波形发生器报告1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、四、源程序及仿真波形libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityVHDLisport(clk,reset:instd_logic;div:instd_logic_vector(1downto0);ctrl:instd_logic_vector(1downto0);outa,outb,outc:outstd_logic);endVHDL;architectureabcofVHDLissignalcount:
2、std_logic_vector(7downto0);signala:integer;beginprocess(clk,reset)isbegina<=conv_integer(div);if(clk'eventandclk='1')thenif(reset='0')thencount<="00000000";elseifcount=6*a+5thencount<="00000000";elsecount<=count+1;endif;endif;endif;endprocess;process(count)begina<=conv_integer(div);if(
3、reset='0')THENouta<='0';outb<='0';outc<='0';elsecasectrliswhen"01"=>ifcount<=3*a+2thenouta<='1';elseouta<='0';endif;ifcount<=5*a+4andcount>=2*a+2thenoutb<='1';elseoutb<='0';endif;ifcount<=4*a+3andcount>=a+1thenoutc<='0';elseoutc<='1';endif;when"10"=>ifcount<=2*a+1thenouta<='1';elseouta
4、<='0';endif;ifcount<=4*a+3andcount>=2*a+2thenoutb<='1';elseoutb<='0';endif;ifcount>=4*a+4thenoutc<='1';elseoutc<='0';endif;when"11"=>ifcount<=4*a+3thenouta<='1';elseouta<='0';endif;ifcount>=2*a+2thenoutb<='1';elseoutb<='0';endif;ifcount<=4*a+3andcount>=2*a+2thenoutc<='0';elseoutc<='1';
5、endif;whenothers=>null;endcase;endif;endprocess;endabc;6分频,1:1占空比6分频,1:2占空比6分频,2:1占空比12分频,1:1占空比12分频,1:2占空比12分频,2:1占空比18分频,1:1占空比18分频,1:2占空比18分频,2:1占空比18分频,1:1占空比18分频,1:2占空比18分频,2:1占空比实验心得:通过本学期的理论学习,虽然我具备了扎实的理论基础功底,但是实际上在编写这个多路波形发生器时,我真没少费心思。经过多次不断地尝试和努力,最终很好地完成了本次实验,而且源程序也经过我的不断修改,已经
6、变得很精简了,即以最短、最精简的程序完成较为复杂的设计,从而提高了效率。一开始前面几个角简单的程序都有一些参考程序来帮助我建立起些程序的思路,但是这个多路波形发生器是唯一让我纠结的程序。因为一开始没有找到编写的方向和思路,很盲目地去网上找一些前人的资料来看,但是基本上找不到,最后还是靠自己一步一步、踏踏实实地写出来了。虽然编写程序的过程艰辛、很痛苦,花了很多时间,耽误了不少事,但是我认为很值得,因为这是一个人锻炼自己的过程。虽然看别人的程序真的能省不少事,但是到头来收益的永远不是自己,而是他人。当看到自己的程序一点点地完成,功能一点一点的实现时,那种心情是很不一样的
7、,是在享受自己的劳动成果的激动心情。其实完成这个程序,让我对所学理论知识有了更深的理解,并且对我的考试复习有很大的帮助,因为在写程序的过程中才是真正掌握知识的时候。谢谢!
此文档下载收益归作者所有