VIVADO入门之仿真与逻辑分析仪使用

更新时间:2023-07-13 14:09:12 阅读: 评论:0

VIVADO⼊门之仿真与逻辑分析仪使⽤
多路分频器设计
在第七节的学习中,笔者带⼤家通过⼀个⼊门必学的流⽔灯实验实现,快速掌握了VIVADO基于FPGA开发板的基本流程。考虑到很多初学者并没有掌握好Vivado 下FPGA的开发流程,本章开始笔者讲更加详细地介绍基于VIVADO FPGA开发的流程规范,让读者掌全⾯掌握FPGA开发流程包括了如何仿真、综合、执⾏、下载到开发板测试。
语文课前三分钟演讲9.1 硬件图⽚
本章使⽤到的硬件和前⼀章⼀样:LED部分及按钮部分
9.2 硬件原理图
PIN脚定义:
GCLK:Y9(PL输⼊时钟)
BTNU:T18
LD0:T22
9.3 介于VIVADO的FPGA设计流程
9.4 多路分配器设计思想
FPGA输⼊全局时钟100MHZ,定义合适的分频计数器,得到对应的时钟。通过chipscope来抓取2分频、3分频(注意:对⼆分频的时钟进⾏3分频)、4分频和8分频结果,通过板⼦上的LED灯,来显⽰2HZ的时钟。设计总体框图如下所⽰
9.5时序设计
① 定义寄存器div2_o_r,检测输⼊时钟上升沿,每次上升沿寄存器div2_o_r反转⼀次,实现2分频。
② 定义寄存器pos_cnt[1:0],neg[1:0],分别检测div2_o_r的上升沿和下降沿,检测到上升沿和下降沿时,两个寄存器分别累加。计数到2’d2时,寄存器清零。另定义两个div3_o_r0和div3_o_r1,当两个计数器⼩于2’d1时,div3_o_r0和div3_o_r1均赋值为1,其他情况赋值为0。由div3_o_r0和div3_o_r1组合逻辑相或即为div2_o_r进⼀步进⾏3分频所得的结果。
③ 定义位宽为2的寄存器div_cnt[1:0],检测输⼊时钟上升沿,div_cnt==2’b00或2’b01,4分频输出寄存器div4_o_r反转,div_cnt==2’b00时,8分频输出寄存器div8_o_r反转。
④ 由于输⼊时钟100MHZ,为得到2HZ的时钟,需要定义计数器⾄少100000000/1=100000000。在此定义⼀个26位位宽的div2hz_cnt计数器。检测输⼊时钟上升沿,div2hz_cnt==26’d24_999999或div2hz_cnt==26’d49_999999时,2HZ输出寄存器div2hz_o_r反转。
9.6程序源码
`timescale 1ns / 1ps
//-----------------------------------------------------------------------------------------------------
// Target Devices: XC7Z020-FGG484
// Tool versions:  VIVADO2015.4
// Description: Divider_Multiplestationer
// Revision:  V1.1
// Additional Comments:
//1) _i PIN input
//2) _o PIN output
//3) _n PIN active low
//4) _dg debug signal
//5) _r  reg delay
//6) _s state machine
*/
/put up the picture
/-----------------------------------------------------------------------------------------------------
module Divider_Multiple(
input clk_i,
input rst_n_i,
output div2_o,
output div3_o,
output div4_o,
output div8_o,
output div2hz_o
);
reg div2_o_r;
always@(podge clk_i or negedge rst_n_i)华东政法大学排名
begin
if(!rst_n_i)
div2_o_r<=1'b0;
el
div2_o_r<=~div2_o_r;重庆日语班
end
reg [1:0] div_cnt1;
always@(podge clk_i or negedge rst_n_i) begin
if(!rst_n_i)
div_cnt1<=2'b00;
el
div_cnt1<=div_cnt1+1'b1;
end
reg div4_o_r;
reg div8_o_r;
always@(podge clk_i or negedge rst_n_i) begin
if(!rst_n_i)
hercynadiv4_o_r<=1'b0;
el if(div_cnt1==2'b00 || div_cnt1==2'b10)
div4_o_r<=~div4_o_r;
el
div4_o_r<=div4_o_r;
end
always@(podge clk_i or negedge rst_n_i) begin
if(!rst_n_i)fell什么意思
div8_o_r<=1'b0;
el if((~div_cnt1[0]) && (~div_cnt1[1]))
div8_o_r<=~div8_o_r;
el
div8_o_r<=div8_o_r;
end
reg [1:0] pos_cnt;
reg [1:0] neg_cnt;
always@(podge div2_o_r or negedge rst_n_i) begin
if(!rst_n_i)
pos_cnt<=2'b00;
el if(pos_cnt==2'd2)
pos_cnt<=2'b00;
el
pos_cnt<=pos_cnt+1'b1;
end
always@(negedge div2_o_r or negedge rst_n_i) begin
if(!rst_n_i)
neg_cnt<=2'b00;
el if(neg_cnt==2'd2)
neg_cnt<=2'b00;
el
neg_cnt<=neg_cnt+1'b1;
end
reg div3_o_r0;
reg div3_o_r1;
always@(podge div2_o_r or negedge rst_n_i) begin
if(!rst_n_i)
div3_o_r0<=1'b0;
el if(pos_cnt<2'd1)
div3_o_r0<=1'b1;
怀恩豪斯
el
div3_o_r0<=1'b0;
end
always@(negedge div2_o_r or negedge rst_n_i)
begin
if(!rst_n_i)
div3_o_r1<=1'b0;
el if(neg_cnt<2'd1)
div3_o_r1<=1'b1;
el
div3_o_r1<=1'b0;
end
reg div2hz_o_r;
reg [25:0] div2hz_cnt;
always@(podge clk_i or negedge rst_n_i)
begin
if(!rst_n_i)
div2hz_cnt<=0;
el if(div2hz_cnt<26'd50_000000)
div2hz_cnt<=div2hz_cnt+1'b1;
samp
el
div2hz_cnt<=0;
styleend
always@(podge clk_i or negedge rst_n_i)
begin
if(!rst_n_i)
div2hz_o_r<=0;
el if(div2hz_cnt==26'd24_999999 || div2hz_cnt==26'd49_999999) div2hz_o_r<=~div2hz_o_r;
el
div2hz_o_r<=div2hz_o_r;
end
assign div2_o=div2_o_r;
assign div3_o=div3_o_r0 | div3_o_r1;
assign div4_o=div4_o_r;
assign div8_o=div8_o_r;
assign div2hz_o=div2hz_o_r;
ila_0 ila_0_0 (
.clk(clk_i), // input wire clk
.probe0(div2hz_o), // input wire [0:0]  probe0
.probe1({div2_o,div3_o,div4_o,div8_o}) // input wire [3:0]  probe1 );
endmodule
9.7⾏为仿真9.7.1创建多路分频器⼯程
Step1:创建⼯程
Step2:欢迎界⾯直接单击NEXT
Step3:⼯程名字命名为Divider_Multiple,并且设置保存的路径,单击NEXT
Step4:新建⼀个RTL ⼯程,并且勾选不要添加源⽂件,单击NEXT
Step5:由于MIZ702和ZEDBOARD是兼容的,因此直接选择ZEDBOARD硬件开发包作为我们MIZ702的开发包。这样可以省去很多⿇烦,达到事半功倍的⽬的。单击NEXT

本文发布于:2023-07-13 14:09:12,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1094415.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:流程   时钟   设计   掌握
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图