调查: 如开源项目 大家对哪款cpu 在FPGA里实现感兴趣 8051 AVR PIC 还是别的 IP c
1) 我在fpga中跑通过8051, AVR, PIC 的 开源CPU核, 8051站的资源大,与or1200 相当,AVR次之, PIC 最少我想知道大家最关心的是什么,速度,面积 性能 实用价值 等,请大家积极发贴
我想就此做过个 大家都能参与 的开源项目.
2) 用FPGA驱动LCD屏,VGA显示,SD卡读写,摄像头的使用 哪个更实用 值得去做 ,这方面我都有尝试
我想就此做过个 大家都能参与 的开源项目.
3) 做一款低档 示波表 + 频率表 + 逻辑分析仪( 采用IP复用技术,一次加载只有一种功能),直接用ep1c3 fpga完成采样及显示(不用nios 或or1200 ,想用 PIC 软核 做些辅助 )模电部分参考魏老师的
AD 采用tlc5510 或tlc5540 总成本在120左右, 不知可行吗 1) avr吧 ,资源越少越好
2)摄像头。。。我也在做,不过遇到些问题。
3)支持! 顶楼主...跟你学.... 我也顶楼主,我的期待是:
1.or1200
2.TFT LCD,能驱动800x480就行了,65535色就可以了。
3.SD卡
4.SDRAM,如果有可能,只采用1片SDRAM,16bit总线
5.CAN
6.适当的UART,SPI。
7.最好采用TQFP144的ProASIC3,不用配置芯片,加密性能好。我不喜欢封装太大的芯片。 都没兴趣……可编程逻辑又不便宜,我干嘛不买个片子放那儿……让PLD干它该干的事 摄像头。 我看不如外配CM3好 cfqxdgr : 你可能不知道 pic core 在fpga 才几百个le ,速度 > 80Mhz 优化的好可以到100Mhz
1k的fpga 有的才10元.另一个优点是可任意定制,包括几个pic同时跑 回复【7楼】hxl_led
cfqxdgr : 你可能不知道 pic core 在fpga 才几百个le ,速度 > 80mhz 优化的好可以到100mhz
1k的fpga 有的才10元.另一个优点是可任意定制,包括几个pic同时跑
-----------------------------------------------------------------------
但是有MCU和,还要有RAM才好跑,RAM大的FPGA很贵 51核占内存的的确是大,期待摄像头 回复【8楼】888888888888
回复【7楼】hxl_led
cfqxdgr : 你可能不知道 pic core 在fpga 才几百个le ,速度 > 80mhz 优化的好可以到100mhz
1k的fpga 有的才10元.另一个优点是可任意定制,包括几个pic同时跑
-----------------------------------------------------------------------
但是有mcu和,还要有ram才好跑,ram大的fpga很贵
-----------------------------------------------------------------------
同意,如果能省下个外设的RAMORDRAM,单一个FPGA做,那是多爽的事,现在流行越小越好了 闲话, 用过好几款单片机及ARM,最痛苦的是不停的选型,不停的学习,多年过去了,才知道商业蒙蔽我们的视野,
每家大公司都在夸自家芯片的卖点...跑题了,此话题不再聊(修该过 ) tohxl_led:
"44b0 2410 2440 6410 9200 9260 9315用arm的对这不陌生吧,我也是一路走过"
你这种走法让人很看不懂啊,你这是在做什么东东啊,44b0和6410肯定应用于不同的领域啊。
就算你是用FPGA,如果工作的内容和领域老是换的话,你也一样得一直学习啊。。。。。。。。。 我不会FPGA,但是,我觉的要是驱动TFT的话,用CPLD就好吧,没必要用FPGA啊,
我听人家说,FPGA主要用于告诉通信和图像处理,不知道对不对??? XIAN1987 :做产品受制于芯片,avr停产,我们用就改用别的对吧, 速度低就得用高的对吧,没有LAN的如需用,你得改芯片吧 三星的不是工业级,
如需用工业级,你得用atmel工业级的吧 等 选简单些的内核,通过项目能快速、容易的掌握其工作原理。 支持!严重支持!
想法不错,结合项目展开可能更容易接受。如果,项目中涉及接口越多,大家越能学习到更多的东西,但可以逐步扩增加,这样不至于太难打击大家信心。另外,建议楼主开一个博客,定期更新进度,共享一些思路,这样可能更好写! cyclone i ii iii,spartan 3 spartan 3e,max3000,max7000,maxii,vitex5我都用过,本身我是做硬件设计的,这些系列选型的时候我都快把手册背下来了,里面有多少资源我熟的很。楼主你说PIC_CORE 才几百LE,但这仅仅是个Core,你还要加外设,你还要外部存储器,你算算,以你自己需要的外设和存储器,放到FPGA/CPLD里面,跟真的买个片子比,谁花的钱多?另外,多个PIC也不如一片cortex m3,或者ARM9跑的快。所以我觉得你研究它在学习FPGA上意义不小,工程意义等于零 回复【17楼】cfqxdgr
cyclone i ii iii,spartan 3 spartan 3e,max3000,max7000,maxii,vitex5我都用过,本身我是做硬件设计的,这些系列选型的时候我都快把手册背下来了,里面有多少资源我熟的很。楼主你说pic_core 才几百le,但这仅仅是个core,你还要加外设,你还要外部存储器,你算算,以你自己需要的外设和存储器,放到fpga/cpld里面,跟真的买个片子比,谁花的钱多?另外,多个pic也不如一片cortex m3,或者arm9跑的快。所以我觉得你研究它在学习fpga上意义不小,工程意义等于零
-----------------------------------------------------------------------
楼主主要是挖一口井,水嘛,要看大家怎么来引 有好些东西是比pic_core要费资源的多的,比如LAN MAC等。我认为FPGA最适合做的是高速数据处理,不要用它代替一些很便宜的片子,因为它本来就贵,贵就要做出更贵的东西来,体现在附加值,而不是向单片机靠拢 cfqxdgr : 我不太了解pic的价格, 16c54 5元左右吧, 500 LE也就 6元左右,1k的fpga 有的才10元,只有同等对比
才有意义,加上MAC的cortex m3 价格是多少,我想30元肯定买不到. 我用2k左右的LE 做了个千兆网收发
市场上你很难卖到带千兆MAC的ARM, 每种器件都有优缺点,取长补短,才是好的做法 回复【20楼】hxl_led
-----------------------------------------------------------------------
能不能推荐下那两款便宜的?
如果逻辑和并行比较多而cpu只作为辅助的话肯定优先选择fpga
另外,opencore上的avr核稳定不 对,取长补短而不是合而为一这就是我的意思,每种片子都有自己的用途。我看你发的贴,对你研究开源核心很佩服。偏巧我正好最近看了看千兆网,首先千兆网在ARM上就没啥意思,本身处理能力就没那么大,所以基本ARM9带的都是10/100MAC。你用2kLE也就是能实现收发功能吧?能做交换吗?能对数据进行进一步的处理吗? 期待2. FPGA+LCD+SD+摄像头 fpga内跑什么51,pic之类,个人认为实际价值是零,除非只是学学技术
ls说在fpga内做千兆以太网,这个说的也太容易了吧,这个可不是谁都能做的,你自己做?或者用opencore上的ip?你敢做,我却不敢用,稳定性能保证?可靠性能保证? 回复【24楼】bluehacker
-----------------------------------------------------------------------
如果前面本来就有大量逻辑需要单片机而fpga用了还有剩余,是用fpga做单片机还是再按个? 你编译器什么的也打算自己搞么 手里有玩具,却不知道怎么玩,怪不得爱因斯坦说那什么最重要了 bluehacker : 千兆网MAC是我根据网上的资料改写的,不是用opencore上的 IP core
协议包括MAC + ARP + UDP 才2k 多一点
你以为我是在吹吗 ,我贴个模块,给大家参考一下,你是个内行,你看看
module gisend(
clk125,
rst,
mode,
empty,
headadd,
length,
rd,
datain,
addr,
txd,
tx_en,
tx_er,
col,
crs,
tran_ok,
late_col,
ex_col
);
input clk125;
input rst;
input mode;
input empty;
input headadd;
input length;
output rd;
reg rd;
input datain;
output addr;
reg addr;
output txd;
output tx_en;
reg tx_en;
output tx_er;
reg tx_er;
input col;
input crs;
output tran_ok;
reg tran_ok;
output late_col;
reg late_col;
output ex_col;
reg ex_col;
reg counter;
reg j_counter;
reg jam_number;
reg busy_counter;
reg out_jam;
reg over_counter;
reg current;
reg next;
parameter IDLE=1, RD=2, GET=4, LOAD=8,
SEND=16, SEND_E=32, JAM=64, OVER=128,
BUSY=256;
wire length_a;
assign length_a = length + 1'b1;
assign txd=datain;
always@(current or crs or empty or mode or col or length or counter
or busy_counter or jam_number or out_jam or over_counter)
begin
next=9'bxxxx_xxxx_x;
case(current)
IDLE: begin
if(!empty)
next=RD;
else
next=IDLE;
end
RD: next=GET;
GET: next=LOAD;
LOAD: begin
if(!mode&&crs)
next=BUSY;
else
next=SEND;
end
BUSY: begin
if(busy_counter==15&&!crs)
next=SEND;
else
next=BUSY;
end
SEND: begin
if(mode) begin
if(length_a ==counter)
next=OVER;
else
next=SEND;
end
else begin
if(col)
next=JAM;
else if(length==counter) begin
if(length>961)
next=OVER;
else
next=SEND_E;
end
else
next=SEND;
end
end
SEND_E: begin
if(counter==961)
next=OVER;
else
next=SEND_E;
end
JAM: begin
if(out_jam) begin
if(jam_number==15)
next=IDLE;
else
next=LOAD;
end
else
next=JAM;
end
OVER: begin
if(over_counter==11)
next=IDLE;
else
next=OVER;
end
default: next=IDLE;
endcase
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) current<=IDLE;
else current<=next;
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) counter<=10'h000;
else begin
case(next)
SEND,
SEND_E: counter<=counter+1'b1;
default: counter<=10'h000;
endcase
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) j_counter<=10'h000;
else begin
if(next==JAM)
j_counter<=j_counter+1'b1;
else
j_counter<=10'h000;
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) out_jam<=1'b0;
else begin
if(next==JAM&&j_counter==10'h3ff)
out_jam<=1'b1;
else
out_jam<=1'b0;
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) jam_number<=4'h0;
else begin
if(next==JAM&¤t!=JAM)
jam_number<=jam_number+1'b1;
else if(next==IDLE)
jam_number<=4'h0;
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) busy_counter<=4'b0000;
else begin
if(next==BUSY)
busy_counter<=busy_counter+1'b1;
else
busy_counter<=4'b0000;
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) over_counter<=4'h0;
else begin
if(next==OVER)
over_counter<=over_counter+1'b1;
else
over_counter<=4'h0;
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) rd<=1'b0;
else begin
if(next==RD)
rd<=1'b1;
else
rd<=1'b0;
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) addr<=11'b0000_0000_000;
else begin
case(next)
LOAD: addr<={headadd,10'h000};
SEND: addr<=addr+1'b1;
default: addr<=11'b0000_0000_000;
endcase
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) begin
tx_en<=1'b0;
end
else begin
case(next)
SEND:begin
tx_en<=1'b1;
end
JAM: begin
if(j_counter<12)
tx_en<=1'b1;
else
tx_en<=1'b0;
end
default: begin
tx_en<=1'b0;
end
endcase
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) tx_er<=1'b0;
else begin
if(next==SEND_E)
tx_er<=1'b1;
else
tx_er<=1'b0;
end
end
always@(posedge clk125 or negedge rst)
begin
if(!rst) begin
tran_ok<=1'b0;
late_col<=1'b0;
ex_col<=1'b0;
end
else begin
if(next==OVER&¤t!=OVER)
tran_ok<=1'b1;
else
tran_ok<=1'b0;
if(next==JAM&¤t!=JAM)
late_col<=1'b1;
else
late_col<=1'b0;
if(next==JAM&¤t!=JAM&&jam_number==14)
ex_col<=1'b1;
else
ex_col<=1'b0;
end
end
endmodule 我本意想找志同道合的朋友,一块玩玩fpga , 并不是 好为人师,无言了,看看别的朋友建议,再决定 回复【29楼】hxl_led
我本意想找志同道合的朋友,一块玩玩fpga , 并不是 好为人师,无言了,看看别的朋友建议,再决定
-----------------------------------------------------------------------
我也玩FPGA啊,我只是玩啊,可惜跟不上楼主啊,你要慢慢教我们啊,其实楼上的兄弟们也就是在讨论FPGA用在内核的实用性而已,也没什么恶意,因为一直以来,网上都会有这样的见解,包括我自己的,FPGA只适合贵,高速,并行上有所作为,而在做内核上面,很多人都以为只是炫一下而已,并无多大用途,不过呢,在FPGA上搞些内核,确实感觉很爽,很好玩 建议楼主开个博客!针对 8051 AVR PIC 中的一款加一些常用的外设IPcore进行讲解,楼主的资料很有意义,只有这样学习,才能使我们搞技术的人真正学习到FPGA!支持楼主 支持这个:直接用ep1c3 fpga完成
好像这个ic见到很多使用的, EP1C3很便宜,3000LE,而且有小封装,相对来说,Altera的下载线最便宜 学习思路 楼主的意思可能是让大家学习学习,而并不是要应用于实际工程项目中。我觉得最主要的是要有详细的开发文档,而不是一堆代码,这样才有利于大家的学习交流。 回复【20楼】hxl_led
cfqxdgr : 我不太了解pic的价格, 16c54 5元左右吧, 500 le也就 6元左右,1k的fpga 有的才10元,只有同等对比
才有意义,加上mac的cortex m3 价格是多少,我想30元肯定买不到. 我用2k左右的le 做了个千兆网收发
市场上你很难卖到带千兆mac的arm, 每种器件都有优缺点,取长补短,才是好的做法
-----------------------------------------------------------------------
你们的产品销量很大么难道,差十几二十块都不行?
不差钱就自己开芯片吧 回复【楼主位】hxl_led
1) 我在fpga中跑通过8051, avr, pic 的 开源cpu核, 8051站的资源大,与or1200 相当,avr次之, pic 最少
我想知道大家最关心的是什么,速度,面积 性能 实用价值 等,请大家积极发贴
我想就此做过个 大家都能参与 的开源项目.
2) 用fpga驱动lcd屏,vga显示,sd卡读写,摄像头的使用 哪个更实用 值得去做 ,这方面我都有尝试
我想就此做过个 大家都能参与 的开源项目.
3) 做一款低档 示波表 + 频率表 + 逻辑分析仪( 采用ip复用技术,一次加载只有一种功能),直接用ep1c3 fpga完成采样及显示(不用nios 或or1200 ,想用 pic 软核 做些辅助 )模电部分参考魏老师的
ad 采用tlc5510 或tlc5540 总成本在120左右, 不知可行吗
-----------------------------------------------------------------------
楼主现实点吧,不是不想做研究,如果你公司项目压的很紧的时候,你有那个时间去研究吗?当然是拿来主义喽。第一,你不是那些叫兽,没有一份稳定收入,吃饱撑的没事干,闲的蛋痛的工作,所以,有超多精力去研究那些东西,第二,工作压力巨大,很多项目等着你完成,连生存都会影响到你的时候,你还有心思去研究吗? 我建议:
1,8051核。
2,TFT LCD驱动器,800X480 8位色或者16位色。
3,2片SDRAM,32位总线。
4,SD卡
5,双串口。
6,GPIO。
做成核心板,要的人很多,如果有这样的,我就想用来做产品。 跑ARC or ARM内核,再加上些DES/3DES/AES/RSA等加解密引擎。。。 个人看法觉得楼主的研究方向不太对。
13元左右的STM32F103C8T6有M3内核,64K的FLASH,20K的SRAM,4个Timer,2个SPI,2个I2c,3个USART,1个USB,1个CAN,2个ADC,可以ISP、JTAG编程,有加密,有序列号,有开发工具,有AN,有技术支持。不说别的,要用FPGA实现这些硬件要多少LE,值多少RMB?
FPGA主要用于高速、并发处理的场合,CPU处理不了的事情就该FPGA上了,能人所不能才是FPGA价值所在。 顶楼主!
做这些软核的东西才能更了解单片机、arm等数字芯片的一些东西,做完这个也能促进对一些mcu的了解 回复【40楼】qianhng
-----------------------------------------------------------------------
如果你的系统前端有很大部分要fpga处理的并行高速逻辑,又要有mcu来控制,这些处理器核就有用了。 在FPGA里面跑CPU核主要的应用场合是需要大量自己定制的外设或加速器。这时候FPGA里面的CPU核心和其他外设和加速器紧密耦合,起到一个协调和控制作用。
我简单说一下自己用到的CPU软核:
MIPS789: MIPS 1指令系统,32位5级流水线处理器。是一个开源的处理器核,现在大家在OPENCORES.org能下载到。在EP2C5T系列FPGA上运行到200M。不使用硬件乘除法器的时候占用2K个LE多一些,使用乘除发加速器的时候占用超过3K个LE,这个处理器的是单指令周期的,效率高速度快,直接支持GCC编译器。当时自己刚接触FPGA,还没有形成良好的编码风格,所以模块化不强,代码可读性比较差,也没有做上WISHBONE总线的兼容接口,所以别人很难拿过来直接使用。我自己用这个很熟练,用它做过两款仿真器产品。
CLAIRISC: 这个也是可以在OPENCORES。ORG上找到,支持PIC的12位指令系统,当时感觉PIC的12位指令系统只有33条指令,并且相对其他指令系统也比较怪异,就做了这个两级流水的处理器核,后来感觉比较弱,也没有很好的C编译器支持,就没有继续做下去。这个核配合软件可以实现简单的WISHBONE接口。最小核心是2百多个LE,后来越加也越多,增加到400多了。
PICROBLAZE:这个软核是XILINX以网表形式发布的,8位指令,多周期,能在XILINX的FPGA里面跑,可以有多种不同的配置,最小配置都可以运行在某些COOLRUNNER CPLD里面。缺点是只能用在XILINX的器件里面(网络也有一个代码公开的PACROBLAZE,可以用在多种FPGA里,没有进行完备的检测,跑了个小汇编还可以),而且必须用汇编写代码,PICROBLAZE的汇编指令还是很完备和丰富的。我认为,某些需要复杂状态机要做的事情,而且这些事情的周期咬合不是那么强,完全可以用PICROBLAZE来做。
MICROBLAZE:和PICROBLAZE 一样 是XILINX的产品,也只能用在 XILINX的 器件里面,32位,编译器调试器以及 开发环境完备,就相当于NIOS之对ALTERA的地位。
NIOSII:实际也是我最早接触的CPU核,核心以加密代码形式提供,支持ALTERA器件。用他们的软件环境生成的代码无比繁琐,以致于小的FPGA片内无法保存,我用比较小的NIOS硬件配置,并且自己修改了启动代码,几条汇编后直接执行C语言的MAIN函数,简单做了工具转换,将ELF文件生成HEX文件作为内存初始文件以保存代码。这样一修改,在EP1C3T系列上的FPGA上能跑了,并且占用很少的硬件资源(应该就是600LE的样子),可以跑到200M,但是指令多周期。总体来说已经很不错了。
OR1K:有个中国留学生在ALTERA DE2上跑通了OR1200,并且移植了UC/OS以及LWIP。当时能从他BLOG下载到所有代码,现在不知道能不能找到了。我觉得OR1K研究一下行,实际价值不是很大:主要是占用资源太多。顺便多说两句,如果是要跑比较复杂的软件系统比方说操作系统,如LINUX什么的,我觉得就不应该选择在FPGA内部实现处理器的方案了,因为那时候主要的问题大多已经不再紧密耦合的问题,如果非要这么做,应该是走偏路了。
现在的嵌入处理器很便宜,我觉得要在实际产品中使用FPGA实现处理器核必须有很充足的理由,不能盲目跟风。一般最关键的是要考虑耦合性:当FPGA或是CPLD做外设的时候,和处理器的通讯已经成为瓶颈,这时候可以考虑将CPU核做在FPGA里面。比方说当时做的一个EJTAG仿真器,那时候需要和FX2芯片的SLAVE FIFO进行通讯,并且还要连接自己编写的高速JTAG控制器,其中还做一些上位命令解析的小工作,这时候处理器在整个的系统的通讯速率已经成为关键问题了,用外挂总线方式不是很合适,我当时就把MIPS789做了进去。
如果大家多CPU软核有兴趣,推荐个站 WWW.OPENCORES.ORG 这上面有很多代码公开的处理器,这些也都是学习VERILG以及数字设计的很好素材。等有时间我用上面处理器代码实现小实验做做和大家分享。
说到处理器软核在FPGA里面的实现,不得不提到有限状态机,这不仅仅是因为很多CPU核内部有FSM,主要是FSM作为并行硬件内部实现的串行化操作,很多场合下FSM和CPU核是可以等效的。这是后话,以后等详细说说我的理解。 mcupro :讲的真好,说到我心里去了,我只是表达不出,希望论坛高人继续讨论,
其实好多事情是相通的,软件的可以用硬件做,用硬件做的软件也能完成
主要是如何平衡,如何折衷, 如要硬件去搞正则表达式(有用到IP包过滤)
那是好困难的,但要是用单片机去搞并行时序,那也是赶鸭子上架,(不是说不行)
所以fpga里跑软核,并不是单纯的跑单片机,而是利用其资源,做到软,硬件
最优化,同时还要考虑性价比. 我是菜鸟,做好复杂点的状态机是我的中期目标,要是复杂点的状态机都处理不了的问题再向CPU靠拢,不过我现在觉得状态机应该够用了。 回复【3楼】68000
我也顶楼主,我的期待是:
1.or1200
2.tft lcd,能驱动800x480就行了,65535色就可以了。
3.sd卡
4.sdram,如果有可能,只采用1片sdram,16bit总线
5.can
6.适当的uart,spi。
7.最好采用tqfp144的proasic3,不用配置芯片,加密性能好。我不喜欢封装太大的芯片。
-----------------------------------------------------------------------
引脚太少了也不好干事,SDRAM约40,TFT约40就没了
另外,OR1200确实面积太大,学习下还可以,实用性不强硬态度 回复【46楼】liurangzhou
-----------------------------------------------------------------------
SDRAM 约40 IO,TFT如果是16bit的话,只需要20IO,如果采用TQFT144的话,基本上都有100个IO可用,还能剩余大约40个IO,干什么基本都够了。关键的问题是采用1片SDRAM的时候,要驱动800x480的TFT是否合理,毕竟CPU还要做其他的工作。SDRAM总线占用是否过大?
or1200是否好,我不是很了解,其实不管采用哪种内核,我都无所谓。只要能完成我想要的功能就OK了。
-------------------------------------------------------------------------------------------
我们的产品量不是很大,一年十几台产品,采用ARM9能驱动TFT LCD确实是很常见的方案。但是这么少的量,焊接是很麻烦的事情。我一直想找一个TQFP144封装的,能实现我3楼上所说的功能的芯片,但是,很难找到,不是说没有,品种少而切买不到。
相对来说,我们这种产量和产品对芯片价格要求不是那么严格,100元的成本和10元的成本对我们来说是一样的。我想,应该有和我的要求相同或相近的朋友。
拆过一个数码相框,里面有个海尔的CPU,TQFP128封装的,里面只用了一个SDRAM,就能驱动800x480的TFT CLD。可惜,找不到资料,而且,这种产品的周期是个很大的问题,更新太快了。类似的还有君正的芯片。
飞思卡尔和瑞萨有类似的片子,也都是TQFP144或是TQFP176的封装,但是,在国内基本上是没有卖的。
所以,用FPGA能定制一个类似的功能的芯片,我有很大的兴趣,但是,我的水平有限。能做的只是跟帖。 68000 : 你的要求不高啊,我上传的or1200学习贴,工程再加上vga核就可以了啊,不过我没做个can, 我上串的图片是1024 x 768 (24bit) 那个VGA核没有问题 回复【48楼】hxl_led
68000 : 你的要求不高啊,我上传的or1200学习贴,工程再加上vga核就可以了啊,不过我没做个can, 我上串的图片是1024 x 768 (24bit) 那个vga核没有问题
-----------------------------------------------------------------------
你有没有真正用过lr1200核,很大哦!
其实在FPGA里面放软核的好处是简化逻辑设计,而缺点是性价比很低!
而且FPGA的安全性值得怀疑,(别跟我提ACTEL,工具特垃圾),别人直接拷贝你的配置芯片即可! liurangzhou : 我学习or1200三年多啦,从ep1c12 到ep3c16 光板我就做了三次,具我所之,我可能是第 ?? 个完成
ehternet+VGA + SD + ucosii + lwip + filesystem (跑linux 我没做过),
不相信,你可以到网上搜一下,有没有类似的论文,或资料
网上的那个留学生or1200 论文,他的网络部分并没有验证10M 100M ehternet core 而用的是DM9000
的芯片 他用的是ucosii 的tcp ip(里面已有DM9000的驱动)
我移植是LWIP ,市面上可没有参考资料. 回复【楼主位】hxl_led
-----------------------------------------------------------------------
1) 我在fpga中跑通过8051, AVR, PIC 的 开源CPU核, 8051站的资源大,与or1200 相当,AVR次之, PIC 最少
我想知道大家最关心的是什么,速度,面积 性能 实用价值 等,请大家积极发贴
我想就此做过个 大家都能参与 的开源项目.
2) 用FPGA驱动LCD屏,VGA显示,SD卡读写,摄像头的使用 哪个更实用 值得去做 ,这方面我都有尝试
我想就此做过个 大家都能参与 的开源项目.
3) 做一款低档 示波表 + 频率表 + 逻辑分析仪( 采用IP复用技术,一次加载只有一种功能),直接用ep1c3 fpga完成采样及显示(不用nios 或or1200 ,想用 PIC 软核 做些辅助 )模电部分参考魏老师的
AD 采用tlc5510 或tlc5540 总成本在120左右, 不知可行吗
关于 1)mcupro 李伟 大侠 已讲的很清楚.
对于2) 3) 不知大家是不是有兴趣, 欢迎大家讨论 支持2) 用FPGA驱动LCD屏,VGA显示,SD卡读写,摄像头,这部分还是有一定的价值的,现在这些我们大部分都是用现成的IPcore或者网表来实现的! 回复【51楼】hxl_led
回复【楼主位】hxl_led
-----------------------------------------------------------------------
1) 我在fpga中跑通过8051, avr, pic 的 开源cpu核, 8051站的资源大,与or1200 相当,avr次之, pic 最少
我想知道大家最关心的是什么,速度,面积 性能 实用价值 等,请大家积极发贴
我想就此做过个 大家都能参与 的开源项目.
2) 用fpga驱动lcd屏,vga显示,sd卡读写,摄像头的使用 哪个更实用 值得去做 ,这方面我都有尝试
我想就此做过个 大家都能参与 的开源项目.
3) 做一款低档 示波表 + 频率表 + 逻辑分析仪( 采用ip复用技术,一次加载只有一种功能),直接用ep1c3 fpga完成采样及显示(不用nios......
-----------------------------------------------------------------------
都支持,动手吧 对8051核感兴趣,可从网上下载的代码都有这样或那样的问题。
hxl_led 大侠能否提供一些帮助,谢谢! 打算先开始 用FPGA驱动LCD屏,从320 * 240 到 1024 * 768都支持, 接口比较让人头痛,总线的速度快,线多
SPI的速度又慢,又要考虑普通的单片机都能用如 51 avr pic ,大家支支招 回复【56楼】hxl_led
打算先开始 用fpga驱动lcd屏,从320 * 240 到 1024 * 768都支持, 接口比较让人头痛,总线的速度快,线多
spi的速度又慢,又要考虑普通的单片机都能用如 51 avr pic ,大家支支招
-----------------------------------------------------------------------
小分辨率用SPI,大的用总线 回复【57楼】bad_fpga
-----------------------------------------------------------------------
高,鱼与熊掌不可兼得,听你的 回复【56楼】hxl_led
打算先开始 用FPGA驱动LCD屏,从320 * 240 到 1024 * 768都支持, 接口比较让人头痛,总线的速度快,线多
SPI的速度又慢,又要考虑普通的单片机都能用如 51 avr pic ,大家支支招
-----------------------------------------------------------------------
如果有可能,最好采用1片SDRAM,也就是16bit外部数据总线,这样可以减少PCB面积和成本。关键是,在16bit外部数据总线的时候,高分辨率的LCD是否占用总线过高,毕竟程序也要在SDRAM中跑。我倒是希望能支持到800x480的屏就可以了,或者是800x600,这样,总线占用率还能低点、
不要说是软核,就算是ARM9,支持1024x768的也是很累的。驱动那么大的屏,本身也没有太多实际价值。 还有,LCD最好是采用16bit color,这样也能减少总线占用率吧,在一般应用中,16bit color已经足够用了 希望能有强人吧这些核能够传到论坛里,方便大家共同进步啊!!呵呵! opensparc 核有没有尝试过? ssaweee : opensparc 核我没用过,只是觉得它太大啦
726544893 : opencores 有很多核啊,你可以下载看看 刚开始学习FPGA,还没能成功的建立一个项目。。。汗。。。
个人也比较相信,FPGA的优势在于并行和速度,若真的只是弄成一个单片机的核的确感觉有点浪费。
但是听了楼上各位的见解,受益匪浅,顺便支持楼主做2)我学它的目的也是为了做2)还想和楼主多讨教讨教~
mark 学习! 回复【63楼】hxl_led
-----------------------------------------------------------------------
论坛准备赠送的那个进万的fpga应该有足够资源, 比较喜欢nios2和or1200等32bit的内核,这些内核已经可以跑linux等系统,这样学习一下大型操作系统还是很有用的。
拿LCD控制器来说,你要做通用,就没有办法做小。因为很多东西需要软件配置控制器寄存器。
我之前做过个LCD的控制器,EP3C25中占用1500多LE,支持并行RGB,TCON两种接口,在NIOS2 100M,SDRAM 100M 16bit的情况下可以支持到800*480的分辨率,不同分辨率只需要用软件修改一下控制器的寄存器就可以,而且有两个layer,可以支持overlay。不过这种东西玩玩可以,真正要显示图片,视频等,效果还是很差的。
现在想做个LCD控制器:
支持两个layer,每个layer可以选择framebuffer的数据格式,RGB323,RGB565,ARGB888或YUV422等,
支持两个layer做alpha blending。
支持edge enhance。
支持color matrix。
支持gamma correct。
支持dither。
支持LCD,LCM等。
目前我接触的SOC中LCD的控制器都可以实现这些功能,有的甚至不这个更强大。 画了块板 用sdram作显存(预期>=90Mhz,我以前在另一块板的最好结果是130Mhz) ,
实现fpga控制lcd 支持320x240640x480
800x600 1024x768 用SPI与单片机或ARM 通讯(25Mhz),试验时超高到50Mhz
pcb这两天回来(自我感觉比上海的...要好) 回复【67楼】hxl_led
画了块板 用sdram作显存(预期>=90mhz,我以前在另一块板的最好结果是130mhz) ,
实现fpga控制lcd 支持320x240640x480
800x600 1024x768 用spi与单片机或arm 通讯(25mhz),试验时超高到50mhz
pcb这两天回来(自我感觉比上海的...要好)
-----------------------------------------------------------------------
我也研究过一阵SDRAM,不过没做,评估过随机写太慢,我全页突发方式数据带宽230M字节(115MHz*16位).SDRAM是133M,工作在125M 回复【7楼】hxl_led
-------------------------------------------------------------------
你可能不知道 pic core 在fpga 才几百个le ,速度 > 80Mhz 优化的好可以到100Mhz
1k的fpga 有的才10元.另一个优点是可任意定制,包括几个pic同时跑
我想知道:10元1K的FPGA是指1K 的LE,还是门数,能说出型号吗? fpga 不是用来 弄 51 avr之类的。。。 ARM CORTEX-M1 支持软核。 顶楼主!楼主的工作的意义绝非只是局限在学习研究层面,其工程意义也很大!!mcupro说过了当处理器与FPGA(做外设)通信速度不给力的时候,把处理器集成到片内就有工程意义!而且Altera貌似也支持这么干(在某些方面),楼主做的工作不就是SOPC吗?(不知道我理解的对不对)
http://cache.amobbs.com/bbs_upload782111/files_37/ourdev_626731RHU6TB.png
图片来自Altera的《DSP Design Flow User Guide》 (原文件名:1.png)
同时我顶楼主有一部分原因是我还是个学生,想瞎整那些看似“另类”的技术或者什么的,这样才能提高自己。何况能像楼主那样玩处理器核,不仅得懂FPGA还得懂处理器的,而且不是那种肤浅的懂,不是那种学会C语言编编简单控制代码的那种懂,要想像楼主那样,起码得深入到处理器的架构内,再深一点就得懂处理器RTL级的代码,更深的就得门级了。
楼主说在FPGA上跑51之类的,反对声音一大片。可能大家误解了,楼主做的绝不是做把FPGA=51这样的工作,这样的工作确实没什么大太的意思。
楼主可能最终要实现的是类似上图那样的SOPC系统!!想想最终实现的系统基本只有一块FPGA,那做出来的产品看起来都帅!!而在FPGA上玩51之类的只是给我们学习的一个入门。
当然,我还是新手!说的不对,希望大家指教。顺便说一句,继续跟进楼主的Openrisc学习贴。 在FPGA里搞单片机,并不等于把FPGA当单片机用。
软硬协调的好,就是身怀利刃,就看赶上什么项目了,运气好就发达乐~~ 2) 用FPGA驱动LCD屏,VGA显示,SD卡读写,摄像头的使用 哪个更实用 值得去做 ,这方面我都有尝试
我想就此做过个 大家都能参与 的开源项目.
已完成 2) 也已上传,希望大家多提意见 双手赞成,不过FPGA的稳定性比MCU好吗? 回复【75楼】hxl_led
2) 用fpga驱动lcd屏,vga显示,sd卡读写,摄像头的使用 哪个更实用 值得去做 ,这方面我都有尝试
我想就此做过个 大家都能参与 的开源项目.
已完成 2) 也已上传,希望大家多提意见
-----------------------------------------------------------------------
其他的还会继续做吗? 回复【77楼】wzh6328
-----------------------------------------------------------------------
会的,陆续贴出 MARK 学习了。 MARK
今天突然想到可以用FPGA来模拟CPU
于是就找到这里咯 没看到什么有用的东西 1.如果是学习,那我建议做8051核,可借鉴的资源多
2.对一些成熟的应用领域,FPGA没有任何优势,价格贵不说,你考虑得不如人家专用asic全面
3.IP复用这个想法不错 or1200,thanks 个人比较反感nios,spoc ,edk之类的东西,这些东西虽然比较强大,但是都依赖于各自的平台,没有可移植性,换个平台就得从新来过,感觉是altera,xilinx为了限制客户做的东西。当然,我并不反对采用嵌入cpu核,只是希望这是通用的,或者开源的核,这样就容易技术积累,没有必要花时间去重复学一些同样功能的东西。 有人对ARM Cortex-M1有了解么?有没有用过的,好用不?
A家和X家都提供,不知道提供HDL源代码否?
个人觉得CM3和CM0都比较常见,用CM1兼容性和代码重用性会比较好。。。。 mark 干脆直接开项目设计CPU算了,设计个并行的CPU。。。从内核开始一路攀升。。。
。。。
有点极端了
。。。
最近看了点CPU核心设计的书,看汇编如看天书的我连汇编也能懂了一点。。。
从FPGA返回来了解汇编,,有点另类 这贴还在呢……为啥大家对FPGA上的软核这种东西这么感兴趣,我确实想不通……FPGA上SERDES\DDRII\DDRIII为啥没人去研究呢?哪怕一个简单单的SDRAM核,有人能写个高效的控制器不?研究一个没有意义的东西对你自己能有多少提高?岂不是找到了屠龙之术却无龙可屠么? 这里很热闹 最近做了一个项目,也是用FPGA带动VGA TFT LCD,只需要16色就够,不过要快,屏幕内容要每秒钟刷新60次。
需要一个16位能做乘法的小CPU,要能在cyclone 2上跑到75MHz以上。
找来找去opencore上没有合适的,还是找了一个西班牙某所大学开发的DSP,叫DSPuva16。改一改还挺合用的。
nios ii还限制什么运行时间,真是太小器了。另外6个时钟的指令周期也是不一般的慢。 大部分项目/产品里面用的soc都是8051核的,即使有其他核的,也是在8051核的产品出来后再升级的。 ARM硬核大军马上就杀到了。。。 支持楼主,楼主的板子什么时候出来呀 有梦想就值得去坚持 支持楼主 hxl_led 发表于 2010-12-24 22:01 static/image/common/back.gif
bluehacker : 千兆网MAC是我根据网上的资料改写的,不是用opencore上的 IP core
协议包括MAC...
写个TCP试试看,FPGA做tcp就没这么简单啦。
另:fpga实现的TCP/IP协议是不全的,就千M来说,美满的千M以太网ARM还是很多的。 做FPGA CPU要考虑资源少,软件调试方便 好贴 收藏一下 楼主是个牛人!不过要好好利用你的技术啊!
页:
[1]
2