欢迎来到天天文库
浏览记录
ID:44092548
大小:241.75 KB
页数:6页
时间:2019-10-18
《可编程逻辑实验报告07》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、可编程逻辑实验报告系别班级姓名学号成绩实验FI期实验名称移位寄存器设计实验目的•掌握移位寄存器电路设计的方法。•通过开发CPLD来实现吋序逻辑电路的功能。-:实验原理简述(原程序、真值表、原理图)(1)设计一个能自启动的环形计数器实现如图4-7-1所示状态转换图。厂—、、—、、1000丿J0100J_—占—丄-、(0001>(0010、)、■—一丿J_/图4-7-1环行计数器有效状态转换图其他状态都转移到0010状态。(2)节日彩灯电路设计要求当输入连续脉冲时,4个彩灯(发光二极管)既可以从右向左逐位亮继而逐位灭,又可以从左向右逐位亮继而逐位灭。Rd的功能是清0。k是
2、起装换作用的,控制灯左移还是右移。k=1时•:s(t)N(t)qsnq?nqinqo°小n+l小nil小n+l小nilq3Q?Qiqo0000100010001100110011101110mimi0111()11100110011000100010000k=0时・:s(t)N(t)qsnq?nqinqon小n+l小nil小n+l小nilq3Q?Qiqo0000000100010011001101110111mimi1110111011001100100010000000三:实验测量记录(数据、仿真波形图及分析、原程序分析、硬件测试实分析)1、环形计数器代码:Libr
3、aryieee;Useieee.stdlogic1164.all;EntitvshiftisPort(elk,set:TNstdlogic;q:0UTstdlogicvector(3downto0));End;ArchitecturebhvofshiftisSignalq_s:std_logic_vector(3downto0);Beginprocess(elk,set,qs)Beginif(set='O')thenq_s<=/z0000z/;elsif(elk"eventandelk二T‘)thenCaseq_sisWhenzz0001〃二〉q_s〈二〃1000〃;
4、When"1000"二〉qsVOlOO";When,z0100,/=>q_s<=,/0010//;Whenz/0010,/=>qs〈二“0001";Whenothers二〉q_s〈二"0010";EndCase;Endif;Endprocess;q<=q_s;End;环形计数器仿真图:&shiftscf•WaveformEditorI三I旦画Ref:426.0ns
5、亟Time:321.0nsInterval:」04.0n$二425.0ns-□Name:Value;I50.0nslOO.Ons150.0ns200.0ns260.0ns300.0ns350.0n$400.
6、0ns450.0ns500—l-set4dk—111——BqH201211I8(!2PIoi1初q_sH2JL121118412Id»212、节日彩灯电路原理图:节口彩灯电路代码:Libraryieee;Useieee.stdlogic1164・all;EntitvshiftlisPort(elk,rd,k:INstdlogic;q:0UTstdlogicvector(3downto0));End;ArchitecturebhvofshiftlisSignalq_s:std_logic_vector(3downto0);Beginprocess(elk,rd,k,qs
7、)Beginif(rd二’O')thenq_s<=,,0000,/;elsif(elk'eventandelk=,T)thenif(k='O')thenCaseqsisWhen//0000,,=>q_s<=,,000r;When'OOO1z,=>q_s<=,,001T;When"0011〃=>qs"〃0111〃;When〃0111〃=>q_s<=〃llll〃;When"1111"二〉q_s<=//1110";When〃1110J>q_s"〃1100〃;When'l100〃=>q_s<=〃1000〃;When"1000J>qs<=z,0000,z;Whenothers二
8、〉q_s〈二"0000";EndCase;elsif(k二T)thenCaseq_sisWhenz/0000,z=>qs〈二〃1000〃;When"1000〃二〉q_s<=〃1100〃;When"1100"二〉qsVlllO";When"1110"二〉qsWlll";When,/llll,,=>q_s<=,/01ir/;WherTOlll〃二〉qs〈二〃0011〃;Whenz,0011,z=>qsV〃0001〃;When'0001"=>q_s〈二〃0000〃;Whenothers二〉qs<="0000";EndCase;Endif;Endif;End
此文档下载收益归作者所有