大家好,在做一个开源 FPGA 图像库,欢迎探讨 w - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
dtysky
V2EX    程序员

大家好,在做一个开源 FPGA 图像库,欢迎探讨 w

  •  
  •   dtysky
    dtysky 2015-06-08 11:33:03 +08:00 6126 次点击
    这是一个创建于 3779 天前的主题,其中的信息可能已经有所发展或是发生改变。

    基友说光做出来不行,得多宣传。。。的有人用。。。
    虽然俺是木有啥自信w(虽然刚做出来的时候觉得挺牛逼,不过冷静下来发现缺的还是挺多

    论文
    项目主页
    项目源

    有句话咋说来着
    虽然我们难,但是我们没人用
    虽然我们苦,但是我们不赚钱啊www

    这发这区对么?

    19 条回复    2015-06-10 23:36:06 +08:00
    sneezry
        1
    sneezry  
       2015-06-08 11:38:09 +08:00 via iPhone   1
    Cool!
    deben
        2
    deben  
       2015-06-08 11:41:31 +08:00   1
    A家和X家都有IP可以用吧,虽然是付费IP,但是根据国情,你懂的……

    支持 lz 的开源精神!点赞,点 star!
    caomaocao
        3
    caomaocao  
       2015-06-08 11:49:18 +08:00   1
    哈哈哈~~ 之前做过基础的fpga各种滤波,简单的轮廓提取的~~ 支持下
    dtysky
        4
    dtysky  
    OP
       2015-06-08 12:38:57 +08:00
    @deben
    嗯,不过我的目的本质上是设计一个可以高速开发任何可靠图像IP的平台
    野心有点大吧ww
    mozartgho
        5
    mozartgho  
       2015-06-08 14:04:31 +08:00
    VHDL不懂啊,不过我们这里都是搞硬件的在写FPGA程序。另外你的代码里怎么还有Python,FPGA上也可以跑Python吗?
    dtysky
        6
    dtysky  
    OP
    &nbp;  2015-06-08 14:29:10 +08:00
    @mozartgho

    用verilog写的

    是这样的,我设计了一个开发平台,在这个平台中py的作用是软件仿真、生成功能仿真的数据源和转换功能仿真后的结果,以及可信度分析
    fhliwei
        7
    fhliwei  
       2015-06-08 14:34:54 +08:00 via Android
    @mozartgho 因为用到arm吧。确实现在不是更流行verilog吗?
    dtysky
        8
    dtysky  
    OP
       2015-06-08 14:37:48 +08:00
    @fhliwei

    ZYNQ的ARM上可以跑linux+py,但是这里没用,这里的ARM没跑OS,搭了个AXI模块写了个驱动做测试用的。。。
    verilog适合算法级实现,VHDL适合系统级实现,二者侧重点不一样
    caomaocao
        9
    caomaocao  
       2015-06-08 14:46:04 +08:00
    用了ip软核 相比于 纯fpga速度 慢很多吧?
    dtysky
        10
    dtysky  
    OP
       2015-06-08 14:47:07 +08:00
    @caomaocao

    什么意思?
    我就是纯逻辑做的啊。。。上位机只是用来做配置而已,软硬结合咯
    stgzr
        11
    stgzr  
       2015-06-08 16:02:04 +08:00
    支持一个:)网站打开速度好慢..
    dtysky
        12
    dtysky  
    OP
       2015-06-08 16:12:34 +08:00
    @stgzr

    不是专业搞WEB的,静态网站应该不是什么后端的问题。。。DO的VPS线路问题么。。。
    hanliumaozhi
        13
    hanliumaozhi  
       2015-06-08 16:56:31 +08:00
    我去。。 和我做的一个东西差不多!!!
    dtysky
        14
    dtysky  
    OP
       2015-06-08 17:02:03 +08:00
    @hanliumaozhi

    菊苣做的是w?有工程么?可以探讨探讨
    俺现在觉得这个东西不咋能活的下去。。。
    hanliumaozhi
        15
    hanliumaozhi  
       2015-06-08 22:04:28 +08:00
    @dtysky 玩具撒! 毕业设计做的机器人(轮式)。 然后准备把那个算法改用到四轴上面,看了一大票论文,发现用fpga实现算法比较靠谱。。
    starsoi
        16
    starsoi  
       2015-06-10 21:41:47 +08:00   1
    LZ进行了HW vs SW算法结果的比较,SW是Python实现,只是对图像输出的精度进行了比较。
    既然用了Zynq,何不试着用Zynq ARM里的NEON来实现SW算法,和HW算法进行一下性能的比较。如果是HW胜,可以进一步考虑给图像处理IP做一个linux下的driver,让linux/zynq下运行的程序可以使用FPGA上的IP来加速图像处理算法。还可以把IP串起来做一个reconfigurable image processing pipeline,比如先缩放后旋转再滤波之类的,来加速对视频串流的处理
    dtysky
        17
    dtysky  
    OP
       2015-06-10 22:53:12 +08:00
    @starsoi

    感谢建议

    肯定是HW胜的,这个不用怀疑
    我用py做软仿是因为ARM仿是需要器件的,考虑有些用户是不会用ZYNQ而是用别的,为了兼容性所以没这么做,而且ARM上做的话就是opencv,其实也没什么区别。。

    linux那个我考虑过,但是本人linux经验不足,开发driver可能比较困难,目前只能开发纯嵌入式环境下的driver(不知道这种说法对不对),如果阁下有兴趣我们可以探讨探讨

    IP的设计我是考虑尽量去耦、分离的,怎么串起来是用户自身决定的

    `~~本质上这是一个快速开发IP的平台,模块都是附带的哈哈。。。~~`
    想过直接写一个py实现的verilog + systemverilog解析器直接绕过Modelsim,然后根据需求平台和器件生成IP文件,不过似乎难度和需求精力有点大了对于我。。。
    starsoi
        18
    starsoi  
       2015-06-10 23:19:06 +08:00
    @dtysky

    IP的去耦和分离是对的。我的设想是,开发一个IP间的可配置(最好是runtime reconfigurable)的通信框架,让图像数据能被多个IP处理:input data->IP1->IP2->IP3->output data。用户可以在ARM上配置,IP1是什么功能,参数是什么,IP2是什么功能,参数是什么,etc..。一种方案是用partial reconfiguration,比如FPGA上设置3个reconfigurable region。这时数据流是input data->R1->R2->R3->output data,然后对所有可以使用的IP生成它们的partial bitstream,这样用户就可以选择R1, R2, R3里分别载入什么IP,实现动态配置。

    >>想过直接写一个py实现的verilog + systemverilog解析器直接绕过Modelsim

    没看明白。。你是想做一个verilog仿真器?看波形的那种?那么这个东西只是测试用的,生成IP不需要啊
    dtysky
        19
    dtysky  
    OP
       2015-06-10 23:36:06 +08:00
    @starsoi

    IP间可重配置可以实现的程度是有限的,我已经最大程度的去做了这样的努力了,但是有些东西没有办法
    比如对于排序滤波器,我可以让IP间去配置“序号”来决定工作方式是中值滤波器还是最大最小滤波器,但是窗口大小现在是没有办法实现这种配置的,这和FPGA自身的特性有关,这类参数只有在一开始就被设置成固定的值



    算是仿真器,不过为图像处理特化吧,最后用户只需要在一个界面新建要设计的模块,然后设定测试图像和测试数据,编写HDL主程序和仿真程序,可以实现一键测试和一键生成,不过仔细想想似乎也没有什么特别的需求。。。没必要做成这种程度的样子。。。
    生成IP是另一部分吧,主要是这几家的IP封装规范和官方的一些IP有些不太一样。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2831 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 13:33 PVG 21:33 LAX 06:33 JFK 09:33
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86