ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用

建立Verilog文件

PS输入的时钟是100MHZ(周期10ns),我们的目标是输出一个1KHZ(周期1000_000ns)的方波,定义一个计数器计数到50000-1时翻转输出就可以很容易的得到1KHZ的方波,新建一个squarewave.v文件填入以下代码

module square_wave_gen(
    input clk,
    input rst_n,
    output sq_wave
);

parameter TCOUNT = 16'd49_999;

reg sq_wave_reg;
reg [15:0] C1;

always @(posedge clk or negedge rst_n) begin
    if(!rst_n)
        begin
            sq_wave_reg <= 1'b0;
            C1 <= 16'd0;
        end
    else if(C1 == TCOUNT)
        begin
            sq_wave_reg <= ~sq_wave_reg;
            C1 <= 16'd0;
        end
    else
        C1 <= C1 + 1'b1;
       
end

assign sq_wave = sq_wave_reg;

endmodule

建立Block Design

参考https://segmentfault.com/a/11...
生成如图所示,此时FCLK_CLK0 的输出频率为100MHZ

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第1张图片

Diagram窗口右键Add Module添加刚刚的square_wave_gen模块

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第2张图片

按图连接模块,并在square_wave_gen模块上右键选择Make External导出端口,结果如图

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第3张图片

产生HDL Wrapper

导出文件选择Create HDL Wrapper…

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第4张图片

可以在生成的design_1_wrapper文件中看到输出引脚

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第5张图片

添加引脚约束

添加Zybo-Master.xdc文件,这里使用JE_PMODPin 1(V12)做为输出

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第6张图片

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第7张图片

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第8张图片

修改约束文件如下所示

set_property -dict { PACKAGE_PIN V12   IOSTANDARD LVCMOS33 } [get_ports { sq_wave }];

产生位元流 (bitstream)

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第9张图片

当 bitstream 产生完成后,要将刚刚产生的硬件代码输出给Xilinx SDK去。

点击File -> Export -> Export Hardware

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第10张图片

完成后,启动 Xilinx SDK

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第11张图片

Xilinx SDK

打开后界面如图所示

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第12张图片

然后建立一个Application Project然后建立一个main.c

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第13张图片

填入

int main(){
    return 0;
}

Program FPGA进行FPGA的烧录
ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第14张图片

在工程左侧Procject Explorer栏,右击工程->RunAs->Launch on Hardware运行

实验结果

示波器连接对应IO输出1KHZ方波
ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第15张图片

ZYBO学习笔记(三)- PS输出100MHZ时钟给PL使用_第16张图片

参考

https://numato.com/kb/styx-us...

你可能感兴趣的:(fpga)