名称:黑白棋盘格设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
黑白棋盘格图像数据输出
如图所示的2x2黑白棋盘格,每个单元的像素阵列为200x200(宽度x高度),用Verilog语言编写一程序:
(1)周期性输出分辨率为800x800的棋盘格图像,包含8x8的黑白棋盘格,图像帧频50Hz。
(2)计算时钟信号的频率。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. Testbench
6. 仿真图
部分代码展示:
//800*800棋盘格,包含8x8的黑白棋盘格,图像帧频50Hz module picture( input clk,//时钟clk=50Hz*800*800=32000000Hz=32MHz input rst_p,//复位 output reg [7:0] data//输出像素点,设一个像素为8bit ); reg [9:0] hang=10'd0;//定义行 reg [9:0] lie=10'd0;//定义列 //行计数 always@(posedge clk or posedge rst_p) if(rst_p) hang<=10'd0; else if(hang==10'd799)//计数0~799 hang<=10'd0; else hang<=hang+10'd1;//计数器,计数0~799 //列计数 always@(posedge clk or posedge rst_p) if(rst_p) lie<=10'd0; else if(hang==10'd799)//完成一行后,列计数 if(lie==10'd799)//计数0~799 lie<=10'd0; else lie<=lie+10'd1;//计数器,计数0~799 else lie<=lie; //一个像素为8bit,255表示白色,0表示黑色 always@(posedge clk or posedge rst_p) if(rst_p)
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=636
阅读全文
423