CN1881223A - 具有可重定位处理器硬核的集成电路 - Google Patents

具有可重定位处理器硬核的集成电路 Download PDF

Info

Publication number
CN1881223A
CN1881223A CNA2006100841680A CN200610084168A CN1881223A CN 1881223 A CN1881223 A CN 1881223A CN A2006100841680 A CNA2006100841680 A CN A2006100841680A CN 200610084168 A CN200610084168 A CN 200610084168A CN 1881223 A CN1881223 A CN 1881223A
Authority
CN
China
Prior art keywords
stone
processor
edge
storer
matrix
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
CNA2006100841680A
Other languages
English (en)
Other versions
CN1881223B (zh
Inventor
M·凯西
T·麦科尔南
D·弗基尔
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.)
Avago Technologies International Sales Pte Ltd
LSI Corp
Original Assignee
LSI Logic Corp
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
Application filed by LSI Logic Corp filed Critical LSI Logic Corp
Publication of CN1881223A publication Critical patent/CN1881223A/zh
Application granted granted Critical
Publication of CN1881223B publication Critical patent/CN1881223B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

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

Abstract

本发明提供一种集成电路布局设计,包括一集成电路的基础平台、一处理器硬核以及一支持存储器。基础平台包括横行和纵列都置有页元的存储矩阵。页元的每一列都具有按一定路线排列成共用矩阵边缘的连接引脚,并且沿矩阵边缘具有公共的引脚顺序。处理器硬核沿存储矩阵放置,并具有与存储矩阵边缘相邻的硬核边缘,以及一些与存储矩阵的相应连接引脚连接的连接引脚。处理器硬核的连接引脚沿着硬核边缘的排列顺序与沿矩阵边缘的连接引脚排列顺序完全相同。处理器硬核的支持存储器沿着硬核边缘映射入存储矩阵的一部分。

Description

