wowangru 发表于 2018-11-28 20:51:01

fpga 容量从来没够过! MCU的资源从来没用完过!!

fpga 容量从来没够过!   MCU的资源从来没用完过!!   FPGA 干活 资源总是紧巴巴的!!

zxq6 发表于 2018-11-28 20:54:02

为啥不选择一个大点的呢

wshtyr 发表于 2018-11-28 20:56:00

另,FPGA资源用到90%就开始有点不正常了
MCU用到99.9%,只要没超过100%,功能就是正常的{:titter:}

cne53102 发表于 2018-11-28 21:07:46

wshtyr 发表于 2018-11-28 20:56
另,FPGA资源用到90%就开始有点不正常了
MCU用到99.9%,只要没超过100%,功能就是正常的 ...

好像以前也看有人提到过用的多了就不正常了,但是为啥呢?它里面也有类似布线布不开一样的问题?

wye11083 发表于 2018-11-28 21:14:55

fpga资源不够是你优化不到位,不要怨芯片。比如,控制部分干吗不找个迷你cpu去干?模块干吗不去掉互锁,换成更简洁的方法?比如内存写控制器,我的有互锁版本要用掉约600个lut,精简优化之后只用了350个lut。控制代码全部上soc跑c代码,用gcc编译,调试起来更方便,加接口只不过make一下而已。

wye11083 发表于 2018-11-28 21:18:37

cne53102 发表于 2018-11-28 21:07
好像以前也看有人提到过用的多了就不正常了,但是为啥呢?它里面也有类似布线布不开一样的问题? ...

非高速优化代码在布满的fpga上确实不易布线,但是优化好的话还是可以的,比如我曾经用到99%的lut和100%的slices主频6mhz低速soc+150mhz主时钟,乘法器用完,bram用完,xc6slx9,以及98%的lut和100%的slices,6mhz soc+150mhz主时钟+300mhz乘法器复用流水线时钟,这个是lx16。时序按照工业应用标准预留15%时序余量确保所有fpga达到6个9的可靠性。

stdio 发表于 2018-11-28 21:24:20

我是来参观楼上的

wowangru 发表于 2018-11-28 21:41:23

本帖最后由 wowangru 于 2018-11-28 21:44 编辑

wye11083 发表于 2018-11-28 21:18
非高速优化代码在布满的fpga上确实不易布线,但是优化好的话还是可以的,比如我曾经用到99%的lut和100% ...

刚学 刚学!!用了一个EPM1270   写80个IO输入 48个输出6路三丰千分表SPC协议数据采集,最后通过SPI协议把数据和主FPGA交换 ,通讯带错误检测,超时检测 。现在SPI还没写 已经占用了750le。。。。。。已去一大半。

cne53102 发表于 2018-11-28 22:05:19

wye11083 发表于 2018-11-28 21:18
非高速优化代码在布满的fpga上确实不易布线,但是优化好的话还是可以的,比如我曾经用到99%的lut和100% ...

感觉需要注意的事比CPLD多很多啊…………

只照葫芦画瓢用过ALTERA的MAX3064,很少的逻辑。
xc6slx9好像与ALTERA的EP4CE6E22C8N都是20块钱,挺便宜的。
xc6slx9好像比EP4CE6E22C8N更好些?
入门FPGA的话,xilinx的xc6slx9是个好选择不?不做视频之类的应用,应该用不到外接的RAM啥的(BGA的就不考虑了。。)

wye11083 发表于 2018-11-28 22:55:40

cne53102 发表于 2018-11-28 22:05
感觉需要注意的事比CPLD多很多啊…………

只照葫芦画瓢用过ALTERA的MAX3064,很少的逻辑。


入门的话都差不多,但是xilinx可以手工优化,适合有高速接口应用的(几百mhz),altera貌似没法手工优化。所以做项目更推荐xilinx一些。不过相同价格的片子,altera的lut多些,而xilinx的ram多些。差异还是很明显。

wye11083 发表于 2018-11-28 22:58:58

wowangru 发表于 2018-11-28 21:41
刚学 刚学!!用了一个EPM1270   写80个IO输入 48个输出6路三丰千分表SPC协议数据采集,最后通过 ...

这种相当难优化,6路数据怎么会有80个输入脚?带协议就麻烦了。你可以考虑(1)数据聚合处理,(2)各采集接口向聚合器写数据,(3)由聚合器进行数据调度和收发。这样采集部分可能几十个le/每个,聚合器+调度器得几百个,然后spi几十个。

