搜索
bottom↓
回复: 22

门外汉,咨询大家一个有关fpga的问题

[复制链接]

出0入0汤圆

发表于 2014-11-4 14:32:48 | 显示全部楼层 |阅读模式
        我们的目的是在fpga板子里嵌入M0,或者ARM7的内核,模拟出一个mcu。
        并且,这个mcu的内核在运行的时候,fpga还可以实现类似jtag一样的功能,可以跟踪,单步,断点等,观察控制下载在该内核中程序的,类似一个仿真器的功能。
        背景是,我们用的一款芯片,厂商的片子不能提供在线调试的功能。我们想基于fpga做一个,既包含该芯片的内核,又能够实时调试的功能。     
        如果用fpga来做,是否可行,需要什么级别的片子,是否有推荐型号,厂商。


        多谢大家!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-11-4 14:48:22 | 显示全部楼层
可以看看直接内嵌硬核的FPGA,国产的有CME-M7(Cortex-M3+FPGA)

RT-Thread对此有支持 http://www.rt-thread.org/phpBB3/topic3787.html

出0入0汤圆

发表于 2014-11-4 14:50:12 | 显示全部楼层
要更高端的还有Zynq

出0入0汤圆

 楼主| 发表于 2014-11-4 15:12:12 | 显示全部楼层
aozima 发表于 2014-11-4 14:50
要更高端的还有Zynq

谢谢aozima 的回复

     我还想问一下,通用的fpga能否实现我说的功能呢?

出0入16汤圆

发表于 2014-11-4 15:15:09 | 显示全部楼层
背景是,我们用的一款芯片,厂商的片子不能提供在线调试的功能。我们想基于fpga做一个,既包含该芯片的内核,又能够实时调试的功能。
——————————————————————————————————————————————
如果不指定内核,估计还有可能,网上有开源的RISC,MIPS核。如果是指定的内核,那只能找厂家要代码了,比如说我想用FPGA生成一个intel I3核。。。。

出0入0汤圆

发表于 2014-11-4 15:19:19 | 显示全部楼层
实现个处理器倒是不需要多大的资源,Cortex-M0 DesignStart差不多是六千LUT,不过那个不带调试。
lz如果一定要做成ARM的话,他们指令集什么的应该是有专利不能随便商业用的吧。其他软核带调试的lz愿意用吗?

出0入0汤圆

发表于 2014-11-4 15:19:43 | 显示全部楼层
嵌入内核应该可以,之前嵌入过51的核,实时调试理论可行,自己写有点烦,不知道有没有公开的源码

出0入0汤圆

 楼主| 发表于 2014-11-4 15:31:29 | 显示全部楼层
K.O.Carnivist 发表于 2014-11-4 15:19
实现个处理器倒是不需要多大的资源,Cortex-M0 DesignStart差不多是六千LUT,不过那个不带调试。
lz如果一 ...

特殊应用只能用这个内核

出0入0汤圆

发表于 2014-11-4 15:41:01 | 显示全部楼层
go2deathward 发表于 2014-11-4 15:31
特殊应用只能用这个内核

那应该还是用带硬核的fpga比较方便吧。或者贵公司有钱直接找arm去买m0的fpga授权。

出0入0汤圆

 楼主| 发表于 2014-11-4 15:43:11 | 显示全部楼层
K.O.Carnivist 发表于 2014-11-4 15:41
那应该还是用带硬核的fpga比较方便吧。或者贵公司有钱直接找arm去买m0的fpga授权。 ...

带硬核的fpga有推荐吗?M0的内核即可

出0入0汤圆

发表于 2014-11-4 15:49:03 | 显示全部楼层
处理器的调试功能需要额外的逻辑进行支持。单纯的一个没有调试功能的软核,自己开发调试功能,工作量可能比重新设计一个带调试功能的软核大得多。

So,如果非要这个功能,
# 去ARM买个可综合的软核吧。。。
# 代码在别的M0芯片上调试的差不多了再运过来。。。
# 上RTOS,利用简单的服务程序实现一些非常简单的调试功能也是可以的。

出0入17汤圆

发表于 2014-11-4 16:43:26 | 显示全部楼层
想要M0内核直接去找ARM买,他们就是卖这个的

出20入186汤圆

发表于 2014-11-4 20:31:08 | 显示全部楼层
可以达到你所需要的要求,网上有51软核,M0软核,且有JTAG功能,

出0入0汤圆

 楼主| 发表于 2014-11-4 21:07:00 | 显示全部楼层
yuyu87 发表于 2014-11-4 20:31
可以达到你所需要的要求,网上有51软核,M0软核,且有JTAG功能,

M0的也有吗?没有找到呢

出0入0汤圆

发表于 2014-11-4 21:26:15 | 显示全部楼层
go2deathward 发表于 2014-11-4 21:07
M0的也有吗?没有找到呢

