实验 4 巴克码发生器

4.1 实 验 目 的

1. 实现一个在通信领域中经常使用的巴克码发生器。

2. 掌握用大规模可编程逻辑器件实现时序电路的方法。

4.2 实 验 仪 器 与 器 材

1. EDA 开发软件 一 套

2.微机 一 台

3.实验开发系统 一 台

4.打印机 一 台

5.其他器件与材料 若 干

4.3 实 验 说 明

巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。它能自动产生 周 期 性 的 序 列 码 。本 实 验 要 求 产 生 的 序 列 码 信 号 为 {1110010},可 以 用 寄 存 器 或 同 步 时序电路实现。为了能够通过实验开发系统验证实验结果,可以使用两个输出端, 其中一个输出端同时输出巴克码,另一个输出端输出节拍。巴克码发生器的功能框 图见图 4.1 所示。 图 4.1 巴克码发生器示意图

4.4 实 验 要 求

1. 写出全部设计文件。

module bk(

       input clk,

       input rst,

       output reg out,

       output reg c);

       reg [2:0]count;

       parameter code = 7'b1110010;

initial

       begin

              c<=8'b00000000;

              out<=1'b0;

       end

      

always@(posedge clk  or negedge rst   )

begin

       if(!rst)

              count=3'b000;

       else if(count==3'b110)

       begin

              count=3'b000;

              c=~c;

       end

       else

              count=count+3'b001;

end

always @(posedge clk or negedge rst )

begin

       if(!rst)

              out=1'b0;

       else

              out=code[count];

end

endmodule

2. 编写测试向量,进行功能仿真。

`timescale 1ns / 1ns

module bktb;

  reg clk, rst;

  wire out;

  wire c;

bk U1(.out(out), .clk(clk), .rst(rst),.c(c));

  initial begin

    {clk, rst} = 1'b0;

        #1000 rst=1'b1;

  

    forever #250 clk = ~clk;

  end

endmodule


 

3. 下 载 并 用 实 验 板 验 证 。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值