cne53102 发表于 2018-11-28 23:29:02

wye11083 发表于 2018-11-28 22:55
入门的话都差不多,但是xilinx可以手工优化,适合有高速接口应用的(几百mhz),altera貌似没法手工优化 ...

原来如此,感谢!

amigenius 发表于 2018-11-28 23:48:22

用EPM1270写过显示驱动芯片的路过,功能包括:SDRAM控制器,TFT控制器,显存随机读写,矩形读写,SPI Flash硬件绘图加速,自动滚屏,双图层合并显示,图层16级Alpha混合并支持可变的透明色1个和不透明色4个,硬件读取CVBS解码芯片的视频流到指定地址,指定行更新中断。过程回忆起来也非常痛苦,不同时钟域处理,时序约束,优化再优化再优化再优化,刚好能塞进,CPLD在用满资源的时候,很难布通,不堪回首,幸好非常稳定,5Kv EFT都不死。

boy1986 发表于 2018-11-28 23:55:09

amigenius 发表于 2018-11-28 23:48
用EPM1270写过显示驱动芯片的路过,功能包括:SDRAM控制器,TFT控制器,显存随机读写,矩形读写,SPI Flash ...

你太牛逼了!!!!!!!

wqsjob 发表于 2018-11-29 00:24:14

wye11083 发表于 2018-11-28 21:14
fpga资源不够是你优化不到位,不要怨芯片。比如,控制部分干吗不找个迷你cpu去干?模块干吗不去掉互锁,换 ...

恩,互锁不只是占有资源, 像我这样不喜欢动脑筋的想用都用不好, 脑瓜疼{:titter:} .

湛无双 发表于 2018-11-29 00:46:54

amigenius 发表于 2018-11-28 23:48
用EPM1270写过显示驱动芯片的路过,功能包括:SDRAM控制器,TFT控制器,显存随机读写,矩形读写,SPI Flash ...

牛逼,很难想象是怎么做出来的。

rifjft 发表于 2018-11-29 01:15:02

坐听大师们的项目经历,那压榨尽每一分资源的能力,值得偶学习{:sweat:}

wowangru 发表于 2018-11-29 10:37:13

wye11083 发表于 2018-11-28 22:58
这种相当难优化,6路数据怎么会有80个输入脚?带协议就麻烦了。你可以考虑(1)数据聚合处理,(2)各采 ...

80个输入脚是额外的IO ,6路SPC的数据引脚有3X6个。所有加起来用了157个脚

wowangru 发表于 2018-11-29 10:38:26

amigenius 发表于 2018-11-28 23:48
用EPM1270写过显示驱动芯片的路过,功能包括:SDRAM控制器,TFT控制器,显存随机读写,矩形读写,SPI Flash ...

你这个牛逼了!!!!

3DA502 发表于 2018-11-29 10:58:11

三丰千分表

我是中断扫描的,stm32,除了接表还干其他很多事,只接表的话6个完全跟得上

千分表的速率太低了

3DA502 发表于 2018-11-29 11:09:23

fpga在低速小数据没有dsp环境下,完全不好用

wowangru 发表于 2018-11-29 11:47:16

//收 1字节地址02+ 6字节DO字+1字节SPC命令+11字节预留+2字节和校验+2字节空 =23字节
//发 1字节地址02+10字节DI字+5字节SPC数据+5字节预留+2字节和校验         =23字节
reg rev_cnt;
always @(posedge clk or negedge rst_n)
begin
        if(!rst_n)
        begin
                tdo_r<=48'd0;
                tx_dr<=8'd0;
                rev_cnt<=5'd0;
        end
        else
        begin
                if(spi_done)
                        rev_cnt<=rev_cnt+1'd1;
                case(rev_cnt)
                .........
                if(spi_timeout)
                begin
                        rev_cnt<=5'd0;
                end
        end       
       
end

我想通过这种方式发送23字节数据,23个状态长度的case会不会有弊端?现在我想减少资源使用,cpld ram也用不起,ram也是le组成的。   或者还有其他方式,我想把cpld采集的输入IO数据发送出去, 输出IO接收回来并驱动对应输出IO。已经写好单字节的SPI程序,每次单字节发送完会有spi_done。      

wowangru 发表于 2018-11-29 11:51:44

3DA502 发表于 2018-11-29 10:58
三丰千分表

