论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
实验目的
进一步了解时序电路描述方法
二.重点和难点
VHDL 语言中时序设计基础
VHDL 语言中同步时序设计
三.设备器材
稳压电源, 万用表, 示波器, 计算机 实验板一块,Quartus2,Synplify8.1
四.源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity produce is
port(
clk:in std_logic; ——定义时钟变量
bnt1,bnt2:in std_logic; ——定义异步控制变量
sw:in std_logic_vector(7 downto 0); ——定义输入变量
ld5,ld8:out std_logic ——定义输出变量
);
end;
architecture produce_arch of produce is
signal t:integer range 0 to 9;
signal k:std_logic; ——定义敏感变量
begin
process(bnt1,bnt2,t,clk,sw)
begin
if(bnt2='1') then t<=0;
elsif(bnt1='1') then t<=1;
k<='1' xor sw(0) xor sw(1) xor sw(2) xor sw(3) xor sw(4) xor sw(5) xor sw(6) xor sw(7); ——确定奇偶校验结果
elsif(clk'event and clk='1') then
if (t=1) then t<=2; (科教范文网http://fw.ΝsΕΑc.com编辑)
elsif (t=9) then t<=9;
elsif (t>0) then t<=t+1; ——确定时钟周期,即时序脉冲的长度
end if;
case t is
when 0=> null;
when 1=>ld5<=sw(7);
when 2=>ld5<=sw(6);
when 3=>ld5<=sw(5);
when 4=>ld5<=sw(4);
when 5=>ld5<=sw(3);
when 6=>ld5<=sw(2);
when 7=>ld5<=sw(1);
when 8=>ld5<=sw(0);
when 9=>ld5<=k;
when others=>null; ——时序信号赋值
end case;
end if;
end process;
ld8<=clk;
end;
五.思考题:
[预习思考题]
1) 怎样在本次设计里面体现出顶层设计和底层设计(解释一下你
的功能划分和端口定义)?
clk: 时钟输入; (转载自中国科教评价网www.nseac.com )
btn1:异步控制输入,控制序列脉冲发生的开始
btn2:异步控制输入,异步复位;
Sw:脉冲输入信号,完成序列脉冲的预制
ld5:脉冲输出与奇偶校验结果输出
Ld8:时钟信号输出;k: 信号敏感中间变量;
t:敏感信号变量,确定输出序列长度
2) 怎样保证第一位数据的输出时间与其他数据位的输出时间相
等?
答:采用同步上升沿的信号输入控制。
六、实验内容:
用VHDL 描述一个8 位同步并行预置,串行输出带奇偶校验位的
序列信号发生器,完成编译、仿真和下载。
要求:
1) 输入用8个拨码开关SW1~SW8 预置要移位的数,最高位为
SW1,最低位为SW8
2) 用按键BTN1 作为预置并开始按键
3) 用按键BTN2 作为系统复位键
4) 输入时钟选择LOW
5) 用发光二极管LD8 显示输入的时钟信号,利用这个发光二极
管调节输入时钟的频率为0.5Hz 左右,即亮1 秒,灭1 秒
6) 用发光二极管LD5 显示输出的序列信号,要求先输出最高位,
最后停留在奇偶校验位上
7) 按下开始键后依次显示拨码开关的各位数,最后显示奇偶校验
结果
8) 前八个数据位每个输出位都要保持相同的时间,最后显示保持
在校验位上。特别要注意第一位数据的输出时间。
七、实验步骤
1、编写源程序并进行编译调试检查仿真逻辑电路图。
2、编辑输入电平形式,观察时序仿真波形图,检查输出电平与输入电平之间的关系是否满足电路要求。
3、检查无误后下载电路,按规定输入合适二进制数码,检验数码管是否输出正确数码。
八、实验问题与分析解答
1、实验中发现在第二次预制的信号开始前奇偶校验结果无法保持。 (转载自http://zw.NSEAC.com科教作文网)
分析:源程序中奇偶校验输出的赋值语句位置不恰当。
解决:修改源程序,将奇偶校验输出的赋值语句加在输入开始的控制脉冲高电平来临时。
九、实验总结与结论
总结:本次实验是一个比较综合性的实验,主要是以时序逻辑的设计为主,要求电路在不同的时段,输出的不同的量。既练习了时序计数的方法,也练习了奇偶校验器的原理编程,同时要求有较好的进程逻辑。
结论:完成了实验的任务要求,输出准确地显示了时序脉冲信号和奇偶校验的结果,同时也达到了对时序逻辑的设计的掌握的目的。