计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

可预置串行序列信号发生器设计与实现-自动化毕

2013-05-13 01:07
导读:自动化论文毕业论文,可预置串行序列信号发生器设计与实现-自动化毕样式参考,免费教你怎么写,格式要求,科教论文网提供大量范文样本:   实验目的 进一步了解时序电路描述方法 二.重

 

实验目的
进一步了解时序电路描述方法
二.重点和难点
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科教作文网)
分析:源程序中奇偶校验输出的赋值语句位置不恰当。
解决:修改源程序,将奇偶校验输出的赋值语句加在输入开始的控制脉冲高电平来临时。
九、实验总结与结论
总结:本次实验是一个比较综合性的实验,主要是以时序逻辑的设计为主,要求电路在不同的时段,输出的不同的量。既练习了时序计数的方法,也练习了奇偶校验器的原理编程,同时要求有较好的进程逻辑。
结论:完成了实验的任务要求,输出准确地显示了时序脉冲信号和奇偶校验的结果,同时也达到了对时序逻辑的设计的掌握的目的。

    上一篇:改善直接数字合成周期信号频率分辨率的两种波 下一篇:没有了