弄傻了cpld+sram驱动vga
谁做过这个,不懂verilog,小马哥的那个verilog程序自然没看懂。我用的是issi51216,理论上是够做800*600显存的
问题是stm32发来的x,y(800*600)被cpld接收,如何转成sram地址
想了一个笨办法就是x最大800得10位 y600也得10位,总共需20位,可是issi51216只有19位地址不够,
该怎么弄呀, addr=行*600+列地址 如果用单片机这个方法很好实现,但
cpld资源太少了这个乘法没法实现 小马哥,能说说吗 大侠,帮帮忙,讲讲哦 *600=*(512+64+16+8) 数据左移9位+左移6位+左移4位+左移3位,在CPLD里,连移位都不用,直接跳过去连线做加法 嘿,谢谢楼上了,看来你很有经验哦 楼主如果是800*480就是好办了,哈哈。
5楼的意思明白。 回复【7楼】zgq800712 SEED
楼主如果是800*480就是好办了,哈哈。
5楼的意思明白。
-----------------------------------------------------------------------
800*(512-32)?????????? 回复【8楼】jobwork无业游侠
回复【7楼】zgq800712 seed
楼主如果是800*480就是好办了,哈哈。
5楼的意思明白。
-----------------------------------------------------------------------
800*(512-32)??????????
-----------------------------------------------------------------------
不开窍:10+9=19根地址线 回复【5楼】888888888888
*600=*(512+64+16+8) 数据左移9位+左移6位+左移4位+左移3位,在cpld里,连移位都不用,直接跳过去连线做加法
-----------------------------------------------------------------------
工程用Y*(800)+X=Y*(512+256+32)+X
Y*(512+256+32)=Y*512+Y*256+Y*32=Y&"000000000"+Y&"00000000"+Y&"00000"
最后+x
还是没搞定,加法太多,资源不够了,这下看来彻底完蛋了,
还有哪位大侠支支招啊。 stm32 乘好了再发过来.... 回复【11楼】snoopyzz
stm32 乘好了再发过来....
-----------------------------------------------------------------------
我最初就是这么做的,可是论坛里不是有用240做成的 嗯,看下· 240资源够 有点晕啊 学习中,SDRAM确实很难搞 mark,sdram可以移植terasic官网的,altera官网也有sdram控制器参考代码
页:
[1]