zynq7020官方评估板流水灯实验(PS给PL时钟)

1、资源

开发板:zynq7020(zc7z020clg484-2)

vivado:2019.1

2、基础结论

①官方评估版PL端无时钟clk,需要提供ps给pl端时钟

②开发板有几种启动方式,通过拨码开关控制,本文通过JTAG(10000)

 3、vivado基本流程

1、双击打开vivado2019.1

2、创建新工程

3、为新工程命名并指定路径

4、指定工程先不添加源文件,在工程内部再编辑

5、选择板子型号(xc7z020clg484-2)

6、create block design->OK

7、添加zynq

8、双击配置zynq(删除M_AXI_GP0 interface与FCLK_RESET0_N,让后OK退出)

9、自动布局布线并添加引脚(右击FCLK_CLK0,并make externel)

10、生成design_1文件,右击design_1,并general output products

其中的FCLK_CLK0_0即为PS端给PL的时钟

11、编写led的verilog代码

其中led_twinkel例化了design_1.v与led_M模块

module led_twinkle(
    //output
	output[7:0]led
);

parameter times = 28'b0010_1111_1010_1111_0000_1000_0000;

wire clk;//时钟 50M
design_1 u_design_1(
    .FCLK_CLK0_0(clk)
);
//assign led = 8'b0;

led_M #(.times(times)) u_led
    (
        .clk        (clk),
        .rst_n      (1'b1),
        .led        (led)
    );

endmodule

module led_M #(parameter times = 28'b1111_1111_1111_1111_1111_1111_1111)
    (
    input clk,
    input rst_n,
    output reg [7:0]led
    );
    
    reg [27:0]cnt = 28'b0;
    
    always@(posedge clk or negedge rst_n) begin
        if(!rst_n)
            cnt <= 28'b0;
        else 
        begin
            if(cnt >=times)
                cnt <= 28'b0;
            else
                cnt <= cnt + 1;
        end
    end
    
    always@(posedge clk or negedge rst_n) begin
        if(!rst_n)
            led <= 8'b0;
        else 
        begin
            if(cnt >=times)
                case(led)
                    8'b0000_0000: led <= 8'b0000_0001;
                    8'b0000_0001: led <= 8'b0000_0010;
                    8'b0000_0010: led <= 8'b0000_0100;
                    8'b0000_0100: led <= 8'b0000_1000;
                    8'b0000_1000: led <= 8'b0001_0000;
                    8'b0001_0000: led <= 8'b0010_0000;
                    8'b0010_0000: led <= 8'b0100_0000;
                    8'b0100_0000: led <= 8'b1000_0000;
                    8'b1000_0000: led <= 8'b0000_0000;
                    
                    default: led <= 8'b0000_0000;
                endcase
            else
                led <= led;
        end
    end
endmodule

12、分配引脚

13、生成bit文件

14、打开开发板,并下载bit文件,可以看到流水灯成功

4、gif展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值