具有可重定位处理器硬核的集成电路
相关申请的参照
本发明与以下美国申请有关,其全部内容将作为本发明的参考背景,具体是:申请号为10/713,492,申请日为2003年11月14日,发明名称为“集成电路存储器的灵活设计”的未审结的美国申请;以及申请号为10/875,128,申请日为2004年6月23日,发明名称为“制造驱动存储器布局系统”的未审结的美国申请。
技术领域
本发明关于一种半导体集成电路,如专用集成电路(ASICs)和现场可编程门阵列(FPGAs),尤其是一种具有可重定位处理器硬核的集成电路设计。
背景技术
集成电路一般构成于薄的硅晶片或衬底上。构成集成电路的半导体器件和电互联器件一般由在彼此衬底顶端上建立的一些掩模层形成。每个连续掩模层可具有一使用掩码定义的图案。掩码具有一个图案以使其在制造过程的特殊工艺步骤中形成特定形状。掩模层通过一系列使用掩码的图案定义步骤形成,在这些步骤中也交替进行了其他的工艺步骤,如氧化、蚀刻、喷漆以及材料沉积。当一个掩模层通过使用用户选择或提供的掩码定义时,则该掩模层是可编程的或称之为定制的。
最底层,基底层包括半导体器件的活跃区域,例如扩散区域和门极氧化物区域,以及聚硅酸盐门电极所需的图案。一层或多层金属层和绝缘层沉积在基底层的顶端并构图,以形成传导段,该传导段与形成于基底层内的各种半导体器件互相连接。电接触或通道的形成使其中一个金属层的传导段与晶片上其他层上的传导段或半导体器件电连接。
现在已经开发出多种类型的集成电路,这种集成电路的晶体管模块或程序块是部分固定或部分可编程和/或可定制的。这些模块芯片的实用性由多种因素决定,如复杂度、成本、时间,以及从这些通用晶体管模块中制造功能电子元件的设计约束。现场可编程门阵列(FPGA)是指一种逻辑芯片,其中所有的掩模层由专用集成电路(ASIC)的供货商在事先制造,并且还具有一种功能,即可以在现场通过简单的修改进行轻松的重新编程。但是,FPGAs,一般体积很大,每项功能具有相对高的成本,速度相对较慢,并且具有较大功耗。专用集成电路(ASIC)是一种专为特殊应用或用途设计的集成电路。在一个可完全编程的专用集成电路(ASIC)中,所有的掩模层均由逻辑设计者设计或制定。可完全编程的专用集成电路(ASIC)的一个典型的例子就是基于单元的专用集成电路(CBIC)。虽然相对于FPGAs,可完全编程的ASIC更有效地利用能量和区域,但是,它的设计和模式化更加复杂。在半可编程的ASIC中,其中一些,但不是全部的掩模层可实现编程。例如,一些或所有的基底层可由ASIC供货商在事先制造,而其它层,如金属层,由逻辑设计者设计,使半导体元件相互连接,以执行所需要的功能。半可编程ASIC的一个典型例子是基于门阵列的ASIC。半可编程ASIC可将标准元件ASIC高密度、高性能的优点和FPGAs可快速上市及可专用化的优点结合起来。
因此,近来,半可编程ASICs已经变得更受欢迎。集成电路生产厂家已经开始开发标准或基础平台,正如我们所知的包括集成电路基底层但是不含有金属互连层的程序片。通过生产商提供的工具,对基底层进行构图以形成可构成单元的门电路。芯片设计者为基础平台设计另外的金属层,进而使该集成电路成为使用用户知识产权的用户ASIC。这种可配置基础平台的一个实例为加利福尼亚州米尔皮塔斯市LSI逻辑公司的RapidChip基础平台。RapidChip基础平台以显著降低的设计制造风险和成本,在极短的时间内完成了复杂的、高密度ASICs的开发。
对半可编程ASIC的设计工作包括几个阶段。当芯片尺寸已选定,并且输入/输出(I/O)单元被放置在基础平台的布局模式中之后,包括存储器和其他大的硬核的巨型单元得到布置。然后,置入标准单元以完成芯片设计。
本发明的一个实施方式涉及处理器核心或设计布局中硬核的布局(对于ASIC或FPGA的布局),该布局与基础平台以及从设计到标准的存储器映象或并入基础平台的基本存储器有关。考虑这样一种基础平台,该基础平台包括既定类型的存储器基本组,例如伪随机存取存储器(PRAMs)。PRAMs是具有相同类型存储器的系列组,它们间隔紧凑,并且具有内置的测试和自我修复功能。通常,集成电路(IC)设计者不愿意使用所有的既得PRAM存储器组,因而未被使用的存储器组可应用在自我修复程序中。基础平台还可能包括诸如单一扩散存储器的单一存储器。IC设计者的设计中可能包括用户自定义的存储器,这里,有时被称作用户存储器,它们映射入基础平台的一个或多个在先定义的存储器位置。
典型的,用户设计包括一个或多个处理器。一个处理器执行一系列存储指令以完成用户程序定义的任务。不同类型的处理器使用不同的指令组以完成程序定义的任务。举例来说,一般的目的指令组属于典型的微处理器。当需要提高某一计算任务的速度时,使用专用指令组。例如,数字信号处理器(DSP)配有可提高特定数学算法计算能力的指令组。
并且,由于不同的性能和资源权衡折中,相同指令组得到不同的执行在硬件上也是可能的。这种不同出现的比较普遍的方式之一,由可获得多少支持存储器以及这些存储器是如何安排决定的。例如,一个处理器可能利用高速缓冲存储器,通过再用地址,使一个大的地址空间映射入一个相对小的地址空间内。另外一种处理器可能利用一个具有固定地址空间的紧耦合存储器(TCM),该地址空间对大多数程序的关键指令都有效。
设计过程中,支持处理器所需要的支持存储器一般映射入可获得的存储器位置中,该位置在基础平台上预先定义,并且,存储器核心对应于存储器的位置设置。
发明简介
本发明的一个实施方式是关于集成电路布置,包括一集成电路的基础平台,一处理器硬核,以及一支持处理器。基础平台包括横行和纵列都置有页元的存储矩阵。页元的每一列都具有按一定路线排列成共用矩阵边缘的连接引脚,并且沿矩阵边缘具有公共的引脚顺序。处理器硬核沿存储矩阵放置,并具有与存储矩阵边缘相邻的硬核边缘,以及一些与存储矩阵的相应连接引脚连接的连接引脚。处理器硬核的连接引脚沿着硬核边缘的排列顺序实质上与沿矩阵边缘的连接引脚排列顺序相同。处理器硬核的支持存储器沿着硬核边缘映射入存储矩阵的一部分。
本发明的另一实施方式是关于计算机可读介质,包括对集成电路和处理器硬核的基础平台的表述。基础平台包括横行和纵列都置有页元的存储矩阵。页元的每一列都具有按一定路线排列成共用矩阵边缘的连接引脚,并且沿矩阵边缘具有公共的引脚顺序。处理器硬核具有硬核边缘,并具有一些与存储矩阵相应的连接引脚连接的连接引脚。处理器硬核的连接引脚沿着硬核边缘的排列顺序与沿矩阵边缘的连接引脚排列顺序完全相同。处理器硬核沿着矩阵边缘具有一些不同的有效配置位置。
本发明的另一实施方式是关于集成电路基础平台布局模式中所述的硬核的方法。该方法包括:接收基础平台的布局模式,该模式包括横行和纵列都置有页元的存储矩阵,其中页元的每一列都具有按一定路线排列成共用矩阵边缘的连接引脚,并且沿矩阵边缘具有公共的引脚顺序;沿存储器矩阵放置存储器硬核,其中处理器硬核有与存储矩阵边缘相邻的硬核边缘,以及一些与存储矩阵的相应连接引脚连接的连接引脚。处理器硬核的连接引脚沿着硬核边缘的排列顺序实质上与沿矩阵边缘的连接引脚排列顺序相同;将处理器硬核的支持存储器沿着硬核边缘映射入存储矩阵的一部分。
附图说明
附图1是应用本发明所述方法和装置的计算机网络系统的简化模块图。
附图2是计算机工作站中功能元件的简化模块图,利用该工作站,集成电路的开发者可以按照本发明的一个实施方式使用设计程序。
附图3是半导体程序片的简化模块图,设计程序可以在这个程序片上按照本发明的一个实施方式分配集成电路的存储器。
附图4描述了背景技术中的基础平台程序片400。
附图5描述了本发明一个实施方式中的程序片,该程序片具有一些存储矩阵以及一可编程的晶体管构造。
附图6是更详细的一个存储矩阵的示意图。
附图7描述了图5所示的本发明一个实施方式中的程序片基础平台晶体管构造的示例处理器硬核。
附图8是本发明一个实施方式中处理器硬核和存储器矩阵接口的放大图。
附图9-11描述了程序片,该程序片与分配于本发明另一可选择实施方式所述之处理器硬核的支持存储器具有不同的尺寸。
附图12-14按照本发明另一可选择实施方式,描述具有不同处理器硬核的程序片,该硬核沿存储矩阵放置在不同区域内。
附图15-16按照本发明另一可选择实施方式,描述了具有处理器硬核的程序片,该硬核执行不同的指令组,被沿存储矩阵放置,并具有不同的支持存储需求。
附图17-18按照本发明另一可选择实施方式,描述了具有不同数量和型号的处理器硬核的程序片。
具体实施方式
附图1描述了一个示例计算机系统10,在这个系统中,能够安装或应用实现本发明某一具体实施方式的一个或多个设计程序。
计算机系统10被描述为一个网络计算机系统,该系统包括一个或多个客户端计算机12、14和20作为工作站,通过网络18与服务器16相连。服务器16可以是个人计算机,工作站,中型计算机或是大型计算机。网络18代表任何类型的互连网络,包括但不局限于局域网,广域网,无线网,以及诸如国际互联网和内部局域网之类的公众网络。
计算机20实际上可以代表任何类型的计算机、计算机系统或者其他可编程的电子设备,包括与图1所示计算机12、14和20类似的客户端计算机;与图1所示服务器16类似的服务器计算机;便携式计算机、嵌入式控制器,手持式装置等等。计算机20可以是如图1所示的与网络相连,也可以是独立的装置。
典型地,计算机20通过接收一系列输入和输出信号与外界交换信息。为了与使用者或操作者相连,计算机20一般包括一个或多个用户输入装置26、27,如键盘、鼠标、跟踪球、操纵杆、触摸屏,和/或麦克风,其他的,还有显示器22,如阴极射线(CRT)监控器,液晶(LCD)显示屏和/或喇叭。为了附加存储,计算机20还可以包括一个或多个存储装置36,如软盘或其它可移动的磁盘驱动,硬盘驱动、直接存取存储装置、光盘驱动如CD驱动、DVD驱动等和/或磁带驱动。在其他计算机可读取介质中,可直接或通过存储区域网络(SAN)或其它网络相连。而且,计算机20还可包括一接口与一个或多个网络18相连,如局域网,广域网,无线网,和/或国际互联网,以完成与连接于网络中其它计算机的信息交换。
附图2是计算机20的简化模块图,本发明多个具体实施方式所述的方法或设备都可安装在计算机上,实现一个或多个应用。
计算机20一般包括至少一个与存储器32相连的处理器30。处理器30可以表示一个或多个处理器或微处理器,存储器32也可以表示由计算机主存储器30构成的随即存取存储器(RAM),以及存储器的任何追加层,如高速缓冲存储器、永久或备份存储器,可编程或快速存储器,只读存储器等等。另外,存储器32还被认为包括实际定位于计算机30其它位置的记忆体存储器,如被用作虚拟内存的存储容量,比如存储于通过SAN与计算机20相连的大容量存储装置36,或存储于通过网络1 8与计算机20相连的另一计算机上。
计算机20可在任何合适的操作系统40的控制下操作。一般操作系统40要操控各种计算机软件应用、元件、程序、对象、模块等等。比如可执行程序42和/或其它元件44。虽然为了开发集成电路,用来实现本发明的一个或多个具体实施方式的设计程序50可能放置在存储器32中,但是其实这些设计程序不需要放置在存储器中。处理器30可以读取程序、所需要的数据、其它各种应用元件、程序、对象、模块等等,这些内容驻留在通过网络18与计算机20相连的其它计算机的一个或多个处理器中,比如,在分布式或客户服务器计算环境下,借助存储器分配程序的功能,这些处理可以通过网络分配于多个计算机中。
一般的,被用作实现本发明一个或多个具体实施方式的各种程序50是指设计程序,或是作为操作系统的一部分得以执行,或是指具体应用、数据库、元件、程序、对象、模块以及一系列指令。设计程序一般包括驻留于计算机的各个存储器和存储装置中的各个时间,一个或多个指令或数据库,因此,当在计算机网络中被一个或多个处理器读取或执行时,该计算机完成指令和/或处理数据库,这些指令和数据库是本发明的各个方面所体现的。这些指令可存储于计算机可读介质中,这些介质包括但不局限于可记录型的介质,如易失性以及非易失性记忆装置、软盘以及其它可移动磁盘,硬盘驱动装置、光盘如CD-ROM、DVD等,其他的,还有传输型介质,如数字和模拟通信连接。附图1和2所示的示例性的环境不是对于本发明的限制。
附图3示例性地描述了已部分完成的半导体装置的基础平台或程序片310,其中已形成与连接层相接的基础晶片层。程序片310包括一基础半导体晶片,其内部,硬核和其它半导体器件扩散入半导体层。扩散半导体晶片形成硬核只是意味着在晶片层的形成过程中,晶体管或其它电子元件被特别及永久地嵌入或置入晶片层以获得具体的功能,如扩散存储器320-338及380-390,数据收发器硬核件I/O PHYs 340-346,时钟工厂包括锁相环路(PLLs)或延迟锁定环路(DLLs)350,控制I/Os352,以及可配置输入输出(I/O)硬核354和356。每个硬核都具有最适宜的密度、布局,以及为特殊功能而排列的晶体管路线。
为了进一步开发,程序片还包括晶体管门阵列,称为晶体管结构360。晶体管结360是常规模式中预扩散晶体管的阵列,通过一系列发生程序使金属层与晶体管互相合理连接,从而形成该常规模式。举例来说,程序可能会被用作将一个或多个,一般是上千个单元从单元库中放置到晶体管结构上。单元是连接层的具体体现,该连接层示例出晶体管结构的门电路。典型的程序片310一般包括嵌入处理器370,该处理器与总线网375上的程序片的其它元件相连。嵌入处理器370与一系列嵌入到程序片基础平台的支持存储器相连。
程序片这样定义——将程序片上所有可用的功能特征作详细说明,比如,晶体管结构、处理器或处理元件或处理电路的详细说明,结构和/或可用的硬核I/O和存储器、结构和硬核I/O的需求、内部总线详细说明、程序片的成本、程序片预期的理想功能、预期的能量消耗以及其它的功能性需求。
附图3所示的程序片310只是程序片及其元件的一个示例。不同的程序片根据最终集成芯片的目的不同,具有不同数量的晶体管结构,不同数量和类型的扩散和/或经过编译的存储器,不同类型的固定或结构化I/O硬核,处理器,时钟等等。举例来说,如果芯片最终要做成一个通信或网络集成电路,程序片外围可能包括许多被固定作PHYs和/或彼此结构不同的I/O模块。而且,程序片310的基础平台也可选择地包含接触掩模和一些固定的较高层连接,这些固定的较高层连接用以分布能量、接地以及外部信号I/O。
举例来说,程序片本身可被定义为寄存器晶体逻辑(RTL)或连线表。RTL逻辑的集合被分类成“命令解释程序”,并可以包括文件命令解释程序,验证命令解释程序,综合命令解释程序,静态定时分析命令解释程序,制造测试命令解释程序,所有这些提供设计程序的一个或多个输入或输出。RTL命令解释程序提供程序片或完成、使用资源的某一方面的逻辑说明。验证命令解释程序是一种功能性的验证说明,而综合命令解释程序则可以被认为是一种完成说明。静态定时分析命令解释程序是一种定时说明,制造测试命令解释程序是一种测试说明,平面布置命令解释程序是对程序片资源布局的说明。其它的命令解释程序可能包括平面布置命令解释程序以及RTL质量命令解释程序。
附图4描述了背景技术中的基础平台程序片400。现在程序片构造的核心区域一般由成列的固定随机存取存储器(RAM)组成,如示例410,412,414,416以及418。每个所例之RAM都是独立的并且具有内部自测(BIST)电路,退耦电容以及与平面布局位置对齐的硬核。但是,由于每个所示RAM都是独立的,导致平面布局中的区域没有充分利用。所述独立的RAM没有共用上层电路导致每个示例相对低效的位密度。并且,使用独立的RAM也会导致钮扣状器件平面布局,这种布局中所述示例分布在整个平面布局中。这样就使与RAM连接的其它器件的布线和布局更加复杂。而且,这样会在每个示例位数和特定程序片布局中示例的数量之间造成顾此失彼的结果。
因此提出将所有RAM资源合并在一些称之为矩阵的小区域内,以共用上层电路并降低区域损失。申请于2004年6月23日,申请号为10/875,128,发明名称为“制造驱动存储器布局系统”的美国申请以及专利号为6,084,811,发明名称为“集成电路存储矩阵布局方法”的美国专利描述了存储矩阵的例子,这里将一并引用作为参考。
附图5描述了一具有许多存储矩阵510、512、514以及可编程晶体管构造516的程序片500。每个存储矩阵将相同的用户RAMs(举例说明)压缩到一起以获得最大可能的密度。程序片500具有将逻辑电路和存储器分开的平面布局,以获得尺寸较小的电路片以及更快地将ASIC设计移动到程序片资源中。
附图6比较详细地、示例性地描述了其中一个矩阵510。在这个示例中,存储矩阵510包括放置在横行和纵列上的许多RAM页元520。在一个具体实施方式中,所给出矩阵的每个页元520与矩阵中的其它页元相同。页元定义为单个存储单元的一个阵列或其它规则模式,包括一个或多个行位和列位。例如,每个页元可被程序片设计者定义为任何配置(字数×位数)。例如,每个页元都可配置为具有2K×20,512×20或256×40的存储器。在一个具体实施方式中,每个页元与矩阵中的其它页元相同。
每个存储矩阵510可进一步包括在页元520的行之间的退耦电容522,还可包括公用内部自测(BIST)电路和/或内部自我修复(BISR)电路524。包括BIST,BISR或类似检测、修复电路的存储矩阵可被称为是PRAM存储矩阵。
在一个具体实施方式中,存储矩阵510的所有信号连接引脚(比如地址、数据以及控制)都沿矩阵共用边缘指定和布置,该边缘可被称为是一个连接信道526。如图5所示,信道526优选沿相邻于可编程晶体管构造516的矩阵边缘放置。程序片500的设计过程中,信道控制器将RRAM信号引脚的布局路线设制在边缘以形成一些虚拟RAM列。逻辑电路设计可在存储矩阵中使用虚拟RAM,该虚拟RAM的数量可与矩阵中希望达到的页元520的总数相同。逻辑电路设计者可指定每个虚拟RAM的宽度和深度。
基于RRAM存储矩阵的程序片平面布局为与现存固定情形的程序片布局相关的许多问题编址。存储矩阵共同使用诸如退耦电容以及内部自测电路等上层电路。并且,由于每个存储矩阵由紧密组合的页元构成,因而不存在“对齐网络”区域遗失在存储矩阵内部的情况。这使得存储器中的存储密度达到最大。存储矩阵还实现了对相对于现有资源来说特殊电路设计的存储器需求的较好匹配。
重新回到附图5,晶体管构造516的配置可执行所需的逻辑功能。如上所述,典型的集成电路设计包括一个或多个与半导体程序片上一个或多个存储器示例相连的处理器。本发明的一个具体实施方式提供一种可重定位处理器硬核,其可置于与基础平台程序片上的存储矩阵相关的晶体管构造516内,如矩阵510,依靠最低程度的预处理或不需预处理,根据处理器指令组,处理器的支持存储需求,程序片示例出的处理器数量或者平面布局中处理器的绝对位置,即可构成一个或多个不同类型的处理程序。
在ASIC的环境中,硬核将集成电路芯片中的金属层限定在一个特定区域内(例如晶体管结构),以在已知的时间特征情况下完成特殊的逻辑功能。放置过程中,硬核插入与硬核预定起点相对的程序片平面布局的特定区域中。
处理器执行一系列存储指令以完成用户程序定义的任务。不同类型的处理器使用不同的指令组以完成程序定义的任务。例如,一般的目的指令组属于典型的微处理器。当需要提高某一计算任务的速度时,使用专用指令组。例如,数字信号处理器(DSP)配有可提高特定数学算法计算能力的指令组。
相同指令组得到不同的执行在硬件上也是可能的。每种结果都是不同的性能和资源的权衡折中。比如,处理器的硬件执行情况很大成都上依赖于可获得多少程序片上的支持存储器以及这些存储器是如何安排的。有许多不同类型的支持存储器和应用。例如,高速缓冲存储器使一个大的地址空间映射入一个较小的地址空间内,成为再用地址。紧耦合存储器(TCM)使用一个固定的地址空间,该地址空间对大多数程序的关键指令都是足够的。另外,TCM存储器与处理器有更直接的联系,以使存储器存取在很短的时钟周期内完成。
有很多方法能够实现高速缓冲存储,这通常取决于处理器设计。在一个典型的执行过程中,高速缓冲存储器可能包括三个子阵列,在某些执行过程中指数据阵列、标志阵列、路径选择阵列。数据阵列的目的是在一个给定地址或较大存储空间的一组地址中存储当时本地(隐藏的)的数据备份。数据阵列中地址可重复使用的程度有时候取决于它的“置位结合性”(set associativity),例如“2道置位结合”或“4道置位结合”。
4道构造中,入口可选择存储在四个位置。数据阵列的入口索引通常由它的一个低位地址位数构成。剩余的高位地址位通常被用作形成“标记”的部分。标记还可以包括描述数据阵列入口其它属性的其它信息位。例如,无论入口是否有效,或是否被锁定。标记阵列存储与数据阵列包含的入口相关的标记。标记中这种属性位的含义和解释是高速缓冲存储控制器的一个功能。
高速缓冲控制器通常用通道选择阵列来存储内务处理信息,以按需存储和恢复数据阵列的入口。例如,在4道单元相联的高速缓冲,通道选择阵列一般包含与需要参考的通道阵列中四个可选择位置之一有关的信息。根据高速缓冲处理器执行的算法和策略,其它信息位也可能出现在通道选择阵列中。比如,“页面重写”标志位(或标记位)表示高度缓存入口内容已被修改,因此当高速缓冲的该入口需要被置换时,入口内容应当被备份回较大地址空间的原始位置上。
高速缓冲控制器负责管理通向高速缓冲存储器的内容和访问。它执行用来存储和查找高速缓冲存储器中有效入口的算法,也执行当入口需被重置时完成策略的算法。大量可能存在的变化意味着为了执行高速缓冲存储器的子阵列,存储器使用的每个字中字和位的数量会出现很大差异。
如上所述,适于许多不同应用的基础平台程序片,我们希望它具有灵活以使其利用指令组上最小的预设条件,在平台ASIC设计中包含处理器核心。支持存储器需要处理器、处理器的数量或平面布局中处理器的绝对位置。并且,也希望这些处理器能够具有已知的预设性能特征。
附图7描述了与存储矩阵510相关的基础平台程序片500(如图5所示)的布局模式中晶体管结构516内部示例的处理器硬核700。处理器硬核700与存储矩阵510的连接信道526相邻放置,以便利于存储元件连接引脚和处理器硬核700的相应引脚之间的连接。在一个具体实施方式中,处理器硬核700中相应的连接引脚以与沿信道526出现的连接引脚相同的顺序沿边缘702排列。
当处理器硬核的支持存储器沿着硬核边缘702映射入部分存储器矩阵510时,一个或多个瓦管(页元)自存储矩阵510分配到处理器硬核700中。这些瓦管共同形成具有特定宽度和深度的单元。附图7中,处理器硬核700被分入一些单元中(1……n)。每个单元可以具有有任何行数和列数的页元。高速缓存或TCM存储器的执行情况所需的单元的数量(1……n)形成了处理器硬核700的支持存储器。因此,处理器支持存储器是处理器分层的逻辑部分,但是在实体上是在存储矩阵510中执行。单元的数量以及这些单元的宽度和深度可以依据给定存储器的执行情况有所变化。页元单元的分布的执行可如申请号为10/875,128,申请日为2004年6月23日,发明名称为“制造驱动存储器布局系统”的美国专利申请中所描述,其引用在此,作为示例供参考。
支持存储器可以根据处理器硬核700的需要形成各种类型的存储器,诸如计数器寄存器、高速缓冲存储器、TCM和/或如申请号为10/713,492的美国专利申请记载的存储器。高速缓冲存储器或TCM的功能一般包括一组存储器,逻辑互连关系一般由RTL描述。支持存储器单元(1,2,……n)根据高速缓冲存储器设计、高速缓冲存储器的关联性以及高速缓冲存储器的大小和/或TCM的大小分配数据、标记、有效位等等。
通过上述具体实施方式的描述,对支持存储器(例如,高速缓冲存储器TCM)尺寸大小的灵活选择不局限于程序片设计时决定的特定构造。与以前的存储器布局程序相比,支持存储器的灵活性和尺寸大小的选择不受处理器预定单元的超集(或最大共用存储器)限制。
存储单元(RAM引脚位置和引脚顺序)的排序具体沿着存储矩阵的连接信道。在本发明的一个具体实施方式中,相关的引脚位置和引脚排序沿着硬核700的边缘702布置和安排,以与沿存储矩阵510的信道526的排序完全匹配。因此,每个存储单元以及自一个单元到下一单元的一个或多个数据、地址和/或控制引脚的排序与沿着处理器硬核700边缘702的相关引脚排序完全相匹配。因而,处理器硬核700和其支持存储器之间的布线不再重要,并且不具有用来执行存储的瓦管数量和类型的强大功能。
附图8是本发明一个具体实施方式中处理器硬核700和存储矩阵510之间连接的放大的局部分解图。存储矩阵510具有一些页元列800(图8所示的800-0和800-1)。每个页元列800具有一些信号连接引脚804,这些引脚按照沿着矩阵510的共用边802布线到信道连接526。这些连接引脚可包括,举例来说,数据、地址或控制引脚。在图8所示的例子中,列800-0包括数据引脚DATA0[n:0],地址引脚ADR0[m:0],以及控制引脚CNTL0[p:0],列800-1包括数据引脚DATA1[n:0],地址引脚ADR1[m:0],以及控制引脚CNTL1[p:0]。
矩阵510每列800中的信号连接引脚804具有一沿矩阵边缘802的预定顺序,该顺序与矩阵中页元的每列800顺序相同。可以使用任何顺序,并且一种类型的引脚可以被其它类型的引脚交叉存取或混合。而且,连接引脚802可以定位在集成电路的任何层,独立引脚可与其它引脚在相同层或不同层。
在一个具体实施方式中,处理器硬核700具有一些连接引脚704,以连接存储矩阵510的相应连接引脚804。连接引脚704布线入硬核700的边缘702,并且与引脚804具有相同的排序。这样使互相连接的布线任务(如虚线806所示)变得简单,并且不依赖于硬核700执行的支持存储器的尺寸大小和处理器的类型。硬核引脚704的引脚间距不必与存储矩阵引脚804的引脚间距相同。但是,优选保持相同的引脚排序,这样,当仍旧使用相同的程序片设计时,支持存储器的尺寸、布局和类型以及处理器的尺寸、指令组和类型可以容易的从一个具体实施方式改变成另一个。
附图9-11描述了程序片500是可改编的,从而为分配给特殊处理器硬核700(或处理器硬核700的不同类型)的支持存储器提供不同的尺寸变化。图9描述了程序片500的一个具体实施方式,其中存储矩阵510的一段902被指定为硬核700的支持存储器。支持存储器可被分作任何类型的存储器,比如高速缓冲存储器、TCM或两者均可。如图7所示,段902可包含页元的一个或多个单元,或者页元的一个或多个瓦管。图9描述了具有4列页元的存储器段902。
附图10描述了程序片500的一个具体实施方式,其中,存储矩阵510的一段904被指定为硬核700的支持存储器,该段904大于段902。同样的,支持存储器可被分作任何类型的存储器,比如高速缓冲存储器、TCM或两者均可,但是高速缓冲存储器的尺寸(或TCM的尺寸)与图9所示的不同。在这个例子中,存储段904具有五列页元。
附图11描述了程序片500的一个具体实施方式,其中,存储矩阵510的一段906被指定为硬核700的支持存储器,该段906大于段904和902。同样的,支持存储器可被分作任何类型的存储器,比如高速缓冲存储器、TCM或两者均可,但是高速缓冲存储器的尺寸(或TCM的尺寸)与图9和10所示的不同。分配给处理器硬核700的支持存储器的大小可以根据需要增加到存储矩阵中页元的全部列数。支持存储器的大小不局限于设计程序片时的特定结构。
附图12-14描述了沿存储矩阵510的平面布局内的处理器硬核700的定位不局限于设计程序片500时给出的特定位置。这样就可以选择位置以更适合特殊芯片平面布局中的数据流。图12中处理器硬核700具有一第一位置并且自存储矩阵510中分配支持存储器1200。支持存储器1200中页元第一单元第一引脚的起始列与存储矩阵510的第一列1202对齐。
附图13中,在程序片500的平面布局中处理器硬核700具有一第二、不同位置并且自存储矩阵510中分配支持存储器1300。同样的,支持存储器1300可以具有各种数量的有任意宽度和深度的单元。支持存储器1300被映射入存储矩阵510,这样支持存储器1300第一单元(或列)第一引脚的起始列(一般用箭头1302表示)通过整数的列1304,从存储矩阵510的第一列1202偏离(偏到左边)。偏移量一般对应于处理器硬核700的放置位置。
附图14中,处理器硬核700沿存储矩阵510具有一第三放置位置,这个位置与图12和13所述的不同。在这个具体实施方式中,处理器硬核700在存储矩阵1104中被分配支持存储器1400。支持存储器140可以具有各种数量的有任意宽度和深度的单元。支持存储器1400第一单元第一引脚的起始列(一般用箭头1304表示)通过整数的列1404,从存储矩阵510的第一列1202向左偏移。
由于处理器硬核700的相对(不是绝对的)位置及其相应的支持存储器是固定的,因此性能和时钟特性也不变。所以处理器硬核700及其支持存储器的布线互连也不十分重要。
另外,可在基础平台程序片510上执行的处理器类型也不受固定的资源单元的制约。附图15和16描述了根据本发明具体实施方式所述的两种不同类型的处理器硬核的应用。图15中,具有指令单元类型“A”的处理器硬核1500沿存储阵列510放置并被分配存储段1502作为支持存储器。同样的,支持存储器1502可被分作任何类型的存储器,比如高速缓冲存储器和/或TCM。图16中,处理器硬核1600具有与类型“A”不同的指令单元类型“B”,该处理器硬核1600沿存储阵列510放置并被分配存储段1602作为支持存储器。用来执行指令单元“B”的硬核不需要与指令“A”的具有相同的高度和宽度。段1602中的存储单元的数量或大小不受类型“A”所需的约束。为处理器硬核类型“B”的支持存储的分配独立于程序片500上示例的其它类型的处理器。这样就使通过相同的程序片设计而得到广泛变化的处理器成为可能。
附图17和18描述了根据本发明的具体实施方式所示例的,在相同的程序片设计中的处理器数量和类型上的变化。图17描述了一个沿存储矩阵510放置并具有分配到的支持存储器1702的独立处理器硬核1700。处理器硬核1700执行一第一指令单元。图18描述了沿存储器矩阵510放置的第一及第二处理器硬核1700和1800。处理器硬核1700已分配支持存储器1702,而处理器硬核1800已分配支持存储器1802。处理器硬核1700执行第一指令单元,处理器硬核1800执行第二指令单元。处理器硬核1700的指令单元或高速缓存大小(和/或TCM大小)可以与处理器硬核1800的相同或不同。因而,图17和18描述了在选择指令单元及高速缓存/TCM存储器大小方面的灵活性,使得其不局限于程序片形成时既定的特定结构。
正如上面描述的,处理器硬核可用来“嵌”到“虚拟存储器”的引脚上,该虚拟存储自存储矩阵沿着它的I/O信道边缘形成。由于处理器结构在硬核中完成,因此其不是在程序片形成时固定的。特殊的处理器结构可以由用户决定,并且无需指令单元的预定条件,在集成电路的高位层形成时固定。处理器硬核不局限于在固定位置使用预定数量的处理器。这样就提供了一种方法,可以根据需要改变处理器支持存储器的大小和构造而不必进形成新的程序片结构。特殊集成电路设计获得的功能依赖于选择的工艺以及处理器设计。处理器硬核的数量和/或位置没有预设。可以得到多样的处理器而不必形成新的程序片。存储矩阵的常规特性允许处理器硬核沿矩阵嵌入多个有效位置。这样也提高了平面布局中的数据流。
本发明的一个或多个具体实施方式可在多种不同的半导体技术、制造工艺和方法中实施。例如,一些上述的具体实施方式在半可编程ASIC或全可编程ASIC的环境中出现。在这些具体实施方式中,基础平台与部分制造的特定用途集成电路(ASIC)程序片一致。处理器硬核在至少一个金属层内至少部分定义连接或布线模式,使其形成于集成电路程序片上。布置互连模式以执行如程序片中的晶体管构造所需处理器构造和/或指令单元的逻辑。对于一个半可编程ASIC来说,基础平台可在为处理器硬核选择指令单元,选择程序片平面布局中处理器硬核的放置位置,或确定处理器支持存储器的类型、大小或映射之前制造。可配置金属基础平台的一个半可编程ASIC的实例为加利福尼亚州米尔皮塔斯市LSI逻辑公司的RapidChip基础平台。
上述一个或多个具体实施方式也可应用在现场可编程门阵列(FPGA)中。在一个FPGA的环境中,基础平台对应于具有一存储矩阵的完全制造的现场可编程门阵列(FPGA)。处理器硬核在与存储矩阵相关的FPGA重构结构中表示处理器的逻辑布局。例如,处理器硬核表示一组FPGA配置位或配置状态,该配置位或状态可在FPGA平面布局中定义处理器的功能,以及与存储矩阵相关在平面布局中定义信号路线。也存在其它的应用。
尽管本发明通过上述具体实施方式来阐述,但是本领域普通技术人员可在不背离本发明精神和范围的情况下在形式上和细节上加以改变。举例来说,术语“行”或“列”是可互换的。

