VGA控制的verilog模块设计
摘要:VGA接口是一种最常见的显示屏接口,其时序与控制都比较简单。1.VGA接口VGA只需要三个接口:R:红色深度值G:绿色深度值B:黄色深度值HS:行同步VS:场同步下图是zynq7000开发板上的VGA接口原理图。2.VGA时序显示器的逐行扫描方式如下图所示,由屏幕左上方出发逐行向右下方扫描。扫描一行...
阅读全文
verilog时钟分频设计(整合模块)
摘要:这里对之前写的时钟分频模块做了整合,整合为完整的时钟分频模块,可以进行偶分频、奇分频和半分频。接口如下:clk:输入时钟rst:复位信号adv_select:分频类型选择,0->偶分频,1->奇分频,2->半分频M:分频系数,在半分频情况下为向下取整(4.5分频->M=4)clk_out:输出时钟通...
阅读全文
verilog时钟分频设计
摘要:1.偶分频模块设计偶分频意思是时钟模块设计最为简单。首先得到分频系数M和计数器值N。M = 时钟输入频率 / 时钟输出频率N = M / 2如输入时钟为50M,输出时钟为25M,则M=2,N=1。偶分频则意味着M为偶数。以M=4,N=2为例,我们希望得到的输出时钟时序如下:因此只需要将counter...
阅读全文
testbench——双向端口的仿真
摘要:双向端口(inout)可以通过引脚复用来节省引脚。在控制信号控制下,inout既可作为输入input也可作为输出output,因此对其仿真描述不当可能会引起仿真错误。当然,不只在testbench中,在程序中对inout口一般也是要做特殊处理的。testbench:`timescale 1ns / ...
阅读全文
testbench——文件读入输出
摘要:注:仿真工具为ISE自带simulation1.读入.txt中的文件待读入文件为photo.txt,位于所建工程文件夹中。代码:integer cnt,i;reg [7:0] mem[31:0];reg [5:0] address;integer fp;initialbegin fp = $fope...
阅读全文
testbench——信号的产生
摘要:在写testbench时候,需要对各种信号根据时间进行设置。注意所有需要输入被测试模块的信号均为reg型。module test();reg clk;reg sig1, sig2, sig3, sig4, sig5;常见信号设置方式时钟信号一般通过forever语句设置,产生连续时钟。initial...
阅读全文