欢迎来到天天文库
浏览记录
ID:42895996
大小:141.00 KB
页数:11页
时间:2019-09-23
《VHDL多位地址低态动作译码器 高速分频器设计英文学习课件》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基础题一、题目名称:多位地址低态动作译码器二、对选题的理解(题目要求概述)多位地址低态动作译码器(输入:s1s2s3三位地址码,输出:t[4]t[3]t[2]t[1]t[0]五根地址选择线),其真值表下图。s1s2s3t[4]t[3]t[2]t[1]t[0]0000010100111001011101111111011110111011110111011101110111101111三、系统分析1、系统原理框图多位地址低态动作译码器s3s1s2t=11110t=11110t=11110t=11110t=111
2、10t=11110t=111102、流程图11输入s1,s2,s3000NN输出t=11110YYY001010011100101110111输出t=11110输出t=11101输出t=11101输出t=11011输出t=01111输出t=10111输出t=01111NNNNN113、设计要点设计要点中首先要定义实体名,如cai,输入数据s1,s2,s3,输出数据t[4]t[3]t[2]t[1]t[0],再者要注意s1,s2,s3要一起赋值给s。然而题目所给的提示使得编程变得简单。只要使结果与之对应即可。4、
3、难点和特色点题目中所给出的表格已经解决了这个题目的基本难点。四、逻辑仿真图及功能分析如果输入是:011根据所给的表格可以得到结果是:11101五、时序仿真及分析11时序仿真结果相对于功能仿真有一定的时延。六、调试过程与问题调试过程不难,但是也出现一些问题,首先程序运行时是无误的,程序也没有出现语句上的错误,但是输出结果是与提纲所给的表格不一致。最后我查看资料书才知道,是自己写的t值不正确。并且在调试的过程中,不了解quartus这款软件,使得我调试经常出现错误。八、附录(VHDL源程序)Libraryieee
4、;useieee.std_logic_1164.all;entitycaiisport(t:outstd_logic_vector(4downto0);s1,s2,s3:instd_logic);endentitycai;architectureoneofcaiissignals:std_logic_vector(2downto0);begins<=s1&s2&s3;process(s)begin11casesiswhen"000"=>t<="11110";when"001"=>t<="11110";when
5、"010"=>t<="11101";when"011"=>t<="11101";when"100"=>t<="11011";when"101"=>t<="10111";when"110"=>t<="01111";when"111"=>t<="01111";whenothers=>null;endcase;endprocess;endarchitectureone;综合题一、题目名称:高速分频器设计二、对选题的理解(题目要求概述)题目所要求的是:有一个10MHz的时钟源,为得到4Hz,3Hz,2Hz和1Hz的信
6、号,请设计一种分频器。原理:在原本一秒钟里输出10MHz的时间里输出4Hz,3Hz,2Hz和1Hz。主要思想:用计数器来将时钟源分频。三、系统分析clkmodeclr1、系统原理图高速分频器clk12、流程图11时钟源mode=00mode=11mode=10mode=01分为1Hz分为2Hz分为3Hz分为4Hz输出信号开始结束3、设计要点首先应设置一个clk,作为一个比较的频率,用它来和分频后波形进行比较,便于观察。其次11以100Hz为例,分为1Hz时,100/2-1=49,所以应定义一个6位的缓冲变量,
7、即variabletemp:std_logic_vector(5downto0)。由于10MHz太大难以看得清楚,故采用100Hz的信号源来进行实验。3、设计难点iftemp="110001"thentemp:="000000";ck<=notck;该句意思就是计数到了要跳变的地方就跳变,然后置零。设置temp:="000000"的目的是为了重新计数。ck<=notck;即跳变的命令。 四、时序仿真及分析1Hz2Hz3Hz114Hz六、调试过程与问题本题相对于基础题,有一定的难度。起初运行不出正确结果的主要问
8、题在于分频器内部的设计。分为1Hz时,100/2-1=49,49转化为二进制为110001,所以应定义一个6位的缓冲变量,即variabletemp:std_logic_vector(5downto0)。iftemp="110001"thentemp:="000000";ck<=notck;也是其关键之处。七、体会和建议11通过这次实验我认为,我们在做实验之前必须做足准备,不然在做实验的时候就会出现
此文档下载收益归作者所有