FPGA学习总结2(VGA rom的设置)
存储行列颠倒 第一个总结来自 博文 当需要显示大小规格如下图所示高为32bit 宽为224bit的字符时 一般可以设置存储字符数据的rom的尺寸大小为位宽32,深度224 rom的尺寸如下图所示 由于这些字符的像素数据是通过取字模的方式得到的,而且有 按列扫描 ,存储 从高位到低位 的特质 如上图所示,字符的第一列共32位,存在存储器的地址位addr0的地方,第二列存在addr1的地方。所以深度为224.当从存储器中取数的时候,扫描屏幕的一行,对应存储器中一列(第一行的像素数据对应着每一个rom_data的最高位)如上图中剪头所示,例如:显示字符的第一行,访问的存储器依次为:addr0,rom_data[31];addr1,rom_data[31];addr2,rom_data[31];…;addr223,rom_data[31]; 因此,这个功能实现的时候,显示控制模块如果设置M计显示的行数(注意,这个行数不是总的行数计数,也不是有效显示行数的计数,而是跟显示图片尺寸大小的高有关的计数),N计显示的列数。 那么在扫描某一行时,M应该指向rom_data中的某一位,N则随着其值的变化指向各列对应的Addr。 对于第二行,M=rom_data[30],第二行的第三个像素,N指向Addr2。 存储行列没有颠倒 如果需要存储16x16x1bit的图像,且这样的图像有6幅