ACTEL (现在是microsemi)有带M1、M3内核的FPGA ,国产京微雅阁也有带51、M3内核的

出0入0汤圆

发表于 2014-11-4 22:26:16 | 显示全部楼层
记得有本书  兼容ARM9的软核处理器设计:基于FPGA   可以参考下

出0入0汤圆

 楼主| 发表于 2014-11-5 13:44:53 | 显示全部楼层
Codoox 发表于 2014-11-4 21:26
ACTEL (现在是microsemi)有带M1、M3内核的FPGA ,国产京微雅阁也有带51、M3内核的 ...

国产的这个片子,京微雅格的,用的人多吗?经得起考验不?

出0入0汤圆

发表于 2014-11-5 17:25:43 | 显示全部楼层
go2deathward 发表于 2014-11-5 13:44
国产的这个片子,京微雅格的,用的人多吗?经得起考验不?

目前好像都是给企业客户供货,没用过不好说。ACTEL的质量肯定没问题,但价格可能不会太便宜。

出0入0汤圆

 楼主| 发表于 2014-11-5 18:01:05 | 显示全部楼层
ARM大学计划里,有M0的DesignStart Processor IP ,这个有谁下载过吗?

我注册申请了,需要2天才能有回应。。

谁如果有,我先拿来看看~~~~多谢了!

出0入0汤圆

发表于 2014-11-6 10:45:23 | 显示全部楼层
go2deathward 发表于 2014-11-5 18:01
ARM大学计划里,有M0的DesignStart Processor IP ,这个有谁下载过吗?

我注册申请了,需要2天才能有回应 ...

那个没有debug的。接口是这样:
  1. module CORTEXM0DS (
  2.   // CLOCK AND RESETS ------------------
  3.   input  wire        HCLK,              // Clock
  4.   input  wire        HRESETn,           // Asynchronous reset

  5.   // AHB-LITE MASTER PORT --------------
  6.   output wire [31:0] HADDR,             // AHB transaction address
  7.   output wire [ 2:0] HBURST,            // AHB burst: tied to single
  8.   output wire        HMASTLOCK,         // AHB locked transfer (always zero)
  9.   output wire [ 3:0] HPROT,             // AHB protection: priv; data or inst
  10.   output wire [ 2:0] HSIZE,             // AHB size: byte, half-word or word
  11.   output wire [ 1:0] HTRANS,            // AHB transfer: non-sequential only
  12.   output wire [31:0] HWDATA,            // AHB write-data
  13.   output wire        HWRITE,            // AHB write control
  14.   input  wire [31:0] HRDATA,            // AHB read-data
  15.   input  wire        HREADY,            // AHB stall signal
  16.   input  wire        HRESP,             // AHB error response

  17.   // MISCELLANEOUS ---------------------
  18.   input  wire        NMI,               // Non-maskable interrupt input
  19.   input  wire [15:0] IRQ,               // Interrupt request inputs
  20.   output wire        TXEV,              // Event output (SEV executed)
  21.   input  wire        RXEV,              // Event input
  22.   output wire        LOCKUP,            // Core is locked-up
  23.   output wire        SYSRESETREQ,       // System reset request

  24.   // POWER MANAGEMENT ------------------
  25.   output wire        SLEEPING           // Core and NVIC sleeping
  26. );
复制代码


里面代码是门级的,没有可读性。类似这样:
  1. assign S8a2z4 = (~(Dmh2z4[12] & K1wvx4));
  2. assign haddr_o[10] = (!Jxovx4);
  3. assign Jxovx4 = (Qea2z4 & Xea2z4);
  4. assign Xea2z4 = (~(Ykh2z4[9] & Mrsvx4));
  5. assign Qea2z4 = (Efa2z4 & Lfa2z4);
  6. assign Lfa2z4 = (~(Gzvvx4 & Hxnvx4));
  7. assign Hxnvx4 = (~(Sfa2z4 & Zfa2z4));
  8. assign Zfa2z4 = (~(Wadvx4 & Jj9wx4));
  9. assign Sfa2z4 = (Gga2z4 & Nga2z4);
  10. assign Nga2z4 = (~(Vb9wx4 & Uga2z4));
  11. assign Uga2z4 = (~(Bha2z4 & Iha2z4));
  12. assign Iha2z4 = (Pha2z4 & Wha2z4);
复制代码

出0入0汤圆

发表于 2014-11-6 10:58:51 | 显示全部楼层
可以做 但是前提是fpga不一定能跑到MCU的速度
而且用fpga的成本,不仅仅是指材料成本,设计成本远远高于MCU。如果你需要license IP的话,那成本更是离谱

出0入0汤圆

 楼主| 发表于 2014-11-9 23:44:22 | 显示全部楼层
多谢诸位的热心回复!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 01:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表