![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
vivado
文章平均质量分 90
♚ 深情帝丶
这个作者很懒,什么都没留下…
展开
-
基本番茄钟的实现
`timescale 1ns / 1ps//16进制module second(input wire clk,output reg sec);reg [27:0]q1;always @(posedge clk) begin if(q1==500000) begin q1<=0; sec<=~sec; end else原创 2020-11-25 18:39:55 · 1172 阅读 · 0 评论 -
四位数码管
module x7seg_4bit(input clk,input rst_n,input [15:0] x, //等待显示的BCD码output reg [6:0] a_to_g, //段信号output reg [3:0] an //位选信号);//时钟分频 计数器reg [20:0] clkdiv;always @(posedge clk or negedge rst_n)begin if(!rst_n) clkdiv<=21'd0; else clk原创 2020-11-25 18:31:00 · 2010 阅读 · 0 评论 -
状态机的基本框架
//状态编码parameter s0=4'b0000, s1=4'b0000, s2=4'b0000, s3=4'b0000, s4=4'b0000, s5=4'b0000, s6=4'b0000, s7=4'b0000, s8=4'b0000, s9=4'b0000, s0=4'b0000, s0=4'b0000, s0=4'b0000, s0=4'b0000,//状态转移always @(posedge clk or posedge rst) if(rst) c原创 2020-11-25 18:30:11 · 577 阅读 · 0 评论 -
两位的数码管
module x7seg_4bit(input clk,input rst_n,input [7:0] x, //等待显示的BCD码output reg [6:0] a_to_g, //段信号output reg [1:0] an //位选信号);//时钟分频 计数器reg [19:0] clkdiv;always @(posedge clk or negedge rst_n)begin if(!rst_n) clkdiv<=20'd0; else clkd原创 2020-11-25 18:28:55 · 1883 阅读 · 0 评论 -
含有en端和load端的25min倒计时器
`timescale 1ns / 1ps//16进制module second(input wire clk,output reg sec);reg [27:0]q1;always @(posedge clk) begin if(q1==50000000) begin q1<=0; sec<=~sec; end else原创 2020-11-25 09:59:22 · 417 阅读 · 0 评论 -
状态机学习
状态机学习`timescale 1ns / 1ps//本代码是状态机 在三个状态来回切换//三个状态:IDLE 0 1, S 1 0, S2 0 0;module state_1(input key1,input key2,input clk,input rst,output reg cnt_en,output reg load//output reg [1:0]cstate,//output reg [1:0]nstate ); //状态编码parameter原创 2020-11-24 19:21:48 · 290 阅读 · 1 评论 -
番茄钟(25min 倒计时 )vivado
`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2020/11/11 08:15:03// Design Name: // Module Name: tomato// Project Name: // Target Devices: // Tool原创 2020-11-11 09:36:08 · 3816 阅读 · 5 评论 -
60进制BCD 减法计数器 数码管显示 vivado
`timescale 1ns / 1psmodule second(input wire clk,output reg sec);reg [27:0]q1;always @(posedge clk) begin if(q1==50000000) begin q1<=0; sec<=~sec; end else q1<=原创 2020-11-11 00:23:24 · 2114 阅读 · 1 评论 -
模26的减法计数器 vivado
模60的减法计数器module second(input wire clk,output reg sec);reg [27:0]q1;always @(posedge clk) begin if(q1==50000000) begin q1<=0; sec<=~sec; end else q1<=q1+1; e原创 2020-11-11 00:10:55 · 1230 阅读 · 0 评论 -
二十四进制 加法计数器 并用数码管显示
二十四进制 (BCD码)加法计数器 并用数码管显示`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 2020/11/09 19:37:50// Design Name: // Module Name: cnt24// Project Name: //原创 2020-11-10 23:15:35 · 3090 阅读 · 0 评论 -
D触发器 vivado
源程序module DFF( input clk, input rst_n, input en, input d, output reg q ); always @(posedge clk, negedge rst_n) begin if(rst_n==0) q <= 1'b0; else if (en==1) q <= d; end endmodule仿真程序原创 2020-11-10 23:13:06 · 2059 阅读 · 0 评论 -
Vivado主界面及设计流程介绍
Vivado主界面及设计流程介绍RTL分析:用Verilog语言描述电路的时候,可能出现语法或逻辑上的错误。一般语法错误在编写程序的过程中,vivado会自动检测并在程序界面中有所提示,在Messages中也会提示“Error”。对于逻辑错误软件是不会提示的,最多在Messages中的“Warning”提示中找到一些蛛丝马迹。而设计者可以利用RTL分析进行逻辑和功能检查。行为仿真:检验设计是否满足功能要求。如果直接在FPGA芯片上测试,可能因为多次综合、实现而浪费时间。时序仿真:时序仿真:之前的原创 2020-11-09 21:09:09 · 1539 阅读 · 0 评论 -
100Mhz秒脉冲发生器 vivado
源代码module Second_pulse_generator( input wire clk,//外部时钟,所用时钟为100MHz,周期为10ns input wire rst,//清零端 output reg sec_pule//脉冲信号 ); reg [27:0] m=0;//用于时间计数 //reg n; initial begin m=28'b0; sec_pule=0; end alway原创 2020-11-10 23:10:10 · 3082 阅读 · 0 评论 -
vivado第一次上手
源代码module gates( input a, input b, output [5:0]z );assign z[5]=a&b;assign z[4]=~(a&b);assign z[3]=a|b;assign z[2]=~(a|b);assign z[1]=a^b;assign z[0]=a~^b;endmodule仿真代码module gates_tb;reg a,b;wire [5:0]z;initial begin a=0;原创 2020-11-10 23:05:44 · 313 阅读 · 1 评论 -
两种方式实现3-8译码器
第一种:case语句`timescale 10ns/1nsmodule decode3_8 (data_out,data_in,enable) ;input [2:0] data_in;input enable;output [7:0] data_out;reg [7:0] data_out; always @(data_in or enable)begin if (enable==1) case (data_in )原创 2020-11-10 23:02:30 · 2740 阅读 · 0 评论 -
vivado 60进制计数器并用数码管显示
module second(input wire clk,output reg sec);reg [27:0]q1;always @(posedge clk) begin if(q1==50000000) begin q1<=0; sec<=~sec; end else q1<=q1+1; endendmodu原创 2020-11-10 22:54:28 · 3894 阅读 · 0 评论 -
vivado 数码管学习(二)数码管显示一位数字和显示八位数字
数码管显示一位 9module shumaguan(//input clk,input rst_n,output reg [6:0] a_to_g, //段信号output reg an=1'b1 //位选信号);wire [3:0]x=4'b1001;//x={H,L};//时钟分频 计数器/*reg [19:0] clkdiv;always @(posedge clk or negedge rst_n)begin if(!rst_n) clkdiv<=原创 2020-11-10 22:51:37 · 12468 阅读 · 1 评论 -
❤❤❤框架:数码管显示模块设计vivado
源程序module x7seg_4bit(input clk,input rst_n,input [15:0] x, //等待显示的BCD码output reg [6:0] a_to_g, //段信号output reg [3:0] an //位选信号);时钟分频信号产生 5ms变一次的两位二进制数(方法一)//时钟分频 计数器reg [20:0] clkdiv;always @(posedge clk or negedge rst_n)begin if(!rst原创 2020-11-10 22:47:13 · 2068 阅读 · 0 评论 -
2020.11.33-8译码器 vivado 2018.3 同时实现转4-16译码器
3-8译码器 vivado 2018.3 同时实现转4-16译码器一、源程序方法①module a3_8( input [2:0] a, input en, output reg [7:0] y ); always @(a or en) begin if (en==1) case(a) 3'b000: y=8'b00000001; 3'b001: y=8'b00000010;原创 2020-11-03 23:10:37 · 1714 阅读 · 1 评论