原创 把SOPC Builder用于非Nios系统开发

2007-6-3 13:36 4738 7 5 分类: FPGA/CPLD

    很久以来就一直想把SOPC Builder用于通用的系统开发,由于知识、时间、精力的原因一直没能成功。 riple 
    上研究生时曾经设计过一个指令集可配置的8051内核,如果搭配上SOPC Builder,再利用上ALtera提供的众多SOPC外设,就会成为一个非常灵活的SOPC系统。后来虽经几次努力,把这个内核作为主设备成功地添加到了SOPC Buider之中,但是我对于SOPC Builder的众多功能还是一知半解。 riple 
    最近一个项目的结构非常适合采用总线结构搭建,经过比较权衡,可以有两种解决方案:一是采用自定义总线,用语言搭建专有总线;二是按照标准的总线结构开发接口,并最终采用标准总线连接各个设备。前一种方式比较简单,实现起来容易,但是可扩展性差,不利于进一步开发;后一种方式需要学习现成的总线结构和开发方法,初期费些力,以后修改和扩展起来会非常方便。如果采用第二种方式的话,我会选择Avalon总线和SOPC Builder开发工具。 riple 
     我的计划是先采用第一种方式开发,同时利用业余时间系统地学习Avalon总线和SOPC Builder的使用方法。在当前这一期开发完成后,再逐步把设备的接口向Avalon总线形式修改,争取在项目的下一期采用上Avalon总线。 riple



    其实,“Avalon总线”这个说法不是很准确,英文原文是Avalon system interconnect fabric。在SOPC Builder中看来,Avalon是一个总线,主从设备都连接到总线上,从设备拥有独立的地址;但是由于Avalon提供一对主从设备的独享连接,不受其他设备访问总线的影响,Avalon本质上是一个交换结构(Switcher)。 riple 
    从SOPC系统开发者的角度看来,SOPC Builder生成的互连结构可以被看作是总线,但是这个总线提供了性能高于传统总线的交换结构。从这一点看来,“Avalon总线”优于传统总线。但由于交换结构的特殊性,不采用SOPC Builder这样的自动生成工具,手工搭建交换结构有一定的工作量。 riple 
    所以,如果把Avalon看作是一系列的主从设备接口标准,把SOPC Builder看作是生成连接Avalon主从设备专用连接的互连结构生成工具,会更符合SOPC Builder设计者的本意。 riple 
    Avalon接口可以支持总线和交换结构,SOPC Builder可以把符合Avalon接口标准的主从设备按照系统开发者的配置,采用总线结合交换的结构,以最优的方式连接起来。 riple



    在Altera的Quartus II Version 7.1 Handbook Volume 4: SOPC Builder中有这样一段话:
    Many designers already know SOPC Builder as the tool for creating systems based on the Nios II processor. However, SOPC Builder is more than a Nios II system builder; it is a general-purpose tool for creating arbitrary SOPC designs that may or may not contain a processor.
    这段话澄清了对于SOPC Builder的误解:SOPC Builder可用于通用系统的开发,而不仅仅局限于基于Nios II处理器系统的开发;在SOPC系统中,甚至可以不包含任何处理器。 riple 
    通过下面一系列的短文,我希望能给大家提供和解释上面这样一个系统开发和构建的新思路。 riple


 


    相关链接:IP核互连策略及规范 riple

文章评论1条评论)

登录后参与讨论

用户358341 2012-6-26 10:31

如醍醐灌顶,很有见地

用户1053025 2006-10-12 10:54

放下旧的,谈何容易啊。有一件事情,到现在差不多1年了,我简直就是在强迫自己忘记,硬逼自己宽容谅解。sigh,最后,事实改变得很少,我却很累。
相关推荐阅读
ash_riple_768180695 2015-12-18 11:06
学习示例程序:FPGA快速系统原型设计--敏捷实践
        学习与开发板配套的示例程序,是敏捷实践的起点。示例程序是厂商针对开发板上提供的硬件资源和接口量身定做的工程,可以展示其FPGA芯片的功能和性能特点。从示例程序入手最大的好处就是:示...
ash_riple_768180695 2015-11-03 16:46
开发板选取:FPGA快速系统原型设计--敏捷实践
    既然是“实践”,就不能只谈编码和仿真,必须要上板运行、调试。这个虚拟项目的目标是实现一块兼容Intel82574L以太网控制器的千兆网卡,需要运行在一块具备PCIe接口和10/100/10...
ash_riple_768180695 2015-10-22 12:41
开篇:FPGA快速系统原型设计--敏捷实践
    虽然借用了 “系统原型开发”的标题,本系列文章将围绕FPGA IP级别的开发这个主题展开,如果可能的话,将扩展至FPGA System级别的开发。     先上一篇PPT:RSPwFP...
ash_riple_768180695 2013-08-26 10:21
学习SystemVerilog(二)——学习它的理由
    学习SystemVerilog的理由也很多,我在阅读SystemVerilog for Design 和 SystemVerilog for Verification两本书前言的过程中,总...
ash_riple_768180695 2013-08-26 10:19
学习SystemVerilog(一)——不学习它的理由
    想要学习SystemVerilog已经很久了。曾经尝试通过Accellera网站上给出的LRM学习,怎奈内容众多,找不出入手点和重点,只能望而却步。虽然手头有三本SystemVerilog...
ash_riple_768180695 2011-06-26 23:20
Hardware-Assisted IEEE1588 Implementation Analysis
06/18/11 11:00:05 PM         最近一段时间在研究IEEE1588-2008精确时间同步协议(PTP)。该协议可以在软件中实现,如果需要提高时间同步...
我要评论
1
7
关闭 站长推荐上一条 /2 下一条