[go: up one dir, main page]

CN1552034A - 用于实现复合电子电路的系统与方法 - Google Patents

用于实现复合电子电路的系统与方法 Download PDF

Info

Publication number
CN1552034A
CN1552034A CNA02817237XA CN02817237A CN1552034A CN 1552034 A CN1552034 A CN 1552034A CN A02817237X A CNA02817237X A CN A02817237XA CN 02817237 A CN02817237 A CN 02817237A CN 1552034 A CN1552034 A CN 1552034A
Authority
CN
China
Prior art keywords
circuit
model
composite electronic
circuit block
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA02817237XA
Other languages
English (en)
Other versions
CN1278267C (zh
Inventor
Ƥ������³�������
皮尔安格鲁·格尼奥
法毕奥·瑞齐尔图
阿弗莱多·拉斯齐图
墨腊·图罗拉
��¡���ά����
安东尼奥·维瑞拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TIM SpA
Original Assignee
Telecom Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from IT2001TO000667A external-priority patent/ITTO20010667A1/it
Priority claimed from IT2001TO000794A external-priority patent/ITTO20010794A1/it
Application filed by Telecom Italia SpA filed Critical Telecom Italia SpA
Publication of CN1552034A publication Critical patent/CN1552034A/zh
Application granted granted Critical
Publication of CN1278267C publication Critical patent/CN1278267C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/343Logical level
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及一种用于实现电子电路的系统(10)与方法,所述电子电路包括可以诸如FPGA的物理电路形式,或以例如存储在微处理器上的固件形式来实施的单元或基本电路块。借助用于描述电路块(26a、26b)及其功能模型(21)的方法,所述系统(10)和方法允许在单个集成环境内,借助WS(11)和仿真器子系统(30)来执行复合电子电路模型的功能模拟,以及所述电子电路自身的仿真。此外,借助所述电路块(26a、26b)及其功能模型(21)之间本质上一致的特征,可选择性地使用以硬件(26a)或固件(26b)形式实施在所述仿真器子系统上的电路块,实现所述复合电子电路的仿真。

Description

用于实现复合电子电路的系统与方法
技术领域
本发明涉及一种用于实现复合电子电路的系统与方法,所述复合电子电路例如是复合集成电路或SOC(系统单片集成),众所周知,其包括能够实施所述复合电路的确定功能的物理电路单元(硬件)以及处理程序(固件或软件)。
本发明尤其涉及一种用于设计与测试复合电子电路的系统与方法,其中组合并集成在一起的硬件与软件允许执行复合电子功能,例如在电信装置内管理传输与接收信息流。
背景技术
众所周知,复合电子电路(复合电路)的设计是通过组合例如从库中提取的基本电路块,并以物理电路单元或程序电路单元的形式实施所述电路块,在前一种情况下,所使用的术语是硬件知识产权(硬件IP),在后一种情况下,所使用的术语是软件IP。
尤其是根据现有技术,实现所述复合电路需要一系列步骤,如下所述:
所述复合电路的功能描述步骤110(图1);在所述步骤110内,从与将要得到的电路相关的技术规范100开始,系统设计者例如借助诸如C语言的高级程序设计语言,生成所述电路的功能描述;
在步骤110内描述的电路的功能模拟步骤120,其中验证所述电路的操作,不论其实际的实施方式是借助物理单元(硬件电路块)还是程序单元(软件或固件电路块);
所述复合电路的所谓分割步骤130,其中所述系统设计者基于他/她的经验,识别将被实施为物理或硬件电路块的电路块,以及将被实施为软件电路块的电路块;因此,在所述分割130之后,所述电子电路的设计二分叉为
描述步骤140a,以及步骤150a,所述描述步骤140a例如通常借助于VHDL语言(极高速集成电路硬件描述语言),从而允许通过合成得到所述硬件电路块,所述步骤150a实际上例如以可编程FPGA(现场可编程门阵列)逻辑形式得到所述硬件电路块;以及
步骤140b以及步骤150b,所述步骤140b描述所述软件电路块,所述步骤150b例如以所确定处理器的固件形式来实现所述软件电路块;当然,在步骤140a和140b中,使用IP库,并分别使用硬件145a和软件145b,如果它们可用的话,以便加速所述电路块的设计步骤;一旦完成所述硬件与软件开发步骤,即借助以下步骤完成设计
测试所述复合电路或其原型的步骤160,其中使用适当的已知测试设备来装配并测试所述硬件电路块150a与固件电路块150b。
但此处描述的步骤顺序具有多个问题,尤其是在所述分割步骤举足轻重时。
第一个问题包括,如果在测试步骤160中出现与分割所述电路相关的问题,因而必须重复该步骤,则根据现有技术必须重复相关电路块的描述步骤(140a或140b)以及实现步骤(150a或150b),从而花费大量时间与能量支出。
这是因为在所述分割内引起的任何修改都需要以对应软件电路块来替代硬件电路块,反之亦然。
众所周知,所述操作相当重要,因为即使每一电路块都属于IP库,其仍然必须适合于设计技术规范,必须重复测试每一电路块,以验证其与其所替代的电路块的精确对应关系。
现有技术的第二个技术问题包括,在所述分割之后,系统设计者放弃了对所述开发与实现步骤的控制,对于硬件电路块尤其如此,因此仅在所述测试步骤中系统设计者能够验证其所得到的实际上是否准确符合于设计技术规范。
实际上,尤其是硬件电路块的开发与构造需要与生成和模拟所述硬件的体系结构模型相关的专有技术,众所周知系统设计者并不拥有该技术,而是与写软件和功能电路块相关的技术。
发明内容
本发明的目的是描述一种用于实现复合电路的系统与方法,其中所述电路自身的分割内的任何改变都不会引起开发与实现阶段的重复,所述重复在现有技术中普遍存在。
本发明的目的还包括一种系统与方法,其中系统设计者在开发和实现阶段期间内,始终基于他/她自己的专有技术保持对所述阶段的控制。
本发明的另一目的是一种系统与方法,其以对于执行所述阶段的装置而言透明的方式来模拟并测试复合电路。
所述目的的实现借助于实现如权利要求书所述复合电子电路的所述系统与方法。
所述目的的实现尤其借助于根据本发明的系统与方法,其中所述复合电路或IP库的基本电路块具有“中性”的基本特性,因为其可用于代表硬件电路块(物理单元)和软件电路块(程序单元)两者。
归因于所述特性,现有技术的分割阶段不再重要,因为任何硬件或软件电路块可以对应的备选软件或硬件电路块动态替代,而无需重复所述开发与实现阶段。
此外,根据本发明的另一特征,所述复合电路或IP库的“中立”基本电路块不仅可在初始设计阶段期间内用于执行功能模拟,还可在所述测试阶段期间内使用,从而允许减少得到所述复合电路所需的阶段数。
附图说明
本发明的所述特征与其它特征可从以下借助非限制性实例与附图对优选实施例的描述中显而易见,在附图中:
图1示出了用于得到根据现有技术的复合电子电路的方法的流程图;
图2是根据本发明的系统的方框图;
图3示出了根据本发明的方法适用的传输链的实例;以及
图4示出了根据本发明的方法的流程图。
具体实施方式
参照图2,用于实现复合电子电路(复合电路)的系统10包括,具有处理器子系统(基本模电路块)12的已知类型的计算机化工作站(WS)11、显示设备(显示器)14、键盘15、指示设备(鼠标)16、用于连接至局域网的设备(网络连接)19。
如以下将参照根据本发明的方法详细描述,所述工作站10能够处理软件程序或模电路块,并将处理结果显示在所述显示器14上,所述工作站例如是Hewlett-Packard的模型J5000,其具有450MHz CPU,1吉字节RAM,18吉字节硬盘和UNIX操作系统。
所述系统10还包括磁盘的已知子系统20,其借助于所述网络连接19连接至WS11,并能够存储用于执行根据本发明的方法而实施的软件模电路块以及参考库,以下将对其详细描述。
当然,如果所述软件模电路块与库的大小受限,则其同样可存储在WS11的硬盘内,这并不会改变本发明的特征。
所述系统10还包括仿真器子系统或测试设备30,其借助自身内已知的并联(连接)29和JTAG(联合测试行动组)接口28连接至WS11。
如以下将详细描述,已知测试设备30能够仿真所述复合电子电路的特性,所述已知测试设备30能够仿真所述复合电子电路的特性,例如由ARM公司的ARMINTEGRATOR/AP板33构成,包括第一模电路块(μP模电路块)31和第二模电路块(FPGA模电路块)32,所述第一模电路块31例如是带有ARM7TDMI微处理器的ARM INTEGRATOR/CM模电路块,而所述第二模电路块例如是具有FPGA可编程逻辑的ARMINTEGRATOR/LM模电路块。
如以下将详细描述,在上述配置中,所述系统10能够允许实现与测试根据本发明的复合电子电路或对应原型。
此外,借助存储在RAM内的所述软件程序与参考库,所述系统10允许执行根据本发明的方法。
一般而言,可以许多形式提供根据本发明的软件程序与参考库,包括但并不仅限于:永久地存储在不可写存储媒体上的信息,以及可改变地存储在可写存储媒体上的信息。
参照传输链50(图3)描述根据本发明的系统与方法的实施方式的实例,所述传输链50包括以下功能电路块:
A:数据输入电路块;
B:特播编码器电路块;
C:BPSK(二进相移键控)调制器电路块或BPSK调制器;
D:高斯白噪声生成器信道(信道);
E:BPSK解调器电路块(BPSK解调器);
F:特播译码器电路块;以及
G:数据提取电路块。
所述电路块A、B、C、E、F和G例如代表将要实现的复合电路的物理电路单元(硬件)或处理程序(程序电路单元或固件),而所述电路块D代表经历噪声的传输信道。
当然,基于以下描述对于本发明技术人员显而易见的是,为了实现根据本发明的系统与方法,任何能够处理信息和/或数据的功能电路块链都可作为参考。
因此,参照所述链50,根据本发明的方法包括所述复合电路的第一功能描述步骤(描述)210(图2、图3、图4),其中给定技术规范100,例如借助C程序设计语言来描述将要实现的复合电路的功能电路块,例如所述链50的电路块A到G。
根据本发明的第一特征准则,必须以这样一种方式执行所述描述210,即对应于硬件或固件电路单元的每一电路块都与所选择程序设计语言内的对应单个模型相关。
根据本发明的第二特征准则,必须以这样一种方式执行每一电路块的描述210,即依据所述测试设备30上可得到的μP模电路块31的物理特性,独立地从所述类型的μP模电路块31将内部功能写到所述电路块。根据本发明,尤其是以代码行描述了所有取决于μP模电路块31上的微处理器的体系结构的功能,所述代码行在代表相关电路单元的模型外部(外部程序包)。
然后,在所述测试步骤期间内,依据所选择的微处理器,将会使用存在于所述μP模电路块31上的微处理器的对应专用支持文件。
例如,当在带有ARM7TDMI微处理器的μP31模电路块上,根据本发明实施例使用每个功能电路块的“读/写”功能时,所述每个功能电路块的“读/写”功能都具有以下类型的形式:
//###在功能电路块内使用的读/写功能###
extern void word_write(int addr,int data);
extern int word_read(int addr);
//###END###
//###ARM7TDMI的外部专用程序包###
word_write
   STMFD SP!,{lr};将返回地址保存到栈上
   STR rl,[r0,#0];将数据r1存储在r0内
   LDMFD SP!,{pc};返回
word_read
  STMFD SP!,{r1,lr};将ret.addr.和r1保存到栈上
  LDR rl,[r0,#0];以数据载入temp
  MOV r0,rl;将temp拷贝到r0,以返回值
  LDMFD SP!,{r1,pc};返回
//###END###
归因于所述特征,每个功能电路块的编码都为“中性”型,因为在外部程序包上描述其上将实施所述电路的微处理器的特定部分。
因而对于本领域技术人员而言显而易见的是,每种情况下所述外部程序包都可被最优化,而无需改变所述功能电路块的特征。
此外,可在带有各种操作系统的计算机上,例如在带有Windows/NT操作系统的个人计算机(PC)或工作站上使用并模拟每个“中性”功能电路块。
根据本发明的第三个特征准则,必须以这样一种方式执行每一电路块的描述210,即借助诸如移位与外部屏蔽的低电平逻辑操作,在可能时以所选择程序设计语言实施任何诸如乘法和除法的复合数学函数。
例如以下函数:
i=
可以下述方式以C语言实施该函数:
i=(J*Pow(2,q))/16;
根据上述特征,必须借助以下类型的形式实施该函数:
i=(j<<q)>>4;
其中所述复合数学函数由“移位”逻辑函数替代。
在这无法实现时,外部屏蔽或函数必须被用为除法()、乘法(),根据上述第二准则,所述除法与乘法被根据所使用的微处理器最优化。
归因于所述特征,每个功能电路块的编码相对于数学函数而言都是“中性的”,因此无需修改即可在各种类型及标准的微处理器上实施所述编码自身。
此外,对于本领域技术人员而言显而易见的是,这种写模式例如允许以VHDL语言生成等同于软件单元的硬件电路单元。
根据本发明的第四特征准则,必须以这样一种方式执行每一电路块的描述210,即所述程序设计码允许以任意确定的若干比特(二进制字段或矢量)来表示数值,并将一个比特或比特组置于如此确定的字段中的任何位置内。
为了实现此目标,根据本实施例,参考数据结构被用于表示所述二进制字段。
例如,使用C语言并应用上述方法,表1、表2和3内分别提供了三种实例的数据结构,其能够用于指示比特串而无需使用乘法与除法,所述实例为:
//数据型函数
V_BIT GetBit(V_BYTE vector,long index)
{
  int ByteIndex;
  char BitIndex;
  ByteIndex=index>>3;
  BitIndex=(index&7);
  return(V_BIT)((vector[ByteIndex]>>BitIndex)&1);
}
                    表1
对于本领域技术人员显而易见的是,表1的函数允许使用C语言的低级功能从V BYTE型矢量提取比特(由索引位置定义)。
  //数据型函数

  V_BIT SetBit(V_BYTE vector,long index,int value)

  {

    int ByteIndex;

    char BitIndex;

    ByteIn dex=index>>3;

    BitIndex=(index&7);

    if(value)

     vector[ByteIndex]=vector[ByteIndex]|(1<<BitIndex);

    else

     vector[ByteIndex]=vector[ByteIndex]&~(1<<BitIndex);

     return value;

  }
                  表2
表2的函数允许使用C语言的低级功能将一个值指配给V_BYTE型矢量内的任何比特(由索引位置定义)。
通过实现在表1和表2内描述的数据结构类型,可以低电平C编码描述所述功能电路块,所述功能电路块无需修改即可在各种类型和标准的微处理器上轻易实施。
//数据型函数
V_VBYTE create_VBYTE(V_LONG size)
{
 return=(V_VBYTE)malloc(sizeof(V_BYTE)*size);
}
                     表3
对于本领域技术人员显而易见的是,表3的函数允许在存储器内将“size”所表示的大小分配给矢量。
以下提供一个实例,其中表1、表2和表3的函数被用于以所确定150字节字段将第120个比特设置为1。
//###使用实例####
V_VBYTE data;
V_BIT result;
data=create_VBYTE(150);
SetBit(data,120,1);
result=GetBit(data,120);
应当理解的是,所述数据类型V_VBYTE、V_BIT和函数SetBit、GetBit在上述外部程序包内定义。
当然,对于本领域技术人员而言显而易见的是,这种写模式同样允许轻易地生成等同于软件电路块的硬件电路块。
归因于所述特征,与现有技术相反,每个功能电路块的编码都能够管理长度可任意变化的二进制字段,并检查或设置单个比特值在任何位置内。
因此,如果根据上述四个准则执行链50的电路块的描述210,则所述描述允许得到满足以下要求的功能电路块:
-是“中性”的,因为可以相同编码在任何微处理器上实施所述功能电路块;以及
-具有可被轻易转换为诸如VHDL的电路合成语言的描述。
根据本发明的附加特征要素,必须以这样一种方式执行单个功能电路块或其任何子功能电路块的描述,即将所述电路块或子电路块的功能性描述与到其它电路块或子电路块的接口分离。
如以下将详细描述,使用这种技术可得到诸如C语言的编码,其可轻易地从模拟环境输出到测试环境。
例如,应当以这样一种方式描述链50的每个电路块或子电路块,即使得与各个电路块或子电路块的特定功能相关的部分与接口或“包装”部分保持分离,前者例如借助于C编码描述,后者例如借助于C++编码描述。
例如如下表4所示描述链50的电路块B。
  //WRAPPER START

  class TurboEnc

  {

     V_WORD RSC1,RSC2;

     V_INT FRAME;

     //...

    public:

     //...

     Run(V_BYTE,V_BYTE);

     ...

  }

  //WRAPPER END
对于本领域技术人员而言显而易见的是,其中“//...”型注释行代表根据需要个人化的代码行;以及
  //FUNCTION BLOCK START

  V_VBYTE TruboEnc∷Run(V_VBYTE mem_in,V_VBYTE
mem_out)

  {

    V_INTi;

    V_BIT U,IU,C1,C2 rsc1_0,rsc2_0;
  V_WORD termin[6];

  //Turbo Encoder:frame
        <!-- SIPO <DP n="10"> -->
        <dp n="d10"/>
    for(i=0;i<FRAME;i++)

      {

       rsc1_0=(U=GetBit(mem_in,i))^((RSC1>>1)%2)^
((RSC1>>2)%2);

       C1=rsc1_0^(RSC1%2)^((RSC1>>2)%2);

       RSC1=(RSC1<<1)|rsc1_0;

       Rsc2)0=GetBit(mem_in,ivector[i])^((RSC2>>1)%2)^
((RSC2>>2)%2);

       C2=rsc2_0^(RSC2%2)^((RSC2>>2)%2);

       RSC2=(RSC2<<1)|rsc2_0;

     //Pack and Write code on mem_out

     word_mem_out=U|(C1<<3)|(C2<<6);

     word_write(mem_out+(i<<2),word_mem_out);

  }

  //Initialize terminations

  for(i=0;i<6;i++)

  termin[i]=0;

  //Turbo Encoder:terminations

  for(i=0;i<3;i++)

    {

     U=((RSC1>>1)%2)^((RSC1>>1)%2);

     IU=((RSC2>>1)%2)^((RSC1>>2)%2);

     rsc1_0=false;

     C1=rsc1_0^(RSC1%2)^((RSC1>>2)%2);

     RSC1=(RSC1<<1)| rsc2_0;

     rsc2_0=false;

     C2=rsc2_0^(RSC2%2)^((RSC2>>2)%2);

     RSC2=(RSC2<<1)|rsc2_0;

   //Pack termination on mem_out
        <!-- SIPO <DP n="11"> -->
        <dp n="d11"/>
   termin[i]=U|(C1<<3);

   termin[i+3]=IU|(C2<<6);

   }

   //Write terminations on mem_out

   for(i=0;i<6;i++)

   word_write(mem_out+FRAME+(i<<2),termin[i]);

   return mem_out;

  }

  //FUNCTION BLOCK END
                      表4
使用图4所示的技术,可外插所述电路块的功能,并使其相对于所述接口呈“中性”。
换言之,可将功能转换为一类方法。
如此,本领域技术人员应当理解的是,所述类别成为对象,即功能电路块和其接口可被修改,且将被实现的链改变,而所述电路块自身的功能并不改变。
使用所述第五描述准则,可生成功能电路块与子电路块的描述,所述功能电路块与子电路块在各种语境内都可轻易接口,并能够允许轻易地外插将被执行的部分在软件或硬件上。
当然,上述的所有准则同样适用于以这样一种方式生成例如与磁盘子系统20相关的功能电路块的库(功能库)21,即在技术规范100下,如果可得到,则所述描述步骤210使用从所述功能电路块库提取的具有所述“中性”特征的电路块。
一旦完成所述描述210,即可在模拟步骤220中功能性模拟所述复合电路,以验证是否符合设计技术规范。
所述步骤220基本上与现有技术的模拟步骤120相同,并可借助市场上可得到的处理工具执行,其存在于WS 11内,借助键盘15与鼠标16控制和修改将被实现的复合电路的配置参数,直至得到符合所述技术规范100的结果。
当然,归因于上述“中性”特征,可在带有各种操作系统的工作站上执行所述模拟。
所述模拟220例如能够借助WS 11的显示器14上的显像,提供到电路块A的输入数据,并且例如以允许与所述输入数据相比较的方式提供来自电路块G的输出数据。
根据本发明的模拟步骤之后是本发明的另一特征要素测试步骤260。
所述步骤260由WS 11借助到测试设备30的连接29激活并控制,其包括以下基本步骤。
首先,系统设计者在将要得到的复合电路内,识别将以物理电路块(硬件电路块)或程序电路块(固件电路块)形式实施的单元,并根据这种最初选择,所述系统设计者使得每个电路块与对应和等效的硬件或固件模型相关。
例如以VHDL语言描述的硬件模型可以是硬件库IP 26a的一部分,所述硬件库IP 26a与功能电路块库21的对应电路块的等效已被验证。
硬件模型或电路块与功能模型或电路块之间的等效的所述验证例如需要使用功能与硬件(体系结构)描述的其它规则或准则,如下概括:
第一准则:必须以这样一种方式执行功能电路块的功能描述,即每一功能电路块可在对应体系结构描述步骤期间内,由对应和等效硬件(电路)电路块替代。
第二准则:功能模型的功能描述与对应体系结构描述必须是参数的,以便可随参数变化使其专用化,而无需编译各种功能或体系结构电路块。
第三准则:一旦单个功能电路块的描述完成,功能模型的功能描述使用与硬件描述的精密数据相同的精密数据。
总而言之,例如不仅通过确保所述子模电路块的可量测性(第一描述规则),并使用相同参数(第二描述规则),而且将允许对于精密度的严格控制的数据类型用于功能模型(第三描述规则),可实现功能电路块库21的功能模型与硬件库IP 26a的硬件模型之间的等同。
当然,除了上述三个准则之外,根据本发明特征准则的功能电路块的编码可以使得等同于所述功能电路块的硬件模型的编码更为便利并简单。
例如以C语言描述的固件模型可以是软件库IP 26b的一部分,所述软件库IP 26b与功能电路块库21的等效基本上直接基于本发明的特征准则。
所述固件模型对应于在所述描述步骤210内生成的编码,但特定于功能模拟的“包装”部分除外。
一旦所述电路块与对应硬件与固件模型相关,系统设计者即可借助于WS 11生成测试所述复合电路所需的事物。
尤其是基于所述硬件与固件模型,系统设计者能够通过合成生成硬件部分,并通过编译生成固件部分,并将所述硬件与固件部分转移到测试设备30上,分别在FPGA模电路块32与μp模电路块31上。
在完成所述步骤之后即可测试所述复合电路并验证其实际特性。
如果所述复合电路的特性无法满足期望,或系统设计者希望验证备选解决方案,则可借助WS 11在测试步骤260期间内,以固件模型26b替代库的硬件模型26a,和/或与之相反,而无需重复所述描述步骤210和功能模拟步骤220,或其它任何描述与模拟步骤,这归因于本发明的特征。
本领域技术人员应当理解的是,基于上述准则,所述硬件和固件模型本质上与所述功能电路块或模型等效。
此外,在所述测试步骤中,在μp模电路块31上以备选类型替代一种类型的微处理器,不必重复描述步骤210和模拟步骤220,因为所述固件的编译仅取决于所使用的编译程序而非写编码,这归因于所述步骤相对于微处理器改变的“中性”。
参考与编码并译码链接卷积码(特播码)的电路相关的链50,如下实施根据本发明的方法。
在所述描述步骤210中,基于技术规范100实现链50,例如从功能库21中提取电路块或模电路块A到G。在所述模电路块A到G中,仅模电路块D不代表电路块。
在完成描述步骤之后,在WS 11上激活功能模拟220,所述描述步骤向各个功能电路块指配对应于将被实现的复合电路的特定情况参数。
在功能模拟220期间内,借助WS 11模拟所述链50的特性是通过模拟以下特性,模电路块A从WS 11的磁盘单元提取借助电视摄像机捕获的图像,并将所述图像传送到编码器B内;编码后的图像通过调制器BPSK C,经历电路块D的信道加性高斯噪声的增加,由模电路块E解调直至到达译码器F,所述译码器F译码所述图像,重建所述图像,并将其传送到模电路块G,所述模电路块G例如以这样一种方式将所述图像存储在WS 11的磁盘驱动器内,即允许将结果图像与所传送的图像相比较,在显示器14上显示两个图像。
对于本领域技术人员显而易见的是,功能模拟220允许在存在高斯噪声的情况下显示特播译码器F的矫正效应,并根据所需性能或技术规范100计算所述特播译码器F的一些关键参数。
此外,所述功能模拟220允许在信道D的噪声或SNR(信噪比)改变时,特征化得到BER(误码率)曲线的特播译码器F。
在完成功能模拟220并定义与将要得到的特播编码与译码电路相关的参数情况之后,开始测试步骤260。
例如,在第一步骤中,所有电路块A到C和E到G都被根据上述程序设计准则实施在固件内,并存储在测试设备30的μP模电路块31内。
在这种情况下,所述测试260必须与在WS 11上执行的模拟等效,唯一的不同之处在于其使用特殊的微处理器,因而能够强调任何与所述微处理器自身的特征相联系的不同。
当然在所述测试步骤260中,同样可在WS 11的显示器14上显示并比较结果图像与所传送图像。
如果实际特性并不令人满意,则此时可重复所述测试步骤260,借助WS 11的键盘15或鼠标16(输入设备),以等效硬件模电路块替代对应于特播译码器F的固件模电路块,所述硬件模电路块即从所述硬件库IP26a提取的VHDL语言的等效版本。
在这种情况下,通过合成实现所述VHDL模电路块的编译,并生成全定制集成电路,或是在当前情况下,生成用于“配置”FPGA部分的编码,所述FPGA部分存在于板33的FPGA模电路块31上。
同样在这种情况下,归因于本发明,所述链50的操作与先前相同,但就性能而言,其可在速度方面得到并验证相当不同的结果。
基本上,如上所述以等效硬件模电路块替代固件(软件)模电路块的能力,可执行基本上与所述电路的分割类似的步骤,且可并入所述测试步骤260。
对于本领域技术人员而言显而易见的是,尽管如实例所述,以硬件电路块替代固件电路块需要引入μP模电路块32的微处理器与FPGA模电路块31的特播译码器之间的附加语言接口,但所述替代能力将会避免重复描述与验证所述链50或将要实现复合电路的单个电路块的步骤,所述重复在现有技术中普遍存在。
在并不背离所附权利要求书规定的发明范围的情况下,可对以上描述做出各种修改或改变,例如大小、形状、材料、部分、电路单元、连接与接点、以及所述电路和所示构造与操作方法的细节。

Claims (10)

1、一种用于实现复合电子电路的方法,所述复合电子电路包括多个代表电路单元的电路块(A-G),其中可借助物理电路单元(硬件电路块),或者借助程序电路单元(固件电路块),在所述复合电子电路上实施所述多个电路块中的至少一个,所述方法包括步骤:
描述(210)所述复合电子电路的模型,所述模型包括至少一个对应于至少一个所述电路块(A-G)的电路块模型;
根据预定义的技术规范来模拟(220)所述复合电子电路模型;以及
仿真(260)对应于所述复合电子电路模型的所述复合电子电路的特性,所述复合电子电路模型选择性地将对应的物理(26a)或程序电路单元(26b)指配给所述至少一个电路块模型。
2、根据权利要求1的方法,其中所述描述复合电子电路的模型(210)的步骤包括:
使对应的单个电路块功能模型与每个所述电路块相关。
3、根据权利要求1或2的方法,其中所述仿真(260)所述复合电子电路的特性的步骤包括:
以等效的物理或程序电路单元代替借助所确定描述语言(C)所描述的所述电路块模型。
4、根据权利要求3的方法,其中
所述等效的程序电路单元借助所确定的描述语言(C)来描述,其基本上等同于所述电路块模型。
5、根据权利要求3或4的方法,其中
所述电路块模型属于电路模型库;且其中
所述等效的物理电路单元属于物理电路单元库;以及
所述等效的程序电路单元属于以所确定的描述语言(C)描述的程序电路单元库。
6、一种可载入电子计算机的内存中的计算机产品,其用于实施根据权利要求1至5的方法。
7、一种用于实现复合电子电路的系统,所述复合电子电路包括多个代表电路单元的电路块(A-G),其中可借助物理电路单元(硬件电路块),或者借助程序电路单元(固件电路块),在所述复合电子电路上实施至少一个所述电路块(A-G),所述系统包括:
处理器子系统(12),其能够根据预定义的技术规范来处理和模拟所述复合电子电路的模型,所述复合电子电路包括至少一个对应于至少一个所述电路块中的电路块模型;以及
连接至所述处理器子系统(12)的仿真子系统(30),其能够仿真对应于所述复合电子电路模型的所述复合电子电路的特性,所述复合电子电路模型选择性地将在所述仿真子系统(30)上实施的对应物理(26a)或程序电路单元(26b)指配给所述至少一个电路块模型。
8、根据权利要求7的系统,其中所述处理器子系统(12)包括输入设备(15、16),所述输入设备能够控制所述仿真子系统(30)使用所述物理电路单元(26a)或是程序电路单元(26b),来仿真所述复合电子电路。
9、根据权利要求7或8的系统,其中所述处理器子系统(12)与电路单元的模型库(21)相关,且所述仿真子系统(30)与等同于所述电路单元模型的物理电路单元(26a)和程序电路单元(26b)的库相关。
10、根据权利要求9的系统,其中所述程序电路单元(26b)库的电路块基本上等同于所述电路模型库(21)的所述电路块模型。
CNB02817237XA 2001-07-10 2002-07-09 用于实现复合电子电路的系统与方法 Expired - Fee Related CN1278267C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IT2001TO000667A ITTO20010667A1 (it) 2001-07-10 2001-07-10 Metodo per generare circuiti elettronici.
ITTO01A000667 2001-07-10
IT2001TO000794A ITTO20010794A1 (it) 2001-08-07 2001-08-07 Sistema e metodo per realizzare circuiti elettronici complessi.
ITTO01A000794 2001-08-07

Publications (2)

Publication Number Publication Date
CN1552034A true CN1552034A (zh) 2004-12-01
CN1278267C CN1278267C (zh) 2006-10-04

Family

ID=26332883

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02817237XA Expired - Fee Related CN1278267C (zh) 2001-07-10 2002-07-09 用于实现复合电子电路的系统与方法

Country Status (5)

Country Link
US (1) US20040243383A1 (zh)
EP (1) EP1405230A2 (zh)
CN (1) CN1278267C (zh)
CA (1) CA2459809A1 (zh)
WO (1) WO2003007195A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901490A (zh) * 2010-07-15 2010-12-01 北京信息科技大学 生成信号调理电路图像的系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7301242B2 (en) 2004-11-04 2007-11-27 Tabula, Inc. Programmable system in package
US7530044B2 (en) * 2004-11-04 2009-05-05 Tabula, Inc. Method for manufacturing a programmable system in package
US8201124B1 (en) 2005-03-15 2012-06-12 Tabula, Inc. System in package and method of creating system in package
JP2008060653A (ja) * 2006-08-29 2008-03-13 Matsushita Electric Ind Co Ltd 制御装置
US9583072B2 (en) * 2014-03-26 2017-02-28 Ati Technologies Ulc Spatial dithering for a display panel

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870588A (en) * 1995-10-23 1999-02-09 Interuniversitair Micro-Elektronica Centrum(Imec Vzw) Design environment and a design method for hardware/software co-design

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901490A (zh) * 2010-07-15 2010-12-01 北京信息科技大学 生成信号调理电路图像的系统
CN101901490B (zh) * 2010-07-15 2011-12-07 北京信息科技大学 生成信号调理电路图像的系统

Also Published As

Publication number Publication date
CN1278267C (zh) 2006-10-04
CA2459809A1 (en) 2003-01-23
WO2003007195A3 (en) 2004-01-15
EP1405230A2 (en) 2004-04-07
US20040243383A1 (en) 2004-12-02
WO2003007195A2 (en) 2003-01-23

Similar Documents

Publication Publication Date Title
CN101055523A (zh) 将软件程序代码断言转换为硬件描述语言程序代码的方法
CN1440537A (zh) 混合信号仿真
CN1202972A (zh) 生产数字信号处理器的方法
CN1615480A (zh) 网络设备间配置文件的翻译
US20030023950A1 (en) Methods and apparatus for deep embedded software development
CN1577274A (zh) 自动化仿真方法及系统
Cai et al. Retargetable profiling for rapid, early system-level design space exploration
CN1725188A (zh) 逻辑验证系统及方法
CN1251326C (zh) 电路部件的验证方法及其集成电路装置的制造方法
CN101395609B (zh) 用于保护eda工具设计视图中的信息的方法和系统
Gerstlauer et al. Design of a GSM vocoder using SpecC methodology
CN1523660A (zh) 集成电路设计的双向技术系统
CN1543618A (zh) 使用综合用于有效数据加载和下载的基于分组的协议的逻辑的硬件辅助的设计验证系统
CN1278267C (zh) 用于实现复合电子电路的系统与方法
JP2010170180A (ja) 回路検証装置およびプログラム
CN1801155A (zh) 合并硬件设计语言的原始档案与查验资料档案的方法
CN1341249A (zh) 虚拟现实建模
CN1231838C (zh) 用于一种嵌入式系统的代码变换器的检验方法
CN1858717A (zh) 一种数据编解码方法及其编解码器
Vahid et al. The case for a configure-and-execute paradigm
CN101183400B (zh) 图形硬件设计中调试与验证的方法与系统
CN1734458A (zh) 电子设备建模的方法和系统
US8065128B1 (en) Methods and apparatus for automated testbench generation
US7086017B1 (en) Method of post-implementation simulation of a HDL design
CN100347683C (zh) 结构无关的微处理器验证及评测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee