• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

分频及姓名输出电路设计Verilog代码VIVADO仿真

08/29 14:01
278
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24092014012c92.doc

共1个文件

名称:分频及姓名输出电路设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:

任务:分频及姓名输出电路

两个输出信号:cik128.name_out(70)clk128,将输出128kHz的时钟信号name_out信号输出自己姓名,将自己姓名拼音的ASC11码存储在数组,并128kHz频率输出每一个字节。

输入时钟资源:50MHz

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. 仿真图

郭小东

16进制显示

ASCII码显示

另外两个操作类似,仿真图如下

胡小平

许鑫全

部分代码展示:

`timescale?1ns?/?1ps
//////////////////////////////////////////////////////////////////////////////////
//?Company:?
//?Engineer:?
//?
//?Create?Date:?2019/11/20?22:55:06
//?Design?Name:?
//?Module?Name:?div_name
//?Project?Name:?
//?Target?Devices:?
//?Tool?Versions:?
//?Description:?
//?
//?Dependencies:?
//?
//?Revision:
//?Revision?0.01?-?File?Created
//?Additional?Comments:
//?
//////////////////////////////////////////////////////////////////////////////////
//郭小东=guoxiaodong
module?div_name(
????input?clk_50M,
????output?clk128,
????output?reg?[7:0]?name_out
????);
//分频到128KHz,分频系数=50000000/128000=390
parameter?div_num=390;
reg?[15:0]?div_cnt=16'd0;
reg?clk_128KHz=0;
always@(posedge?clk_50M)?
????if(div_cnt==div_num/2)begin
????????div_cnt<=0;
????????clk_128KHz<=~clk_128KHz;//计数390/2反转一次,相当于390分频
????????end
????else?begin
????????div_cnt<=div_cnt+16'd1;
????????clk_128KHz<=clk_128KHz;
????????end
????
assign???clk128=clk_128KHz;
reg?[7:0]?name_mem[0:10]?;//定义8位宽,11深度的数组
reg?[3:0]?name_count=4'd0;
always@(posedge?clk_128KHz)
????if(name_count>=4'd11)
????????name_count<=4'd0;
????else
????????name_count<=name_count+4'd1;//累加,用于顺序输出数组
always@(posedge?clk_128KHz)??
????if(name_count==4'd0)begin//初始化数组,guo?xiao?dong

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1108

  • 2-24092014012c92.doc
    下载

相关推荐