Claims (27)

1、一种集成电路布局,其特征在于,包括:
一集成电路基础平台,该基础平台包括横行和纵列都置有页元的存储矩阵,其中,页元的每一列都具有布线到共用矩阵边缘的连接引脚,并且沿矩阵边缘具有公共的引脚顺序;
一第一处理器硬核沿存储矩阵放置,并具有与存储矩阵边缘相邻的硬核边缘,以及一些与存储矩阵的相应连接引脚连接的连接引脚;其中,第一处理器硬核的连接引脚沿着硬核边缘的排列顺序与沿矩阵边缘的连接引脚排列顺序实质相同;
一处理器硬核的第一支持存储器,该存储器沿着硬核边缘映射入存储矩阵的一部分。
2、根据权利要求1所述的集成电路布局,其中,
基础平台与部分制造专用集成电路(ASIC)程序片的基础层一致;并且,
该第一处理器硬核至少部分定义了形成于集成电路程序片上的至少一层金属层的互连模式。
3、根据权利要求1的所述的集成电路布局,其中:
该基础平台与完全制造的现场可编程门阵列(FPGA)相一致;并且
该第一处理器硬核表示出在FPGA可重置结构中处理器的逻辑布局。
4、根据权利要求1所述的集成电路布局,其中第一支持存储器沿硬核边缘被映射到相应的页元列单元中。
5、根据权利要求1所述的集成电路布局,其中第一处理器硬核沿矩阵边缘具有许多不同的有效安装位,并且对于其中每一安装位,第一支持存储器具有一起始列,该起始列自存储矩阵的一端以页元列的整数偏移。
6、根据权利要求1所述的集成电路布局,其中,第一支持存储器的大小不受基础平台约束成预定义单元的大小;其中预定义单元的大小与第一处理器硬核的预定义配置一致。
7、根据权利要求1所述的集成电路布局,其中,第一处理器硬核具有的宽度与第一支持存储器大小无关。
8、根据权利要求1所述的集成电路布局,其中,该集成电路布局包括许多可编程布线层,并且第一处理器硬核包含许多与不同处理器指令单元相应的不同配置,这些配置至少部分通过可编程的布线层得到配置。
9、根据权利要求8所述的集成电路设计,其中,不同的处理器指令单元除了存储矩阵的大小外,不受存储矩阵预定义配置的限制形成预定义指令单元。
10、根据权利要求1所述的集成电路布局,其进一步包括:
一第二处理器硬核沿存储矩阵放置,并具有与存储矩阵边缘相邻的硬核边缘,以及一些与存储矩阵的相应连接引脚连接的连接引脚;其中,第二处理器硬核的连接引脚沿着硬核边缘的排列顺序与沿矩阵边缘的连接引脚排列顺序实质相同;
一第二处理器硬核的第二支持存储器,该存储器沿着相应的硬核边缘映射入存储矩阵的另外一部分。
11、根据权利要求10所述的集成电路布局,其中,第二处理器硬核具有与第一处理器硬核不同的指令单元。
12、根据权利要求10所述的集成电路布局,其中,第二支持存储器具有与支持存储器不同的尺寸大小。
13、一种计算机可读介质,包括:
一集成电路的基础平台,该平台包含横行和纵列都置有页元的存储矩阵;页元的每一列都具有布线到共用矩阵边缘的连接引脚,并且沿矩阵边缘具有公共的引脚顺序;还有
一处理器硬核,具有一硬核边缘,以及一些与存储矩阵的相应连接引脚连接的连接引脚;其中,处理器硬核的连接引脚沿着硬核边缘的排列顺序与沿矩阵边缘的连接引脚排列顺序实质相同;处理器硬核沿着矩阵边缘具有一些不同的有效配置区域。
14、根据权利要求13所述的计算机可读介质,其中,
一基础平台对应于部分制造的专用集成电路(ASIC)程序片的基础层;并且,
该第一处理器硬核至少部分定义了装配到集成电路程序片上的至少一层金属层的互连模式。
15、根据权利要求13所述的计算机可读介质,其中,
该基础平台对应于完全制造的现场可编程门阵列(FPGA);并且
该第一处理器硬核表示出在FPGA可重置结构中处理器的逻辑布局。
16、根据权利要求13所述的计算机可读介质,其进一步包括:
一处理器硬核的支持存储器,该存储器沿硬核边缘被映射入页元列的相应单元中,其中,对于每一放置位置,支持存储器都具有一起始列,该起始列自存储矩阵的一端偏移整数个页元列。
17、根据权利要求16所述的计算机可读介质,其中:支持存储器的大小不受基础平台约束成预定义单元的大小;其中预定义单元的大小与处理器硬核的预定义配置一致。
18、根据权利要求13所述的计算机可读介质,其进一步包括:形成于基础平台上的许多可编程布线层,其中处理器硬核包含许多与不同处理器指令单元相应的不同配置,这些配置至少部分通过可编程的布线层得到配置,其中,不同的处理器指令单元不受存储矩阵预定义配置的限制。
19、根据权利要求13所述的计算机可读介质,其进一步包括以下表征:
沿基础平台布局模式中的矩阵边缘的处理器硬核的第一、第二示例;以及
第一、第二存储器硬核的第一、第二支持存储器,所述存储器沿各自的硬核边缘映射入页元列的相应单元中,其中,每个支持存储器都具有一起始列,该起始列自存储矩阵的一端以页元列的各自整数偏移。
20、根据权利要求19所述的计算机可读介质,其中,第一处理器硬核执行与第二处理器硬核不同的指令单元。
21、根据权利要求19所述的计算机可读介质,其中,第一支持存储器与第二支持存储器具有不同的尺寸大小。
22、一种在集成电路基础平台上完成硬核的方法,该方法包括:
接收一个基础平台,该基础平台包括横行和纵列都置有页元的存储矩阵,其中页元的每一列都具有布线到共用矩阵边缘的连接引脚,并且沿矩阵边缘具有公共的引脚顺序;
沿存储矩阵放置处理器硬核,其中处理器硬核具有与存储矩阵边缘相邻的硬核边缘,以及一些与存储矩阵的相应连接引脚连接的连接引脚;其中,处理器硬核的连接引脚沿着硬核边缘的排列顺序与沿矩阵边缘的连接引脚排列顺序实质相同;并且
将处理器硬核的支持存储器沿着硬核边缘映射入存储矩阵的一部分。
23、根据权利要求22所述的方法,其中基础平台包括许多沿处理器硬核矩阵边缘的不同的有效放置位,其中,
放置处理器硬核包括将处理器硬核放入其中一个有效放置位上;以及
映射支持存储器包括映射支持存储器使其具有一起始列,该起始列自存储矩阵的一端以页元列的整数偏移,并对应于处理器硬核各自的放置位置。
24、根据权利要求22所述的方法,其中映射支持存储器的步骤,不受基础平台限制成支持存储器大小的预定义单元,也不受处理器硬核的预定义配置的限制。
25、根据权利要求22所述的方法,其中,处理器硬核内部具有执行指令单元的配置,其除了存储矩阵的大小外,不受存储矩阵预定义配置的限制。
26、根据权利要求22所述的方法,其进一步包括:
沿存储矩阵再放置一额外处理器硬核,其包括与存储矩阵边缘相邻的硬核边缘,以及一些与存储矩阵的相应连接引脚连接的连接引脚;额外处理器硬核的连接引脚沿着相应的硬核边缘的排列顺序与沿矩阵边缘的连接引脚排列顺序实质相同;并且
将额外支持存储器沿着该额外硬核边缘映射入存储矩阵的一部分。
27、根据权利要求26所述的方法,其中,该额外处理器硬核具有一指令组和尺寸,所述指令组和尺寸中至少一个与所述的第一处理器硬核不同。
CN2006100841680A 2005-04-06 2006-04-06 具有可重定位处理器硬核的集成电路 Expired - Fee Related CN1881223B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/099,772 2005-04-06
US11/099,772 US7313775B2 (en) 2005-04-06 2005-04-06 Integrated circuit with relocatable processor hardmac

