FPGA使用Verilog HDL设计分频器

 实验目的

  1. 掌握使用Vivado软件进行设计、综合、仿真、布线的方法。
  2. 掌握FPGA程序的下载方法。
  3. 掌握使用Verilog HDL设计分频器的方法。

 实验要求

 采用Verilog HDL语言设计分频器,实现以下功能:

  1. 输出时钟周期为1s的分频时钟信号;
  2. 通过LED灯或数码管显示秒数,可对9s内的秒数进行计数;
  3. 当按下复位按键时,重新开始计数。

对设计进行综合、仿真、布线、下载和测试。

 实验过程

  1. 打开Vivado软件,新建一个工程。
  2. 新建设计文件,使用Verilog HDL语言设计程序,实现分频器功能。

代码如下:

我这个是通过一个数码管显示的

timescale 1ns / 1ps
module exp2(
    input clk,//时钟
    input rst,//复位
    output reg clk_out,//分频后
    output reg [7:0]out,//数码管位选和显示
);
parameter LW = 25000000;

reg [31:0]count;
reg [3:0]second;
always @(posedge clk or negedge rst) 
    begin
        if(!rst)
            begin 
                clk_out <= 0;
                count <= 0;
            end
        else
            if (count < LW - 1)
                begin
                    count <= count + 1;
                end
            else
                begin
                    count <= 0;
                    clk_out <= ~clk_out;
                end
    end
always @(negedge clk_out or negedge rst)
begin
	if (!rst)
		second <= 0;
	else
        	if (second < 9)
            	second <= second + 1;
        	else
            	second <= 0;
        case(second)
            0:out <= 8'b01111110;
            1:out <= 8'b00110000;
            2:out <= 8'b01101101;
            3:out <= 8'b01111001;
            4:out <= 8'b00110011;
            5:out <= 8'b01011011;
            6:out <= 8'b01011111;
            7:out <= 8'b01110000;
            8:out <= 8'b01111111;
            9:out <= 8'b01111011;
            default: out <= 0;
        endcase;
end
endmodule

仿真代码如下:

`timescale 1ns / 1ps

module exp2_t;
	
    reg clk;
    reg rst;
    always #10 clk=~clk;
    wire [7:0]out;
    wire clk_out;
    exp2 exptest(
    .clk(clk),
    .rst(rst),
    .clk_out(clk_out),
    .out(out)
    );
initial
    begin
        clk=0;
        rst=0;
        #4000
        rst=1;
    end


endmodule

实验结果 

 

总结 

   本次实验中,将always块中的敏感事件写错了,经过仿真结果找出问题;在秒表计数的if-else语句中将计数的变量搞错,导致不能正确的实现秒表过一秒加一的操作,通过本次实验,我不仅掌握了使用Vivado软件进行综合、仿真、布线、下载和测试的方法,也加强了对Verilog HDL语言的掌握和应用能力。

LEAP设计软件是由EnclosureShop(音箱箱体模拟设计)和CrossoverShop(音箱分频器模拟设计)应用软件组成。 EnclosureShop提供了喇叭单元和音箱设计,而CrossoverShop则提供了设计过滤器布局技术的工具。通过两者的合作,这两种程序希望能组成一个完整的设计和分析软件。 EnclosureShop比较特殊的功能包括有衍射分析、外壳结构随意分析、一个新的60-参数变频器模块、非线性声学模拟器等等。 CrossoverShop比较特殊的功能包括有模拟有源和无源的设计和分析、数字过滤器FIR和IIR设计及分析、结合模拟和数字形式设计、全球通用的优化引擎等等 EnclosureShop提供了预先模拟以及喇叭和箱体特性的模型模拟。其它的软件仅提供了单一的第二/第四阶线性高通逐次逼近法,而EnclosureShop提供了包括随频率而变,随温度而变,以及非线形效应的真实声学网络. 或许LEAP最重要的改进是具有革命性的新的衍射引擎。现在你可以看到完全的水平方向上和水平方向上的极坐标响应,包含高达第八阶的衍射效果,互耦合以及非线性喇叭特性。任意箱体形状和喇叭布局可以在任意空间被模拟. EnclosureShop提供一个完整的3D编辑器,允许用肉眼观察箱体形状并且提供对喇叭,开口,箱体以及分析点位置的精确定位。这些对于精确响应预测是很关键的. CrossoverShop提供了一个用于从实际测量数据来开发分频器处理的系统模拟,设计,分析工具强大的库。模拟的和数字的或者两者混合的分频器结构都被支持. 提供有一个完整的带有绘图编辑的电路编辑器,它支持有源/无源模拟和数字FIR/IIR分频器开发。你可以从许多个已包含的拓扑结构中一个来合成你的电路,或者创建和分析任意所需的电路。分频器设计Wizard(向导)能够在数分钟内自动生成一个完全最优化的,完整的分频电路. CrossoverShop包含有用于无源,有源和数字分频器强大的优化系统。利用单曲线或者根据目标类型的限制条件以及频率加权性能,优化可以执行在频率响应(SPL),阻抗,电压或组延迟上. 无论你的应用是专业音箱,卡包的OK音箱,还是定制的很深奥的罕见物,LEAP提供了功率,挠性以及精度来研究每一种可能的设计变换。其开放式体系结构和广谱特性将显著地减少你的开发时间而改进最终结果的质量,同时将阐明为什么LEAP已经成为全世界专业扬声器设计者的首选。带有一些不可思议的特征和功能,并且其中许多都是最近发展的技术。EnclosureShop和CrossoverShop是专业音箱设计的必备工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值