mark下,做好的话预订一块
之前在淘宝上入手了一块Lichee Tang的 国产FPGA(上海安路)来作RISC-V的软核。
原开发板如下图
果然什么东西一国产化立刻就变成白菜价,这片200多IO,20k逻辑单元的开发板只需要90块钱,这个fpga芯片在立创商城上面只要50块。
但实际用的时候发现如下问题:
1)这块开发板只是核心板,缺乏必要的外设,导致RSIC-V的软核在fpga上进行的测试非常有限,只能点亮几个LED灯。
2)FPGA的核心板上没有ddr,只有内置的64Mbit的sdram。
所以我计划以此开发板为参考,开发一块完整的fpga开发板。
考虑到扩展开发板的功能,开发板同时参考我之前用过的 iCore3 STM32F4+FPGA的架构。
主要功能:
在此板上FPGA选用安陆EG4D20EG174,QFP封装这样可以手动焊接 + 1~2片256Mbit SDRAM
MCU 选用兆易GD32F407,通过FSMC总线与FPGA相连。
外部接口打算在FPGA下面挂一个百兆网的PHY。
选配项:
我打算做lvds 转 HDMI功能(在低端的FPGA开发板上从来都没有见过此项功能)
具体实现方式:lvds -> 数字 RGB -> HDMI
做这项功能主要和我最近工作有关,比较有挑战性。
最近争取把整体的block图做出来。
以上
2019.3.29
[修改于 5年8个月前 - 2019/03/29 02:22:59]
rgwan同学就职于Anlogic(实习),有问题可以问他~
@lalatg 我记得在这个板子众筹的时候是20块钱定金,这颗芯片在立创上就需要50块钱,就算是批量走货也不止20块吧
主要是近来工作突然比较忙所以鸽了一周。
我先来个简单的需求分析和板卡功能定义。
说点题外话:
大多数国内入门级fpga开发板都存在一个明显的问题:严重脱离FPGA应用场景。
FPGA传统上的三大应用场景:接口转换、数字信号处理、IC逻辑验证。这几年新兴应用场景的人工智能和可重构的并行计算协处理器。
鉴于入门级FPGA实际只能用在接口协议转换这个应用上。所以fpag开发板一定要具有相应的接口,而目前很多国内入门fpga还是按单片机那种应用逻辑在安排板上资源。
比如某金,上面弄一大堆数码管,蜂鸣器,DS18B20,EERROM这些东西有什么用?除了跑跑自带的例程,搞个万年历屁用没有,你把fpga换成stm32单片机板上的功能都能实现而且实现的更简单。至于学习HDL语言实际上也不需要这类开发板,单纯的逻辑代码学习通过综合和仿真软件工具就够了,而面向实际应用你连常用PHY网口都没有,和实际应用相关的也就自己写个串口、i2c,spi的逻辑练练手。至于IO管脚的引出,基本就是把普通IO管脚引到排针完事,基本没有能用LVDS的方法,但实际上LVDS才是FPGA关键应用的接口,基本上和显示、图像类应用相关的都要用lvds。
所以我个人并不想把这块板子做成一块只引出管脚的一般意义的开发板,我要做有实用功能意义的fpga测试验证板。
我目前想到的三个主要功能:
我前文提到的两个功能
1)lvds到hdmi接口
显示和图像方向可以说是如今低端fpga主要的出货方向,主要通过fpga和一些编码\译码芯片实现lvds、数字RGB、MIPI接口的相互转换、多路切换甚至非常简单的图像处理,所以我选lvds->数字RDB->HDMI然后直接连显示器这个很有现实应用的意义的功能。
这部分硬件\逻辑难度最高
2)GD32F4 <- FSMC总线 -> FPGA
这个直接仿iCore3这块开发板,如下
这个开发板的设计非常实用,针对的是低端FPGA的另一个重要应用场景——AD/DA数据采集,应用方式是这块开发板作为核心板+AD\DA板,其中由MCU来实现和上位机的通信和相关协议,FPGA来作AD\DA的采集。
我来简单说一下这个开发板“实用”原因:
众所周知fpga逻辑的设计和仿真的难度和耗时明显比mcu要高至少一个数量级,所以这个开发板通过STM32+FPGA的架构,让只能由FPGA实现的功能在FPGA上实现,其他功能通过MCU来实现,这样来节约开发时间。
注:AD/DA主要进行至少持续一段时间的连续波形连续采集/输出,别看STM32几百M的频率,通过GPIO很难实现百khz AD/DA的采集,更别说多片AD/DA芯片同时采集/输出。
我来举个实际应用的例子:这块开发板通过FPGA控制AD采集,然后把AD的数据直接放到FPGA内构建的一个双端口RAM中,而FPGA对STM32而言只是FSMC总线下的一个RAM,所以STM32可以通过DMA由FSMC总线通过FPGA双端口RAM的另一个端口读取RAM内的AD数据,然后通过STM32控制的网口把AD数据直接发送到上位机,这个架构下可以实现1路500kHz 16位AD数据的实时、连续采集上传。
硬件/逻辑开发难度:低,有现成参考资料和代码
3)“串口服务器”,也就是通过实现FPGA上百兆网的通信,数据包解析,若干路串口通信,串口数据打包/解包。
简单的说就是网口转RS232/422串口,至于串口的路数视剩余IO而定
硬件开发难度:低
逻辑开发难度:较高,TCP/UDP部分有参考资料和代码,主要要实现网络数据包和串口数据包缓存、转换,最后还可能要用labview写一个简单的客户端。
硬件开发工具:
最近在评估lceda,这个4层的板子不知道lceda能不能支持,原理图应该问题不大,主要是PCB布线SDRAM、lvds和数字RGB需要做等长和lvds的差分走线能不能很好的支持。如果lceda可以的话我会把原理图和pcb都开源,如果不行那我只能用allergo这样就只能发个原理图的pdf(估计也不发了,因为没什么意义)
今后争取每周都能有点进度。
个人感觉画的饼有点大
都BGA了,还用什么F4,上H750IB啊,价格不错,资源也多的多
我倒是想画个大风4+H7的板子,也有计划上HDMI,不过没打算用FPGA,直接LTDC出去拉倒。
HDMI和LVDS直接用FPGA解码转换有难度,需要啃协议。一般视频的应用场景都是将上述信号转为30位的RGB+同步信号,然后FPGA处理。RGB与上述视频信号的转换多用专用芯片完成。
如果做成千兆网口的接口的数据板的话,我到是想买一块做SDR,但不清楚安路是否兼容Xilinx的DSP IP,否则的话开发工作量比较大
@jonyxia 你可能没理解我的意图, 我本来也没打算直接用fpga来出hdmi,fpga只产生lvds,然后由把lvds解成数字rgb,再用编码芯片出hdmi输出。而你说的视频输入我没打算做
@smith当然不可能支持xilinx的ip,ip的平台都是专用的,除非你的ip只是纯rtl代码。安路有自己的ide,但里面只有最基本的ip。而且这么低端的fpga搞个lvds显示已经是极限了,做数字信号处理非常占用逻辑资源,千兆MAC用的资源也比百兆多很很多。用来做sdr不太现实
HDMI和LVDS直接用FPGA解码转换有难度,需要啃协议。一般视频的应用场景都是将上述信号转为30...
他明显没打算用FPGA直出HDMI。都说了RGBHV了,ADV7511了解一下。。。
误解了楼主的意思,
LVDS转TMDS这部分是否可以用单个芯片完成?
网上能查到的方案基本都需要中间转一下RGB
@jonyxia数字RGB到HDMI不需要fpga,只需要通过i2c进行正确配置即可
lvds直接到HDMI的方案我还真没听说过,但反过来HDMI到lvds却有的是(其实就是液晶屏驱动ic),我猜可能是因为lvds本质上就是把数字RGB串行化,如果不考虑fpga的管脚数量其实可以从fpga出数字RGB然后进HDMI发送器。
@Sion 哈哈我这就是参考adv7511的方案,问题是7511太贵,而且还是BGA封装,我想找个QFP封装的HDMI发送器,准备用lattice的HDMI发送器
@Sion 哈哈😄我这就是参考adv7511的方案,问题是7511太贵,而且还是BGA封装,我想找...
CH7301可以替代7511(12位RGB)
用于开发板我觉得还是很划算的
@Sion别说已经不同厂商了,就算是同一厂商不同代产品,甚至同一代产品不同系列的ip都不一定能通用。因为很多ip已经是在片上完成布局布线的模块,已经和fpga的架构特性高度匹配。
能跨平台移植的ip唯一的可能就是这个ip只是rtl综合产生的网表模块,而且这个模块必须是纯粹的逻辑模块,不能涉及像DSP,Block ram这种片上资源,拿这个网表导入不同平台的ide,然后完成约束布局布线就能用。比如opencores上面那些ip很多就是这样的。
XXXXXXXXXXXXXXXXXXXXXXXX/t/82965 我之前搞过类似的东西
最后死在布线上,一定得上四层板,双层是画不下的,尤其是FMC下面挂FPGA的同时还挂SDRAM
现在的话,上了STM32H7,也就没上FPGA了,四层板画下来还挺舒服
两版的正面都是一块5寸的电容触摸屏,前者用的是8080接口,后者是RGB(调时序调哭,而且还需要额外的SPI进行初始化)
FPGA那边得十分注意JTAG的布线,尽可能避开其他信号线,不然连接握手不成功
HDMI应该不需要额外芯片,FPGA那边应该是有IP的,属于TMDS
@drzzm32 目前还没有公开的安路fpga HDMI的ip而且我也不确定安路的IO是不是支持TMDS(就算芯片支持TMDS,很明显我没有实现HDMI协议的能力)。
jtag那蜗牛的速度也需要注意信号质量?你要是原理图没错的话,看看你有没有加上拉电阻和上拉电阻的阻值电压对不对,实在想不出jtag能出什么问题
@drzzm32你这做的怎么样,怎么没更新了,不会已经彻底阵亡了吧你pcb是用lceda做的吗?
pcb用AD画的,现在的话是准备上Cortex-A的SoC了,方便点,荔枝糖这家出过相关的核心板,看了下很不错,芯片封装友好,QFN44还是QFN64
主要还是打样太烧钱,这两套板的成本下来500+每套了
@drzzm32 目前还没有公开的安路fpga HDMI的ip而且我也不确定安路的IO是不是支持TM...
比如板上STM32在工作的时候,FPGA那边没法正确连接
某些情况下,需要把FPGA的连接线用手捏起来,才可以正常连接
这玩意的下载速度也没有Altera之类的快,具体的原因没进一步研究,可能还是跟布线有关
@drzzm32那家的那个板子我也看过,当核心板直接贴在板子上就需要把它bottom面那个坑爹的TF卡槽去了,问题去了TF卡槽就没法用TF卡,除非你用排插。还有那块板子上没有SDRAM,只有芯片自带的好像也是64Mbit的RAM,不知道你做游戏应用够不够,要是不够这种SOC没法外面加RAM
@drzzm32那家的那个板子我也看过,当核心板直接贴在板子上就需要把它bottom面那个坑爹的TF...
板子可以往小做,真要做的话只用芯片,不用他的核心板,当然测试可以先用核心板
@Sion 哈哈😄我这就是参考adv7511的方案,问题是7511太贵,而且还是BGA封装,我想找...
7511是QFP啊...贵是真的...新的30多一片....不过实验室有不少墙角,挖了
我是指据说好像他可以完全兼容Altera某型号的...但是记不清是不是安路了...总之是某国产....
XXXXXXXXXXXXXXXXXXXXXXXX/t/82965 我之前搞过类似的东西 最后死在布线...
之前RGB调哭,颜色死活对不上,一直以为是RGB YUV色彩空间转换的问题,折腾了N久的软件,最后发现是焊板子的时候排阻短路了......短路了....路了...了........
7511是QFP啊...贵是真的...新的30多一片....不过实验室有不少墙角,挖了😄我是指据说...
@Sion如果能兼容ip核那说明内部的架构完全的都是copy来的啊。我听说过有一些军用和航天所自制的fpga能原封不动的支持xilinx旧款的型号的bit文件,但那些fpga都不会拿到市场上。安路这么大张旗鼓的买,intel可不是善茬,我觉得这擦边球分险和收益完全不成比例。
之前RGB调哭,颜色死活对不上,一直以为是RGB YUV色彩空间转换的问题,折腾了N久的软件,最后发...
这种事我也碰到过,当时是调一块PCI采集卡,插上就以后死活开不了机,明显是有地方短路但就是找不出问题。最后也是排阻上沾了非常细的焊锡,是那种必须在10倍放大镜下才能看见的细丝,完全是那万用表一根一根量才发现
@Sion如果能兼容ip核那说明内部的架构完全的都是copy来的啊。我听说过有一些军用和航天所自制的...
这样一说好像确实是比较严重的侵权了,按说商业公司应该不会有这么大的狗胆。我也是道听途说的。之前不太关注国产FPGA。话说作为瞎玩派,我一直觉得又不是批量,价格只要不差太多就没必要自己给自己找坑2333...
这种事我也碰到过,当时是调一块PCI采集卡,插上就以后死活开不了机,明显是有地方短路但就是找不出问题...
我那次是关爱智商用了无铅焊锡....一边是排阻一边是FFC座...FFC座那边焊完还用放大镜检查了一遍...结果最后万用表测出来短路,去看第二遍才找到短路点...排阻没啥好说的,最绝的是FFC座,底下焊盘看起来一切正常,上面金属部分沾了比发丝还细的一点....这放大镜景深也浅,要不说测出来就是这俩脚短路根本注意不到.....
@Sion如果能兼容ip核那说明内部的架构完全的都是copy来的啊。我听说过有一些军用和航天所自制的...
我查了下聊天记录,是AG1280。。。用好像是他们自己写的工具直接生成quartus的工程然后用quartus开发...烧录也是用的usb blaster...
画板的话,也可以试试KiCAD的。是开源软件,国外现在部分开源硬件项目也开始使用这个软件画板了。
最近突然有个想法,把这个项目和msiSDR结合起来,用国产FPGA驱动DAC904这些廉价DAC芯片合成信号,就可以做出一台低成本数字收发电台了
安路的fpga从立创上下架了,我都不知道怎么买片子了( ̄▽ ̄)
所以原理图做了一半这两周都没什么进展。
我觉得要做还是直接用xilinx的A7靠谱。
资源多,而且可以用matlab的dsp开发工具。
@smith
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。