Publications (2)

Publication Number Publication Date
CN1881223A true CN1881223A (zh) 2006-12-20
CN1881223B CN1881223B (zh) 2010-05-12

Family

ID=37084500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100841680A Expired - Fee Related CN1881223B (zh) 2005-04-06 2006-04-06 具有可重定位处理器硬核的集成电路

Country Status (2)

Country Link
US (1) US7313775B2 (zh)
CN (1) CN1881223B (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103646009A (zh) * 2006-04-12 2014-03-19 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
CN104252555A (zh) * 2013-06-28 2014-12-31 台湾积体电路制造股份有限公司 导线图案化
TWI502385B (zh) * 2008-10-21 2015-10-01 Advanced Risc Mach Ltd 修改積體電路佈局之方法
US9766893B2 (en) 2011-03-25 2017-09-19 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9811377B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for executing multithreaded instructions grouped into blocks
US9823930B2 (en) 2013-03-15 2017-11-21 Intel Corporation Method for emulating a guest centralized flag architecture by using a native distributed flag architecture
US9842005B2 (en) 2011-03-25 2017-12-12 Intel Corporation Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9858080B2 (en) 2013-03-15 2018-01-02 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9898412B2 (en) 2013-03-15 2018-02-20 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9921845B2 (en) 2011-03-25 2018-03-20 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9934042B2 (en) 2013-03-15 2018-04-03 Intel Corporation Method for dependency broadcasting through a block organized source view data structure
US9940134B2 (en) 2011-05-20 2018-04-10 Intel Corporation Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
US9965281B2 (en) 2006-11-14 2018-05-08 Intel Corporation Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer
US10031784B2 (en) 2011-05-20 2018-07-24 Intel Corporation Interconnect system to support the execution of instruction sequences by a plurality of partitionable engines
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US10146548B2 (en) 2013-03-15 2018-12-04 Intel Corporation Method for populating a source view data structure by using register template snapshots
US10169045B2 (en) 2013-03-15 2019-01-01 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US10191746B2 (en) 2011-11-22 2019-01-29 Intel Corporation Accelerated code optimizer for a multiengine microprocessor
US10198266B2 (en) 2013-03-15 2019-02-05 Intel Corporation Method for populating register view data structure by using register template snapshots
US10228949B2 (en) 2010-09-17 2019-03-12 Intel Corporation Single cycle multi-branch prediction including shadow cache for early far branch prediction
US10521239B2 (en) 2011-11-22 2019-12-31 Intel Corporation Microprocessor accelerated code optimizer

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7992121B2 (en) * 2005-09-30 2011-08-02 Cadence Design Systems, Inc. System and method for I/O synthesis and for assigning I/O to programmable devices
US7765512B1 (en) * 2008-03-25 2010-07-27 Xilinx, Inc. Relocatable circuit implemented in a programmable logic device
US8166429B1 (en) 2008-10-17 2012-04-24 Altera Corporation Multi-layer distributed network
US8415650B2 (en) 2009-07-02 2013-04-09 Actel Corporation Front to back resistive random access memory cells
US8341588B2 (en) 2010-10-04 2012-12-25 International Business Machines Corporation Semiconductor layer forming method and structure
CN101980223B (zh) * 2010-11-04 2012-03-14 浙江大学 应用于处理器结构和电路设计的功耗-性能优化方法
US8701057B2 (en) * 2011-04-11 2014-04-15 Nvidia Corporation Design, layout, and manufacturing techniques for multivariant integrated circuits
US9244798B1 (en) * 2011-06-20 2016-01-26 Broadcom Corporation Programmable micro-core processors for packet parsing with packet ordering
US9455598B1 (en) 2011-06-20 2016-09-27 Broadcom Corporation Programmable micro-core processors for packet parsing
US10270451B2 (en) 2015-12-17 2019-04-23 Microsemi SoC Corporation Low leakage ReRAM FPGA configuration cell
TWI733854B (zh) * 2016-09-21 2021-07-21 中國大陸商合肥睿科微電子有限公司 用於初始化電阻式記憶體裝置之技術
US10147485B2 (en) 2016-09-29 2018-12-04 Microsemi Soc Corp. Circuits and methods for preventing over-programming of ReRAM-based memory cells
DE112017006212T5 (de) 2016-12-09 2019-08-29 Microsemi Soc Corp. Resistive Speicherzelle mit wahlfreiem Zugriff
WO2019032249A1 (en) 2017-08-11 2019-02-14 Microsemi Soc Corp. MOUNTING CIRCUITS AND METHODS FOR PROGRAMMING RESISTIVE LIVE MEMORY DEVICES
US11163530B2 (en) * 2018-01-12 2021-11-02 Intel Corporation Programmable-logic-directed multiplier mapping
CA3098730A1 (en) 2018-05-10 2019-11-14 Miovision Technologies Incorporated Blockchain data exchange network and methods and systems for submitting data to and transacting data on such a network
JP7152684B2 (ja) * 2018-09-28 2022-10-13 株式会社ソシオネクスト 半導体集積回路装置
US11467995B2 (en) * 2020-12-01 2022-10-11 Micron Technology, Inc. Pin mapping for memory devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088761A (en) * 1997-03-31 2000-07-11 Sun Microsystems, Inc. Reduced pin system interface
US6486702B1 (en) * 1999-07-02 2002-11-26 Altera Corporation Embedded memory blocks for programmable logic
JP2002009160A (ja) * 2000-06-26 2002-01-11 Nec Microsystems Ltd 半導体集積回路の自動レイアウト方法、この方法で製造した半導体集積回路及びこの方法を記録した記録媒体
JP2003243538A (ja) * 2002-02-12 2003-08-29 Hitachi Ltd 半導体集積回路装置
US6820248B1 (en) * 2002-02-14 2004-11-16 Xilinx, Inc. Method and apparatus for routing interconnects to devices with dissimilar pitches
US6804811B2 (en) 2002-09-25 2004-10-12 Lsi Logic Corporation Process for layout of memory matrices in integrated circuits
US7111264B2 (en) * 2003-10-17 2006-09-19 Lsi Logic Corporation Process and apparatus for fast assignment of objects to a rectangle
US7036102B2 (en) * 2003-10-27 2006-04-25 Lsi Logic Corporation Process and apparatus for placement of cells in an IC during floorplan creation
US7257799B2 (en) * 2003-11-14 2007-08-14 Lsi Corporation Flexible design for memory use in integrated circuits
US7219321B2 (en) * 2004-04-23 2007-05-15 Lsi Logic Corporation Process and apparatus for memory mapping
US7168052B2 (en) * 2004-06-23 2007-01-23 Lsi Logic Corporation Yield driven memory placement system

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289605B2 (en) 2006-04-12 2019-05-14 Intel Corporation Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US11163720B2 (en) 2006-04-12 2021-11-02 Intel Corporation Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
CN103646009B (zh) * 2006-04-12 2016-08-17 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
CN103646009A (zh) * 2006-04-12 2014-03-19 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
US9886416B2 (en) 2006-04-12 2018-02-06 Intel Corporation Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US9965281B2 (en) 2006-11-14 2018-05-08 Intel Corporation Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer
US10585670B2 (en) 2006-11-14 2020-03-10 Intel Corporation Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer
TWI502385B (zh) * 2008-10-21 2015-10-01 Advanced Risc Mach Ltd 修改積體電路佈局之方法
US10228949B2 (en) 2010-09-17 2019-03-12 Intel Corporation Single cycle multi-branch prediction including shadow cache for early far branch prediction
US9842005B2 (en) 2011-03-25 2017-12-12 Intel Corporation Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
US10564975B2 (en) 2011-03-25 2020-02-18 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
US11204769B2 (en) 2011-03-25 2021-12-21 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9766893B2 (en) 2011-03-25 2017-09-19 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
US9990200B2 (en) 2011-03-25 2018-06-05 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
US9921845B2 (en) 2011-03-25 2018-03-20 Intel Corporation Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines
US9934072B2 (en) 2011-03-25 2018-04-03 Intel Corporation Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
US10031784B2 (en) 2011-05-20 2018-07-24 Intel Corporation Interconnect system to support the execution of instruction sequences by a plurality of partitionable engines
US9940134B2 (en) 2011-05-20 2018-04-10 Intel Corporation Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines
US10372454B2 (en) 2011-05-20 2019-08-06 Intel Corporation Allocation of a segmented interconnect to support the execution of instruction sequences by a plurality of engines
US10191746B2 (en) 2011-11-22 2019-01-29 Intel Corporation Accelerated code optimizer for a multiengine microprocessor
US10521239B2 (en) 2011-11-22 2019-12-31 Intel Corporation Microprocessor accelerated code optimizer
US10255076B2 (en) 2013-03-15 2019-04-09 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9934042B2 (en) 2013-03-15 2018-04-03 Intel Corporation Method for dependency broadcasting through a block organized source view data structure
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US10146576B2 (en) 2013-03-15 2018-12-04 Intel Corporation Method for executing multithreaded instructions grouped into blocks
US10146548B2 (en) 2013-03-15 2018-12-04 Intel Corporation Method for populating a source view data structure by using register template snapshots
US10169045B2 (en) 2013-03-15 2019-01-01 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US10198266B2 (en) 2013-03-15 2019-02-05 Intel Corporation Method for populating register view data structure by using register template snapshots
US9858080B2 (en) 2013-03-15 2018-01-02 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US10248570B2 (en) 2013-03-15 2019-04-02 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US11656875B2 (en) 2013-03-15 2023-05-23 Intel Corporation Method and system for instruction block to execution unit grouping
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9823930B2 (en) 2013-03-15 2017-11-21 Intel Corporation Method for emulating a guest centralized flag architecture by using a native distributed flag architecture
US9898412B2 (en) 2013-03-15 2018-02-20 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
US10503514B2 (en) 2013-03-15 2019-12-10 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9811377B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for executing multithreaded instructions grouped into blocks
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US10740126B2 (en) 2013-03-15 2020-08-11 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US10998304B2 (en) 2013-06-28 2021-05-04 Taiwan Semiconductor Manufacturing Company, Ltd. Conductive line patterning
CN104252555B (zh) * 2013-06-28 2017-07-28 台湾积体电路制造股份有限公司 导线图案化
CN104252555A (zh) * 2013-06-28 2014-12-31 台湾积体电路制造股份有限公司 导线图案化
US10269785B2 (en) 2013-06-28 2019-04-23 Taiwan Semiconductor Manufacturing Company, Ltd. Conductive line patterning

Also Published As

Publication number Publication date
US7313775B2 (en) 2007-12-25
CN1881223B (zh) 2010-05-12
US20060230375A1 (en) 2006-10-12

Similar Documents

Publication Publication Date Title
CN1881223A (zh) 具有可重定位处理器硬核的集成电路
US7257799B2 (en) Flexible design for memory use in integrated circuits
Xie et al. Design space exploration for 3D architectures
US8572526B2 (en) Power mesh for multiple frequency operation of semiconductor products
US8117436B2 (en) Hybrid nanotube/CMOS dynamically reconfigurable architecture and an integrated design optimization method and system therefor
CN1959685A (zh) 用于改进半导体器件的可制造性的方法和系统
US7614020B2 (en) Structurally field-configurable semiconductor array for in-memory processing of stateful, transaction-oriented systems
US7424687B2 (en) Method and apparatus for mapping design memories to integrated circuit layout
US11030371B2 (en) Automation for monolithic 3D devices
CN1838411A (zh) 半导体集成电路器件及固定其阱势的设计方法
US11205034B2 (en) Automation for monolithic 3D devices
US11270055B1 (en) Automation for monolithic 3D devices
US11341309B1 (en) Automation for monolithic 3D devices
US8397190B2 (en) Method for manipulating and repartitioning a hierarchical integrated circuit design
US11487928B2 (en) Automation for monolithic 3D devices
US11574109B1 (en) Automation methods for 3D integrated circuits and devices
US20220222414A1 (en) Design automation for monolithic 3d devices
Huang et al. Layer-aware design partitioning for vertical interconnect minimization
Paul et al. Energy-efficient hardware acceleration through computing in the memory
CN1862968B (zh) 集成电路以及设计集成电路的方法
US7389484B2 (en) Method and apparatus for tiling memories in integrated circuit layout
US20120278775A1 (en) Method and Apparatus for Generating Memory Models and Timing Database
Srinivasa et al. Improving FPGA design with monolithic 3D integration using high dense inter-stack via
JP4534384B2 (ja) 半導体集積回路の自動フロアプランシステムとそのフロアプラン方法及びそのコンピュータプログラム
Petrisko Architectural exploration of Si-IF many-die processors

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160720

Address after: Singapore Singapore

Patentee after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: California, USA

Patentee before: LSI Corp.

Effective date of registration: 20160720

Address after: California, USA

Patentee after: LSI Corp.

Address before: California, USA

Patentee before: LSI Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100512

Termination date: 20170406

CF01 Termination of patent right due to non-payment of annual fee