我是中断扫描的,stm32,除了接表还干其他很多事,只接表的话6个完全跟得上


我cpld写下来80个LE 一个表。    带超时, 校验 ,以及抗抖动

jathenal 发表于 2018-11-29 11:57:16

没错,所以把FPGA和MCU的优势结合起来是最好了,我在不少实际项目中就是这么用的,一颗M3的MCU加EP4CE的FPGA,关键时序任务交给FGPA,管理和低优先级的琐事交给MCU,各司其职,相互支撑。

huangqi412 发表于 2018-11-29 12:14:14

wowangru 发表于 2018-11-29 11:51
我cpld写下来80个LE 一个表。    带超时, 校验 ,以及抗抖动

也许挂个单片机方便

zouzhichao 发表于 2018-11-29 12:18:31

amigenius 发表于 2018-11-28 23:48
用EPM1270写过显示驱动芯片的路过,功能包括:SDRAM控制器,TFT控制器,显存随机读写,矩形读写,SPI Flash ...

可以考虑把它做成asic了

nanfang2000 发表于 2018-11-29 12:43:19

公司的MCU资源总是不够用,64Kflash,8kram,经常用光,然后我优化出几k代码,然后又很快被吃光

wowangru 发表于 2018-11-29 12:52:48

wye11083 发表于 2018-11-28 22:58
这种相当难优化,6路数据怎么会有80个输入脚?带协议就麻烦了。你可以考虑(1)数据聚合处理,(2)各采 ...

//收 1字节地址02+ 6字节DO字+1字节SPC命令+11字节预留+2字节和校验+2字节空 =23字节
//发 1字节地址02+10字节DI字+5字节SPC数据+5字节预留+2字节和校验         =23字节
这种通信协议用23个case可以吗? 还有没有更好的办法

jlhgold 发表于 2018-11-29 14:33:47

amigenius 发表于 2018-11-28 23:48
用EPM1270写过显示驱动芯片的路过,功能包括:SDRAM控制器,TFT控制器,显存随机读写,矩形读写,SPI Flash ...

牛逼,放出综合的结果来瞧瞧,太霸气了

simplorer 发表于 2018-11-29 15:02:50

fpga没搞过,cpld用过,反正综合后,如果资源占用超过了80%,我就烦躁。

wx85105157 发表于 2018-11-29 15:26:51

amigenius 发表于 2018-11-28 23:48
用EPM1270写过显示驱动芯片的路过,功能包括:SDRAM控制器,TFT控制器,显存随机读写,矩形读写,SPI Flash ...

这个就厉害了,和外部的通信接口是啥呢?

wowangru 发表于 2018-11-29 16:54:21

simplorer 发表于 2018-11-29 15:02
fpga没搞过,cpld用过,反正综合后,如果资源占用超过了80%,我就烦躁。

为什么呢?

wowangru 发表于 2018-11-29 16:55:05

amigenius 发表于 2018-11-28 23:48
用EPM1270写过显示驱动芯片的路过,功能包括:SDRAM控制器,TFT控制器,显存随机读写,矩形读写,SPI Flash ...

放代码出来看看

wowangru 发表于 2018-11-29 16:56:23

fpga的资源每次都紧巴巴的。。。。寄存器能省则省!!!! 整个系统定时器,延时都只能公用一个。。。。

cne53102 发表于 2018-11-29 17:24:57

amigenius 发表于 2018-11-28 23:48
用EPM1270写过显示驱动芯片的路过,功能包括:SDRAM控制器,TFT控制器,显存随机读写,矩形读写,SPI Flash ...

1270竟然同时实现这么多………………

simplorer 发表于 2018-11-30 08:07:10

wowangru 发表于 2018-11-29 16:54
为什么呢?

我的工程中有一些时序约束比较严格,一直怕资源占用多了,时序满足不了。

gaoxinjun2001 发表于 2018-11-30 08:20:07

好像说的有点道理!!!

whxiaowang 发表于 2018-11-30 08:23:51

fpga 85%左右后总是容易出莫名其妙的问题

fengyunyu 发表于 2018-11-30 08:44:46

很多大神,很多高手

unnormal 发表于 2018-11-30 12:53:03

进来学习的

看来楼主是喜欢硬件做事情

{:handshake:}

wowangru 发表于 2018-12-2 16:20:18

我经常干到%95
页: [1]
查看完整版本: fpga 容量从来没够过! MCU的资源从来没用完过!!