CN1278267C - 用于实现复合电子电路的***与方法 - Google Patents
用于实现复合电子电路的***与方法 Download PDFInfo
- Publication number
- CN1278267C CN1278267C CNB02817237XA CN02817237A CN1278267C CN 1278267 C CN1278267 C CN 1278267C CN B02817237X A CNB02817237X A CN B02817237XA CN 02817237 A CN02817237 A CN 02817237A CN 1278267 C CN1278267 C CN 1278267C
- Authority
- CN
- China
- Prior art keywords
- circuit
- model
- composite electron
- circuit block
- cell
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design 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
本发明涉及一种用于实现复合电子电路的方法,所述复合电子电路包括多个代表电路单元的电路块(A-G),其中可借助物理电路单元,或者借助程序电路单元,在所述复合电子电路上实施所述多个电路块中的至少一个,所述方法包括步骤:借助于确定的描述语言,生成(210)所述复合电子电路的模型,所述模型包括对应于所述电路块(A-G)中的所述至少一个的至少一个电路块模型;根据预定义的技术规范,模拟(220)所述复合电子电路模型;以及测试(260)对应于所述复合电子电路模型的所述复合电子电路的特性,所述复合电子电路模型选择性地将对应的物理(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库,其仍然必须适合于设计技术规范,必须重复测试每一电路块,以验证其与其所替代的电路块的精确对应关系。
现有技术的第二个技术问题包括,在所述分割之后,***设计者放弃了对所述开发与实现步骤的控制,对于硬件电路块尤其如此,因此仅在所述测试步骤中***设计者能够验证其所得到的实际上是否准确符合于设计技术规范。
实际上,尤其是硬件电路块的开发与构造需要与生成和模拟所述硬件的体系结构模型相关的专有技术,众所周知***设计者并不拥有该技术,而是与写软件和功能电路块相关的技术。
发明内容
本发明的目的是描述一种用于实现复合电路的***与方法,其中所述电路自身的分割内的任何改变都不会引起开发与实现阶段的重复,所述重复在现有技术中普遍存在。
本发明的目的还包括一种***与方法,其中***设计者在开发和实现阶段期间内,始终基于他/她自己的专有技术保持对所述阶段的控制。
本发明的另一目的是一种***与方法,其以对于执行所述阶段的装置而言透明的方式来模拟并测试复合电路。
根据本发明的一个方面,提供了一种用于实现复合电子电路的方法,所述复合电子电路包括多个代表电路单元的电路块A-G,其中可借助物理电路单元,或者借助程序电路单元,在所述复合电子电路上实施所述多个电路块中的至少一个,所述方法包括步骤:
借助于确定的描述语言,生成210所述复合电子电路的模型,所述模型包括对应于所述电路块A-G中的所述至少一个的至少一个电路块模型;
根据预定义的技术规范,模拟220所述复合电子电路模型;以及
测试260对应于所述复合电子电路模型的所述复合电子电路的特性,所述复合电子电路模型选择性地将对应的物理26a或程序电路单元26b指配给所述至少一个电路块模型。
根据本发明的另一个方面,提供了一种用于实现复合电子电路的***,所述复合电子电路包括多个代表电路单元的电路块A-G,其中可借助物理电路单元,或者借助程序电路单元,在所述复合电子电路上实施所述多个电路块中的至少一个,所述***包括处理器子***以及与所述处理器子***相连的预仿真子***,其中
所述处理器子***12根据预定义的技术规范来处理和模拟所述复合电子电路的模型,所述模型包括对应于所述电路块A-G中的所述至少一个的至少一个电路块模型;以及
所述仿真子***30仿真对应于所述复合电子电路模型的所述复合电子电路的特性,所述复合电子电路模型选择性地将在所述仿真子***30上实施的对应物理26a或程序电路单元26b指配给所述至少一个电路块模型。
所述目的的实现尤其借助于根据本发明的***与方法,其中所述复合电路或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连接至WS 11,并能够存储用于执行根据本发明的方法而实施的软件模电路块以及参考库,以下将对其详细描述。
当然,如果所述软件模电路块与库的大小受限,则其同样可存储在WS 11的硬盘内,这并不会改变本发明的特征。
所述***10还包括仿真器子***或测试设备30,其借助自身内已知的并联(连接)29和JTAG(联合测试行动组)接口28连接至WS 11。如以下将详细描述,已知测试设备30能够仿真所述复合电子电路的特性,所述已知测试设备30能够仿真所述复合电子电路的特性,例如由ARM公司的ARM INTEGRATOR/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;
ByteIndex=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_VBYTEmem_out)
{
V_INT i;
V_BIT U,IU,C1,C2 rsc1_0,rsc2_0;
V_WORD termin[6];
//Turbo Encoder:frame
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 outword_mem_out=U|(C1<<3)|(C2<<6);word_write(mem_out+(i<<2),word_mem_out);}//Initialize terminationsfor(i=0;i<6;i++)termin[i]=0;//Turbo Encoder:terminationsfor(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_outtermin[i]=U|(C1<<3);termin[i+3]=IU|(C2<<6);}//Write terminations on mem_outfor(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 (9)
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、一种用于实现复合电子电路的***,所述复合电子电路包括多个代表电路单元的电路块(A-G),其中可借助物理电路单元,或者借助程序电路单元,在所述复合电子电路上实施所述多个电路块中的至少一个,所述***包括处理器子***以及与所述处理器子***相连的预仿真子***,其中
所述处理器子***(12)根据预定义的技术规范来处理和模拟所述复合电子电路的模型,所述模型包括对应于所述电路块(A-G)中的所述至少一个的至少一个电路块模型;以及
所述仿真子***(30)仿真对应于所述复合电子电路模型的所述复合电子电路的特性,所述复合电子电路模型选择性地将在所述仿真子***(30)上实施的对应物理(26a)或程序电路单元(26b)指配给所述至少一个电路块模型。
7、根据权利要求6的***,其中所述处理器子***(12)包括输入设备(15、16),所述输入设备能够控制所述仿真子***(30)使用所述物理电路单元(26a)或程序电路单元(26b),来仿真所述复合电子电路。
8、根据权利要求6或7的***,其中所述处理器子***(12)与电路单元的模型库(21)相关,所述仿真子***(30)与等同于所述电路单元模型的物理电路单元(26a)和程序电路单元(26b)的库相关。
9、根据权利要求8的***,其中所述程序电路单元(26b)库的电路块基本上等同于所述电路模型库(21)的电路块模型。
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 | ||
ITTO01A000794 | 2001-08-07 | ||
IT2001TO000794A ITTO20010794A1 (it) | 2001-08-07 | 2001-08-07 | Sistema e metodo per realizzare circuiti elettronici complessi. |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1552034A CN1552034A (zh) | 2004-12-01 |
CN1278267C true 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) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7530044B2 (en) * | 2004-11-04 | 2009-05-05 | Tabula, Inc. | Method for manufacturing a programmable system in package |
US7301242B2 (en) | 2004-11-04 | 2007-11-27 | Tabula, Inc. | 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 | 制御装置 |
CN101901490B (zh) * | 2010-07-15 | 2011-12-07 | 北京信息科技大学 | 生成信号调理电路图像的*** |
US9583072B2 (en) * | 2014-03-26 | 2017-02-28 | Ati Technologies Ulc | Spatial dithering for a display panel |
Family Cites Families (1)
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 |
-
2002
- 2002-07-09 EP EP02751615A patent/EP1405230A2/en not_active Withdrawn
- 2002-07-09 CN CNB02817237XA patent/CN1278267C/zh not_active Expired - Fee Related
- 2002-07-09 WO PCT/IT2002/000450 patent/WO2003007195A2/en not_active Application Discontinuation
- 2002-07-09 US US10/485,998 patent/US20040243383A1/en not_active Abandoned
- 2002-07-09 CA CA002459809A patent/CA2459809A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20040243383A1 (en) | 2004-12-02 |
WO2003007195A3 (en) | 2004-01-15 |
EP1405230A2 (en) | 2004-04-07 |
CA2459809A1 (en) | 2003-01-23 |
WO2003007195A2 (en) | 2003-01-23 |
CN1552034A (zh) | 2004-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Martinez et al. | Astor: A program repair library for java | |
CN100337407C (zh) | 对结构化文档进行编码和解码的方法和*** | |
CN1174332C (zh) | 转换表达方式的方法和装置 | |
CN101055523A (zh) | 将软件程序代码断言转换为硬件描述语言程序代码的方法 | |
CN1809818A (zh) | 在产生差别文件中使用的处理软件 | |
CN1251119C (zh) | 基于网络的光掩模数据输入接口和用于制造光掩模的指令生成器 | |
CN1147813C (zh) | 生产数字信号处理器的方法 | |
CN1542649A (zh) | 自然语言生成***中用于句子实现中排序的成分结构的语言信息统计模型 | |
CN1773508A (zh) | 把源文档转换成目标网页文件的方法 | |
CN1609796A (zh) | 应用编程接口(api)的设计 | |
CN100347682C (zh) | 自动化测试构建方法 | |
CN1172238C (zh) | 利用符号语言翻译器产生软件代码的方法和*** | |
CN1680959A (zh) | 进程编辑设备和方法以及进程管理设备和方法 | |
CN1200517A (zh) | 不合格率推定方法、不合格率推定***和记录媒体 | |
CN1725177A (zh) | 嵌入式设备集成开发***及其使用方法 | |
CN1573739A (zh) | 用于改良机器翻译之翻译知识的方法和装置 | |
CN1679275A (zh) | 用于在电信网络中配置控制的方法和*** | |
CN101075203A (zh) | 存储装置以及其恢复卷生成方法 | |
CN1439137A (zh) | 优化成果驱动作业流程合成及简化的方法、处理和*** | |
CN1357822A (zh) | 应用软件开发***及其方法、应用软件开发程序、以及应用软件生成方法 | |
CN1949187A (zh) | 一种程序调测***及方法 | |
CN1744054A (zh) | 一种自动化测试辅助***及相应的软件自动测试方法 | |
CN1933535A (zh) | 打印装置、打印处理方法 | |
CN1278267C (zh) | 用于实现复合电子电路的***与方法 | |
CN101065725A (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 |