CN102422263A - 开发、编程和除错环境 - Google Patents

开发、编程和除错环境 Download PDF

Info

Publication number
CN102422263A
CN102422263A CN2010800198243A CN201080019824A CN102422263A CN 102422263 A CN102422263 A CN 102422263A CN 2010800198243 A CN2010800198243 A CN 2010800198243A CN 201080019824 A CN201080019824 A CN 201080019824A CN 102422263 A CN102422263 A CN 102422263A
Authority
CN
China
Prior art keywords
programmable
hardware
circuit
programmable system
code
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
CN2010800198243A
Other languages
English (en)
Other versions
CN102422263B (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.)
Cypress Semiconductor Corp
Original Assignee
Cypress Semiconductor 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 Cypress Semiconductor Corp filed Critical Cypress Semiconductor Corp
Publication of CN102422263A publication Critical patent/CN102422263A/zh
Application granted granted Critical
Publication of CN102422263B publication Critical patent/CN102422263B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/10Processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Stored Programmes (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种方法包含接收一般地描述电路的硬件描述码,以及将所述硬件描述码转译成可编程系统特定的一个或一个以上配置文件。所述方法进一步包含至少部分基于所述硬件描述码来产生用于所述可编程系统的微控制器的程序代码,以及配置所述可编程系统以根据所述配置文件和所述程序代码实施所述电路。

Description

开发、编程和除错环境
相关申请案
本专利申请案主张2009年5月7日申请的第61/176,272号美国临时专利申请案的权利和优先权,所述申请案以引用的方式并入本文中。
技术领域
本发明一般来说涉及电子系统,且更具体来说,涉及用于可编程系统的开发、编程和除错环境。
背景技术
微控制器制造商和供应商常常将允许程序员编写供微控制器执行的软件的开发工具供应给其客户。类似地,许多可配置硬件制造商将会把允许设计员具有配置其硬件装置的能力的专用硬件配置工具提供给其客户。
一些电子系统包含可配置硬件组件和处理装置两者,其可经编程和经配置以合作来实施各种功能。在配置这些电子系统时,设计员常常将利用软件工具来编程所述处理装置且利用所述专用硬件配置工具来配置所述硬件组件。换句话说,在尝试对这些电子系统进行内聚性地开发、编程和除错时,系统设计员以不同开发方法人工地管理多个项目,例如多个开发工具的使用。
发明内容
本专利申请案描述一种方法,所述方法包含接收一般地描述电路的硬件描述码,以及将所述硬件描述码转译成可编程系统特定的一个或一个以上配置文件。所述方法还包含至少部分基于所述硬件描述码来产生用于所述可编程系统的微控制器的程序代码,以及配置所述可编程系统以根据所述配置文件和所述程序代码实施所述电路。
一种系统包含接口装置以接收描述供可编程系统实施的硬件电路的硬件描述码,且接收基于所述硬件描述码来起始所述可编程系统的自动配置和编程的指示。所述系统进一步包含处理系统,所述处理系统回应于所述指示,至少部分基于所述硬件描述码自动产生一个或一个以上硬件配置文件和程序代码,且将所述配置文件和所述程序代码自动发送至所述可编程系统,其中所述可编程系统经配置以根据所述配置文件和所述程序代码来实施所述硬件电路。
附图说明
图1展示根据本发明的实施例的可由实施集成开发环境的处理系统配置的可编程系统;
图2说明在图1中展示的可编程系统上芯片(PSoCTM)的核心结构的实施例;
图3说明在图1中展示的处理系统的实例实施例;
图4为根据本发明的实施例的实施集成开发环境的处理装置的实例操作流程图;
图5为根据本发明的实施例的用于集成开发环境的实例操作流程图。
具体实施方式
例如在由赛普拉斯半导体公司(加州,圣何塞)供应的PSoCTM系列产品中使用的可编程系统上芯片(PSoCTM)等可编程系统上芯片(PSoCTM)或其它电子系统可包含微控制器或其它处理装置和可配置硬件组件,例如可编程模拟和/或数字块。处理系统可实施统一集成开发环境,所述集成开发环境允许设计员开发应用程序和编程PSoCTM和/或电子系统的可配置硬件组件和微控制器两者。在下文中更详细地展示和描述实施例。
图1展示根据本发明的实施例的可由实施集成开发环境300的处理系统200配置的可编程系统100。参看图1,可编程系统100包含微控制器102和可配置硬件组件,例如可编程数字块132和可编程模拟块134。微控制器102可经编程(和重新编程)且可编程数字和模拟块132和134可经配置(和重新配置)以实施各种应用程序和执行多种功能。将在下文中更详细地描述可编程系统100的实施例。
处理系统200可实施集成开发环境300,从而允许通过由集成开发环境300开发的硬件配置文件和软件编程实现对可编程系统100的统一的硬件和软件开发和配置。处理系统200可包含一个或一个以上处理器202以(例如)通过执行存储于存储系统204或其它计算机可读媒体中的指令来实施集成开发环境300。
在已开发出硬件配置文件和软件编程之后,处理系统200可(例如)通过耦合装置230用开发出的硬件配置和软件编程来编程和/或配置可编程系统100。在一些实施例中,耦合装置230可为有线装置,例如通用串行总线(USB)电缆、以太网电缆等,或可表示在处理系统200与可编程系统100之间的无线链路。
处理系统200可包含系统接口装置206,其允许所述处理系统200与外部装置(例如,用户输入装置210、显示装置220和可编程系统100)通信。举例来说,处理系统200可包含系统接口206以经由耦合装置230与可编程系统100通信。在一些实施例中,系统接口装置206可(例如)通过用户输入装置210接收输入和(例如)经由显示装置220呈现信息。
处理系统200可回应于(例如)来自用户输入装置210的用户输入来开发用于可编程系统100的硬件和软件应用程序。集成开发环境300可包含各种开发工具,所述开发工具允许系统设计员描述供可编程系统100实施的硬件电路和为微控制器102提供软件或固件代码。在一些实施例中,集成开发环境300可接收以抽象或一般方式描述此硬件电路的硬件描述码,且可将一般代码转换为可编程系统100的结构和/或资源所特有的装置专定配置文件。由系统设计员提供的硬件描述码可包含根据硬件描述语言(例如,Verilog或VHDL)撰写的示意电路图和/或硬件码。
处理系统200还可至少部分基于硬件描述码来产生应用程序编程接口。当被提供给可编程系统100时,这些应用程序编程接口可编程微控制器102以与根据装置特定配置文件配置的可编程数字和/或模拟块132和134通信。
处理系统200可将装置特定配置文件和应用程序编程接口发送至可编程系统100。可编程系统100可利用所述配置文件以配置在可编程数字和/或模拟块132和134中的特定硬件组件以实施由硬件描述码描述的硬件电路。可编程系统100可利用应用程序编程接口来编程微控制器102以与根据装置特定配置文件配置的可编程数字和/或模拟块132和134通信。
在已经通过用集成开发环境300开发的硬件配置和软件或固件编程来编程可编程系统100之后,处理系统200可包含除错硬件208以对可编程系统100执行除错操作。在一些实施例中,除错硬件208可位于处理系统200外部且可经由系统接口装置206与处理系统200通信。
图2说明可编程系统上芯片(PSoCTM)的核心结构的实施例,例如在由赛普拉斯半导体公司(加州,圣何塞)供应的PSoC3TM系列产品中使用的核心结构。参看图2,在一个实施例中,核心结构包含微控制器102。微控制器102包含CPU(中央处理单元)核心104、快闪程序存储装置106、DOC(除错芯片)108、预取缓冲器110、专用SRAM(静态随机存取存储器)112,以及特殊功能寄存器114。在一个实施例中,DOC 108、预取缓冲器110、专用SRAM112和特殊功能寄存器114耦合至CPU核心104,而快闪程序存储装置106耦合至预取缓冲器110。快闪程序存储装置106可为任何类型的程序存储器。
核心结构还可包含CHub(核心集线器)116,BHub 116包含桥接器118(例如,单层或多层先进高性能总线桥接器),且任选地包含经由总线122耦合至微控制器102的DMA(直接存储器存取)控制器120。Chub 116可在微控制器102与其外围设备和存储器与可编程核心124之间提供主要数据和控制接口。DMA控制器120可经编程以在不加负载于CPU核心104的情况下在系统元件之间传送数据。在各种实施例中,微控制器102和CHub 116的这些子组件中的每一者可随CPU核心104的每一选择或类型而不同。Chub 116也可耦合至共享SRAM 126和SPC(系统性能控制器)128。专用SRAM 112独立于由微控制器102经由桥接器118存取的共享SRAM 126。CPU核心104在不通过桥接器118的情况下存取专用SRAM 112,由此允许本地寄存器和RAM存取与对共享SRAM 126的DMA存取同时发生。虽然在本文中标记为SRAM,但在各种其它实施例中这些存储器模块可为任何合适类型的广泛多种(易失性或非易失性)存储器或数据存储模块。
在各种实施例中,可编程核心124可包含子组件(未图示)的各种组合,子组件包含但不限于数字逻辑阵列、数字外围设备、模拟处理信道、全局布线、模拟外围设备、DMA控制器、SRAM和其它适当类型的数据存储装置、IO端口,以及其它合适类型的子组件。在一个实施例中,可编程核心124包含GPIO(通用IO)和EMIF(扩展存储器接口)块130以提供一种机制来扩展对微控制器102、可编程数字块132、可编程模拟块134和特殊功能块136的外部芯片外存取,其中的每一者经配置以实施子组件功能中的一个或一个以上。在各种实施例中,特殊功能块136可包含专用(非可编程)功能块和/或包含至专用功能块的一个或一个以上接口,例如USB、晶体振荡器驱动器、JTAG等等。
可编程数字块132可包含数字逻辑阵列,其包含数字逻辑块的阵列和相关联布线。在一个实施例中,数字块结构包含UDB(通用数字块)。举例来说,每一UDB可包含ALU以及CPLD功能性或其它类型的数字可编程逻辑功能。
在各种实施例中,可编程数字块132的一个或一个以上UDB可经配置以执行各种数字功能,所述数字功能包含(但不限于)下列功能中的一个或一个以上:基本I2C从设备;I2C主设备;SPI主设备或从设备;多线(例如,3线)SPI主设备或从设备(例如,单插脚上多路复用的MISO/MOS1);计时器和计数器(例如,一对8比特计时器或计数器,一个16比特计时器或计数器,一个8比特捕捉计时器等等);PWM(例如,一对8比特PWM、一个16比特PWM、一个8比特静带PWM等等);电平敏感I/O中断产生器;正交编码器,UART(例如,半双工);延迟线;以及可在多个UDB中实施的任何其它合适类型的数字功能或数字功能的组合。
在其它实施例中,可使用两个或两个以上UDB的群组来实施额外功能。仅出于说明的目的而并非限制,可使用多个UDB来实施以下功能:I2C从设备,其支持硬件地址检测和在无CPU核心(例如,CPU核心104)干预的情况下处置完整事务和协助防止在资料流中的任何比特上的强迫式时钟拉伸的能力;I2C多主设备,其可包含在单一块中的从设备选项;任意长度PRS或CRC(高达32个比特);SDIO;SGPIO;数字相关器(例如,具有具4×过取样的高达32个比特且支持可配置阙值);LIN总线接口;三角积分调制器(例如,用于具有差分输出对的类别D音频DAC);I2S(立体);LCD驱动控制(例如,UDB可用以实施LCD驱动块的时序控制和提供显示RAM定址);全双工UART(例如,具有1或2停止位和奇偶性的7比特、8比特或9比特,和RTS/CTS支持),IRDA(传输或接收);捕捉计时器(例如,16比特等等);静带PWM(例如,16比特等等);SM总线(包含以软件用CRC格式化SM总线包);无刷马达驱动(例如,用以支持6/12步换流);自动BAUD速率检测和产生(例如,针对从1200到115200BAUD的标准速率自动确定BAUD速率和在检测之后产生所要求时钟以产生BAUD速率);以及可在复数个UDB中实施的任何其它合适类型的数字功能或组合。
可编程模拟块134可包含模拟资源,其包含(但不限于)比较器、混频器、PGA(可编程增益放大器)、TIA(反阻抗放大器)、ADC(模拟至数字转换器)、DAC(数字至模拟转换器)、电压参考、电流源、取样和保持电路,以及任何其它合适类型的模拟资源。可编程模拟块134可支持各种模拟功能,包含(但不限于)模拟布线、LCD驱动IO支持、电容性感应、电压测量、马达控制、电流至电压转换、电压至频率转换、差分放大、光测量、感应位置监视、滤波、音圈驱动、磁卡读出、声学多普勒测量、回音测距、调制解调器传输和接收编码,或任何其它合适类型的模拟功能。
图3说明在图1中展示的处理系统200的实例实施例。参看图3,处理系统200可(例如)通过执行存储于存储器系统204或其它计算机可读媒体中的指令来实施集成开发环境300。在一些实施例中,集成开发环境300可在处理系统200中至少部分地由一个或一个以上离散硬件组件(未图示)的集合来实施。
集成开发环境300可包含设计编辑器310以接收描述硬件电路的信息。可(例如)通过用户接口212从各种来源且以各种格式接收此描述硬件电路的信息。设计编辑器310可包含各种开发工具,其呈现给用户或系统设计员选项用于将电路设计或描述输入至集成开发环境300中的选项。举例来说,设计编辑器310可接收根据硬件描述语言(例如,Verilog或VHDL)撰写的代码。设计编辑器310还可提供基于图形的电路设计应用程序,例如示意图编辑器、符号编辑器、GPIF(通用可编程接口)编辑器等,其允许设计员产生待由可编程系统100实施的硬件电路的示意图。在一些实施例中,设计编辑器310可存取数据库320以协助确定用于所接收到的硬件电路的描述的相关性、建立规则及除错规则。
设计编辑器310也可从用户接口222接收用户产生的程序代码。程序代码可利用由集成开发环境产生的至少一个应用程序编程接口以与可编程系统100中的硬件组件通信。此程序代码也可包含至少一个应用程序编程接口以允许可编程系统100中的微控制器102在以所述代码加以编程时与可编程系统100中的硬件组件通信。
集成开发环境300可包含代码产生器330以从所接收到的硬件电路的描述产生配置文件。在一些实施例中,当所接收到的硬件电路的描述呈抽象或一般格式时,代码产生器330可存取装置特定硬件映射单元340以将所接收到的硬件电路的描述映射至可编程系统100的可编程数字和/或模拟块132和134。换句话说,代码产生器330可确定可编程系统100在何处和以何种方式实施由用户或系统设计员提供的一般电路。此抽象程度可允许不具有可编程系统100的特定知识的用户具有编程和配置所述可编程系统100以通过使用一般电路描述和图来执行各种应用程序的能力。代码产生器330可从硬件电路描述的装置特定版本来产生配置文件。
代码产生器330也可从所接收到的硬件电路的描述产生应用程序编程接口。当被提供至可编程系统100时,应用程序编程接口可编程微控制器102且允许其与可编程系统100的硬件组件通信。
集成开发环境300可包含编译器350以编译配置文件和应用程序编程接口且将其链接至可编程系统100。一旦已编译和链接所述配置文件和应用程序编程接口,编译器350就将其提供至可编程系统配置单元370以(例如)经由可编程系统接口232将其发送至可编程系统100。可编程系统100可根据所述配置文件来配置其可编程数字和/或模拟块132及134且根据所述应用程序编程接口来编程微控制器102以便实施由用户描述的硬件电路。
编译器350也可将配置文件和应用程序编程接口提供至除错器360,例如除错硬件208。除错器360可对如由配置文件和应用程序编程接口配置的可编程系统100执行除错操作。举例来说,除错器360可执行步过、步入及步出操作,此允许用户具有执行单步调适编程代码的增量评估的能力。
图4是根据本发明的实施例的实施集成开发环境300的处理装置的实例操作流程图。参看图4,集成开发环境300可接收可描述硬件电路的硬件描述代码401,例如硬件描述语言代码402、状态图403、硬件示意图404及流程图405。硬件电路可包含执行各种应用程序或功能的一个或一个以上电路和与所述电路相关联的模拟和/或数字信号布线。硬件描述语言代码402可以Verilog、VHDL或其它类似硬件描述语言撰写。硬件示意图404可为用基于图形的电路设计应用程序(例如,示意图编辑器、符号编辑器、GPIF(通用可编程接口)编辑器等)产生的硬件电路的示意图。
在框410中,集成开发环境300可将硬件描述语言代码402、状态图403、硬件示意图404和/或流程图405列网表为将由可编程系统100实施的硬件电路的单一表示。硬件描述语言代码402、状态图403、硬件示意图404和/或流程图405的此列网表可组合具有各种格式的电路描述并将其集成为硬件电路的单一表示。
在框420中,集成开发环境300可对列网表的硬件描述代码执行高级合成。高级合成可将列网表的硬件描述代码分解或还原为较低级的原语、逻辑方程式和/或触发器。在框430中,列网表的硬件描述代码的这种还原允许集成开发环境300通过低级合成将还原的硬件描述代码映射到可编程系统100。集成开发环境300可确定在程序系统100内的哪些硬件资源或组件(例如,可编程数字块132及可编程模拟块134)可根据映射实施由还原的硬件描述代码描述的电路。
在框440及450中,集成开发环境300可对可编程系统100的可编程数字块132及可编程模拟块134两者执行放置和布线。放置和布线可确定将硬件电路放置在可编程数字块132及可编程模拟块134中的什么地方。放置和布线还可分配或设置用于放置在可编程数字块132及可编程模拟块134中的硬件电路的信号布线。
在框460中,集成开发环境300可产生执行硬件配置文件和应用程序编程接口。硬件配置文件可基于还原的硬件描述代码的映射和在框430到450中执行的放置和布线分析。应用程序编程接口可基于还原的硬件描述代码的映射和在框430到450中执行的放置和布线,且可基于从至少一个系统接口接收的软件编程代码406。软件编程代码可包含允许可编程系统100中的微控制器102在以软件编程代码编码时与可编程系统100中的硬件组件通信的至少一个应用程序编程接口。
在框470中,集成开发环境300可编译硬件配置文件及应用程序编程接口,并将其链接到可编程系统100。在框480中,集成开发环境300可将经编译及链接的硬件配置文件和应用程序编程接口发送到可编程系统100。响应于硬件配置文件和应用程序编程接口,可配置可编程系统100来实施在硬件描述语言代码402、状态图403、硬件示意图404和/或流程图405中描述的硬件电路。在框490中,集成开发环境300可执行除错应用程序来对如由硬件配置文件和应用程序编程接口配置的可编程系统100除错。
在一些实施例中,集成开发环境300可在接收输入信息402、404及406之后接收起始可编程系统100的自动配置和编程的指示。响应于接收到所述指示,集成开发环境300可自动执行与框410到490相关联的操作。在一些实施例中,可经由系统接口中的至少一者从用户接收指示。尽管图4展示按特定处理次序执行框410到490,但在一些实施例中,集成开发环境300可按不同次序执行操作。
图5为根据本发明的实施例的集成开发环境300的实例操作流程图。参看图5,在第一框510中,集成开发环境300可接收一般地描述电路的硬件描述代码。在一些实施例中,硬件描述代码可为以Verilog、VHDL或其它类似硬件描述语言撰写的代码,或通过基于图形的电路设计应用程序(例如,示意图编辑器、符号编辑器、GPIF(通用可编程接口)编辑器等)产生的电路的示意图。集成开发环境300还可接收用于可编程系统100中的微处理器102的程序代码。
在下一框520中,集成开发环境300可接收起始可编程系统的自动配置和编程的指示。在一些实施例中,可经由系统接口中的至少一者从用户接收指示。响应于接收到所述指示,集成开发环境300可自动执行框530到560。
在框530中,集成开发环境300可将硬件描述代码转移到可编程系统100特定的一个或一个以上配置文件中。硬件描述代码到配置文件中的转移可包含多个操作。举例来说,硬件描述代码可列网表为电路的单一表示。经列网表的代码可还原为较低级的原语、逻辑表达式和触发器。可将还原代码映射到可编程装置100来确定可编程系统100可实施电路的方式。可分析经映射的代码来确定由可编程系统100实施的电路的放置和布线。集成开发环境300可将已经历放置和布线分析的经映射代码转移到可编程系统100特定的一个或一个以上的配置文件中。
在框540中,集成开发环境300可至少部分基于硬件描述代码产生用于可编程系统100的微控制器102的程序代码。在一些实施例中,程序代码可为供微处理器102与可编程系统100的硬件组件通信的应用程序编程接口。
在框550中,集成开发环境300可根据配置文件和程序代码来配置可编程系统100来实施电路。集成开发环境300可向可编程系统100提供配置文件和程序代码。配置文件和程序代码可提示可编程系统100实施由硬件描述代码描述的电路。
在框560中,集成开发环境300可对如由配置文件和程序代码编程的可编程系统100除错。
所属领域的技术人员将认识到,本文中教示的概念可以许多其它方式适应特定应用。明确来说,所属领域的技术人员将认识到,所说明的实施例只是在阅读本发明后将变得显而易见的许多替代实施方案中的一者。
前述实施例是实例。尽管说明书可在若干位置提到“一个”、“另一个”或“一些”实施例,但这未必意味每个此提及是针对相同实施例,或所述特征只适用于单一实施例。

Claims (20)

1.一种方法,其特征在于,包括:
接收一般地描述电路的程序代码和硬件描述代码;
将所述硬件描述代码转移到可编程系统特定的一个或一个以上配置文件中;
至少部分基于所述硬件描述代码来产生用于所述可编程系统的微控制器的额外程序代码;以及
根据所述配置文件和所述程序代码来配置所述可编程系统以实施所述电路。
2.如权利要求1所述的方法,其特征在于,所述程序代码包含允许所述微控制器与所述可编程系统中的可编程硬件组件通信的至少一个应用程序编程接口。
3.如权利要求1所述的方法,其特征在于,进一步包括在根据所述配置文件和所述程序代码配置所述可编程系统中的可编程硬件组件以实施所述电路之后对所述可编程系统除错。
4.如权利要求1所述的方法,其特征在于,所述硬件描述代码包含以下各者中的至少一者:示意电路图、流程图、状态图,或根据硬件描述语言撰写的代码。
5.如权利要求1所述的方法,其特征在于,所述将所述硬件描述代码转移到配置文件中进一步包括:
将所述硬件描述代码合成到所述电路的单一表示中,其中所述电路的所述单一表示包含所述可编程系统的设计的全部或一部分;以及
将所述电路的所述单一表示映射到所述可编程系统中的特定可编程硬件组件,其中所述可编程系统中的所述特定可编程硬件组件可经配置以实施所述电路的所述单一表示。
6.如权利要求5所述的方法,其特征在于,所述将所述硬件描述文件合成到所述电路的所述单一表示中进一步包括将所述电路的所述单一表示还原为低级原语、逻辑表达式或触发器中的至少一者。
7.如权利要求5所述的方法,其特征在于,所述将所述电路的所述单一表示映射到所述可编程系统进一步包括设置所述可编程系统中的所述特定硬件组件的信号布线以实施所述电路。
8.如权利要求1所述的方法,其特征在于,进一步包括接收起始所述可编程系统的自动配置和编程的指示,其中所述将所述硬件描述代码转移到配置文件中、所述产生所述程序代码和所述配置所述可编程系统是响应于接收到所述指示而自动执行的。
9.一种系统,其特征在于,包括:
接口装置,其用以接收描述硬件电路以供可编程系统实施的硬件描述代码,以及接收基于所述硬件描述代码起始所述可编程系统的自动配置和编程的指示;以及
处理系统,其响应于所述指示,至少部分基于所述硬件描述代码自动地产生一个或一个以上的硬件配置文件和程序代码,以及自动地将所述配置文件和所述程序代码发送给所述可编程系统,其中所述可编程系统经配置以根据所述配置文件和所述程序代码来实施所述硬件电路。
10.如权利要求9所述的系统,其特征在于,所述程序代码包含允许所述可编程系统中的微控制器与所述可编程系统中的可编程硬件组件通信的至少一个应用程序编程接口。
11.如权利要求9所述的系统,其特征在于,所述处理系统经配置以将所述硬件描述代码合成到所述硬件电路的单一表示中,以及将所述硬件电路的所述单一表示映射到所述可编程系统中的特定可编程硬件组件,其中所述可编程系统中的所述特定可编程硬件组件可经配置以实施所述硬件电路的所述单一表示。
12.如权利要求9所述的系统,其特征在于,所述处理系统经配置以在根据所述配置文件和所述程序代码配置所述可编程系统中的可编程硬件组件以实施所述硬件电路之后对所述可编程系统除错。
13.一种具有计算机可读媒体的设备,其特征在于,所述计算机可读媒体存储经配置以使处理系统执行包括以下操作的指令:
接收一般地描述电路的程序代码和硬件描述代码;
将所述硬件描述代码转移到可编程系统特定的一个或一个以上配置文件中;
至少部分基于所述硬件描述代码来产生用于所述可编程系统的微控制器的额外程序代码;以及
根据所述配置文件和所述程序代码来配置所述可编程系统以实施所述电路。
14.如权利要求13所述的设备,其特征在于,所述程序代码包含允许所述微控制器与所述可编程系统中的可编程硬件组件通信的至少一个应用程序编程接口。
15.如权利要求13所述的设备,其特征在于,所述指令经配置以使所述处理系统执行进一步包括以下操作的操作:在根据所述配置文件和所述程序代码配置所述可编程系统中的可编程硬件组件以实施所述电路之后对所述可编程系统除错。
16.如权利要求13所述的设备,其特征在于,所述硬件描述代码包含以下各者中的至少一者:示意电路图、流程图、状态图,或根据硬件描述语言撰写的代码。
17.如权利要求13所述的设备,其特征在于,所述指令经配置以使所述处理系统执行进一步包括以下操作的操作:
将所述硬件描述代码合成到所述电路的单一表示中,其中所述电路的所述单一表示包含所述可编程系统的设计的全部或一部分;以及
将所述硬件电路的所述单一表示映射到所述可编程系统中的特定可编程硬件组件,其中所述可编程系统中的所述特定可编程硬件组件可经配置以实施所述电路的所述单一表示。
18.如权利要求17所述的设备,其特征在于,所述指令经配置以使所述处理系统执行进一步包括以下至少一者的操作:将所述电路的所述单一表示还原为低级原语、逻辑表达式或触发器。
19.如权利要求17所述的设备,其特征在于,所述指令经配置以使所述处理系统执行进一步包括以下操作的操作:设置所述可编程系统中的所述特定硬件组件的信号布线以实施所述电路。
20.如权利要求13所述的设备,其特征在于,所述指令经配置以使所述处理系统执行进一步包括以下操作的操作:接收起始所述可编程系统的自动配置和编程的指示,其中所述将所述硬件描述代码转移到配置文件中、所述产生所述程序代码和所述配置所述可编程系统是响应于接收到所述指示而自动执行的。
CN201080019824.3A 2009-05-07 2010-05-07 开发、编程和除错环境 Active CN102422263B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17627209P 2009-05-07 2009-05-07
US61/176,272 2009-05-07
PCT/US2010/034103 WO2010129909A1 (en) 2009-05-07 2010-05-07 Development, programming, and debugging environment

Publications (2)

Publication Number Publication Date
CN102422263A true CN102422263A (zh) 2012-04-18
CN102422263B CN102422263B (zh) 2016-03-30

Family

ID=43050509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080019824.3A Active CN102422263B (zh) 2009-05-07 2010-05-07 开发、编程和除错环境

Country Status (3)

Country Link
US (3) US20100287571A1 (zh)
CN (1) CN102422263B (zh)
WO (1) WO2010129909A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363567A (zh) * 2018-02-12 2018-08-03 盛科网络(苏州)有限公司 一种基于数据库的验证平台激励器自动化生成方法
CN112154413A (zh) * 2019-08-20 2020-12-29 深圳市大疆创新科技有限公司 配置文件生成方法及装置、存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101104166B1 (ko) * 2009-11-26 2012-01-12 애니포인트 미디어 그룹 컴퓨팅 장치 및 미디어 재생 장치를 이용한 사용자 애플리케이션 테스트 시스템 및 테스트 방법
TWI543093B (zh) * 2011-05-26 2016-07-21 Microip Inc Aggregate circuit design code transaction and trial method
US9437093B2 (en) 2011-10-06 2016-09-06 Microchip Technology Incorporated Differential current measurements to determine ION current in the presence of leakage current
US9252769B2 (en) 2011-10-07 2016-02-02 Microchip Technology Incorporated Microcontroller with optimized ADC controller
US9467141B2 (en) * 2011-10-07 2016-10-11 Microchip Technology Incorporated Measuring capacitance of a capacitive sensor with a microcontroller having an analog output for driving a guard ring
US9257980B2 (en) 2011-10-06 2016-02-09 Microchip Technology Incorporated Measuring capacitance of a capacitive sensor with a microcontroller having digital outputs for driving a guard ring
US9207209B2 (en) 2011-12-14 2015-12-08 Microchip Technology Incorporated Method and apparatus for detecting smoke in an ion chamber
US9176088B2 (en) 2011-12-14 2015-11-03 Microchip Technology Incorporated Method and apparatus for detecting smoke in an ion chamber
US9189940B2 (en) 2011-12-14 2015-11-17 Microchip Technology Incorporated Method and apparatus for detecting smoke in an ion chamber
US9823280B2 (en) 2011-12-21 2017-11-21 Microchip Technology Incorporated Current sensing with internal ADC capacitor
WO2014204989A1 (en) 2013-06-18 2014-12-24 Ciambella Ltd. Method and apparatus for code virtualization and remote process call generation
EP3092561A4 (en) * 2014-01-10 2017-11-22 Ciambella Ltd. Method and apparatus for automatic device program generation
US9619122B2 (en) * 2014-01-10 2017-04-11 Ciambella Ltd. Method and apparatus for automatic device program generation
CN105653744A (zh) * 2014-11-13 2016-06-08 中芯国际集成电路制造(上海)有限公司 版图布局的设计方法及装置
CA2984106C (en) 2015-05-08 2021-12-21 Ciambella Ltd. Method and apparatus for automatic software development for a group of controller-based devices
US10067490B2 (en) 2015-05-08 2018-09-04 Ciambella Ltd. Method and apparatus for modifying behavior of code for a controller-based device
WO2018170079A1 (en) 2017-03-14 2018-09-20 Ciambella Ltd. Method and apparatus for automatically generating and incorporating code in development environments
CN112835652A (zh) 2019-11-25 2021-05-25 杭州中天微系统有限公司 数据交互方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131325A1 (en) * 1999-11-30 2003-07-10 Bridges2Silicon, Inc. Method and user interface for debugging an electronic system
US20030192032A1 (en) * 1998-02-17 2003-10-09 National Instruments Corporation System and method for debugging a software program
CN1491394A (zh) * 2001-08-14 2004-04-21 ���ܿ���ϵͳ���޹�˾ 时序不灵敏及无假信号逻辑系统和方法
US20060036988A1 (en) * 2001-06-12 2006-02-16 Altera Corporation Methods and apparatus for implementing parameterizable processors and peripherals
CN101149765A (zh) * 2007-11-09 2008-03-26 北京航空航天大学 高可靠性数字集成电路设计方法

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3508321A1 (de) 1985-03-06 1986-09-11 CREATEC Gesellschaft für Elektrotechnik mbH, 1000 Berlin Programmierbare schaltung zur steuerung einer fluessigkristallanzeige
US5253181A (en) * 1989-04-27 1993-10-12 Kawasaki Steel Corporation Programmable one-board computer, and methods of verification of logic circuit and alteration to actual circuit using the programmable one-board computer
US5684980A (en) 1992-07-29 1997-11-04 Virtual Computer Corporation FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions
CA2126265A1 (en) * 1993-09-27 1995-03-28 Michael Robert Cantone System for synthesizing field programmable gate array implementations from high level circuit descriptions
US5867397A (en) * 1996-02-20 1999-02-02 John R. Koza Method and apparatus for automated design of complex structures using genetic programming
US6006022A (en) 1996-11-15 1999-12-21 Microsystem Synthesis, Inc. Cross-linked development and deployment apparatus and method
EP1010070B1 (de) * 1997-09-01 2002-10-23 Fujitsu Siemens Computers GmbH Verfahren zum umsetzen eines objektcodes in einen programmcode
US6968514B2 (en) 1998-09-30 2005-11-22 Cadence Design Systems, Inc. Block based design methodology with programmable components
US6469743B1 (en) 1999-06-09 2002-10-22 International Business Machines Corporation Programmable external graphics/video port for digital video decode system chip
US6701340B1 (en) * 1999-09-22 2004-03-02 Lattice Semiconductor Corp. Double differential comparator and programmable analog block architecture using same
US7072818B1 (en) 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6581191B1 (en) * 1999-11-30 2003-06-17 Synplicity, Inc. Hardware debugging in a hardware description language
US6453456B1 (en) * 2000-03-22 2002-09-17 Xilinx, Inc. System and method for interactive implementation and testing of logic cores on a programmable logic device
US6721922B1 (en) 2000-09-27 2004-04-13 Cadence Design Systems, Inc. System for electronic circuit characterization, analysis, modeling and plan development
US6724220B1 (en) * 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
JP2002169696A (ja) * 2000-12-04 2002-06-14 Mitsubishi Electric Corp データ処理装置
US7594196B2 (en) 2000-12-07 2009-09-22 Cadence Design Systems, Inc. Block interstitching using local preferred direction architectures, tools, and apparatus
US6802026B1 (en) * 2001-05-15 2004-10-05 Xilinx, Inc. Parameterizable and reconfigurable debugger core generators
US6701508B1 (en) * 2001-11-19 2004-03-02 Cypress Semiconductor Corporation Method and system for using a graphics user interface for programming an electronic device
US7010773B1 (en) 2001-11-19 2006-03-07 Cypress Semiconductor Corp. Method for designing a circuit for programmable microcontrollers
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
CN1647082B (zh) 2002-04-17 2010-04-21 富士通株式会社 集成电路开发方法
US7373638B1 (en) * 2002-08-16 2008-05-13 Coware, Inc. Automatic generation of structure and control path using hardware description language
US7729898B1 (en) * 2002-10-17 2010-06-01 Altera Corporation Methods and apparatus for implementing logic functions on a heterogeneous programmable device
US7159204B2 (en) * 2003-01-28 2007-01-02 Altera Corporation System and method for design entry and synthesis in programmable logic devices
US7458055B2 (en) 2003-02-19 2008-11-25 Diversified Systems, Inc. Apparatus, system, method, and program for facilitating the design of electronic assemblies
US6880139B2 (en) 2003-02-20 2005-04-12 Sun Microsystems, Inc. Electromigration risk analysis in integrated circuit power interconnect systems using pseudo dynamic simulation
US7068068B2 (en) * 2003-03-18 2006-06-27 Innovel Technology, Inc. Re-configurable mixed-mode integrated circuit architecture
US6959428B2 (en) 2003-06-19 2005-10-25 Lsi Logic Corporation Designing and testing the interconnection of addressable devices of integrated circuits
US7500228B2 (en) * 2003-07-18 2009-03-03 Agere Systems Inc. System and method for automatically generating a hierarchical register consolidation structure
US7239993B2 (en) * 2003-08-28 2007-07-03 International Business Machines Corporation Method, system and program product that automatically generate coverage instrumentation for configuration constructs within a digital system
US7437719B2 (en) * 2003-09-30 2008-10-14 Intel Corporation Combinational approach for developing building blocks of DSP compiler
US7506288B1 (en) 2004-03-26 2009-03-17 Jasper Design Automation, Inc. Interactive analysis and debugging of a circuit design during functional verification of the circuit design
US7302667B1 (en) * 2004-04-15 2007-11-27 Altera Corporation Methods and apparatus for generating programmable device layout information
US20050246599A1 (en) 2004-04-30 2005-11-03 Texas Instruments Incorporated System and method for testing input and output characterization on an integrated circuit device
US7620942B1 (en) * 2004-05-20 2009-11-17 Xilinx, Inc. Method and system for parameterization of imperative-language functions intended as hardware generators
FR2870955B1 (fr) 2004-05-26 2006-08-11 Temento Systems Debogueur d'un circuit electronique fabrique a partir d'un programme en langage de description de materiel
US7472369B1 (en) * 2004-06-03 2008-12-30 Altera Corporation Embedding identification information on programmable devices
ES2246717B2 (es) 2004-08-06 2006-11-16 Andres Quinta Cortiñas Vivero sumergible perfeccionado.
US7546571B2 (en) 2004-09-08 2009-06-09 Mentor Graphics Corporation Distributed electronic design automation environment
US7562347B2 (en) 2004-11-04 2009-07-14 Sap Ag Reusable software components
US20060171104A1 (en) 2005-02-01 2006-08-03 Sap Aktiengesellschaft Portable device with programmable housing
US7275232B2 (en) * 2005-04-01 2007-09-25 Altera Corporation Methods for producing equivalent field-programmable gate arrays and structured application specific integrated circuits
US7784005B1 (en) 2005-06-14 2010-08-24 Xilinx, Inc. Electronic circuit design viewer
US7562001B2 (en) 2005-07-29 2009-07-14 International Business Machines Corporation Creating a behavioral model of a hardware device for use in a simulation environment
US7345508B1 (en) * 2006-01-24 2008-03-18 Xilinx, Inc. Programmable logic device having a programmable selector circuit
US7526742B1 (en) 2006-01-31 2009-04-28 Xilinx, Inc. One-pass method for implementing a flexible testbench
US8402409B1 (en) * 2006-03-10 2013-03-19 Xilinx, Inc. Method and apparatus for supporting run-time reconfiguration in a programmable logic integrated circuit
US7705628B1 (en) * 2006-03-31 2010-04-27 Altera Corporation Programmable logic device having logic elements with dedicated hardware to configure look up tables as registers
US7368940B1 (en) * 2006-06-08 2008-05-06 Xilinx, Inc. Programmable integrated circuit with selective programming to compensate for process variations and/or mask revisions
US7574688B1 (en) * 2006-06-09 2009-08-11 Xilinx, Inc. Using high-level language functions in HDL synthesis tools
GB2439579A (en) * 2006-06-30 2008-01-02 Advanced Risc Mach Ltd Target device programmer
US7541950B2 (en) * 2006-07-20 2009-06-02 Samplify Systems, Inc. Enhanced time-interleaved A/D conversion using compression
US7856546B2 (en) * 2006-07-28 2010-12-21 Drc Computer Corporation Configurable processor module accelerator using a programmable logic device
US20090128189A1 (en) 2007-11-19 2009-05-21 Raminda Udaya Madurawe Three dimensional programmable devices
US7873934B1 (en) * 2007-11-23 2011-01-18 Altera Corporation Method and apparatus for implementing carry chains on field programmable gate array devices
US7904850B2 (en) * 2007-11-30 2011-03-08 Cebatech System and method for converting software to a register transfer (RTL) design
US7765512B1 (en) * 2008-03-25 2010-07-27 Xilinx, Inc. Relocatable circuit implemented in a programmable logic device
KR20100010203A (ko) 2008-07-22 2010-02-01 볼보 컨스트럭션 이키프먼트 홀딩 스웨덴 에이비 건설장비용 노이즈 싸일런서
US8448150B2 (en) * 2008-11-21 2013-05-21 Korea University Industrial & Academic Collaboration Foundation System and method for translating high-level programming language code into hardware description language code
US8453080B2 (en) * 2008-12-16 2013-05-28 International Business Machines Corporation Model build in the presence of a non-binding reference
DE102009005399B4 (de) * 2009-01-19 2024-02-08 Phoenix Contact Gmbh & Co. Kg Verfahren und Kommunikationssystem zum Konfigurieren eines einen Logikbaustein enthaltenden Kommunikationsmoduls
US8125360B1 (en) * 2009-05-10 2012-02-28 Cypress Semiconductor Corporation On-chip calibration method
US8547135B1 (en) * 2009-08-28 2013-10-01 Cypress Semiconductor Corporation Self-modulated voltage reference
US8479135B2 (en) * 2009-12-15 2013-07-02 Apple Inc. Automated framework for programmable logic device implementation of integrated circuit design
EP3133737B1 (en) * 2010-08-18 2019-05-01 Analog Devices, Inc. Charge sharing analog computation circuitry and applications
US8555217B1 (en) 2011-06-20 2013-10-08 Lattice Semiconductor Corporation Integrated circuit design software with cross probing between tool graphical user interfaces (GUIs)
JP2013250250A (ja) * 2012-06-04 2013-12-12 Advantest Corp テスターハードウェアおよびそれを用いた試験システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030192032A1 (en) * 1998-02-17 2003-10-09 National Instruments Corporation System and method for debugging a software program
US20030131325A1 (en) * 1999-11-30 2003-07-10 Bridges2Silicon, Inc. Method and user interface for debugging an electronic system
US20060036988A1 (en) * 2001-06-12 2006-02-16 Altera Corporation Methods and apparatus for implementing parameterizable processors and peripherals
CN1491394A (zh) * 2001-08-14 2004-04-21 ���ܿ���ϵͳ���޹�˾ 时序不灵敏及无假信号逻辑系统和方法
CN101149765A (zh) * 2007-11-09 2008-03-26 北京航空航天大学 高可靠性数字集成电路设计方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363567A (zh) * 2018-02-12 2018-08-03 盛科网络(苏州)有限公司 一种基于数据库的验证平台激励器自动化生成方法
CN112154413A (zh) * 2019-08-20 2020-12-29 深圳市大疆创新科技有限公司 配置文件生成方法及装置、存储介质
WO2021031110A1 (zh) * 2019-08-20 2021-02-25 深圳市大疆创新科技有限公司 配置文件生成方法及装置、存储介质

Also Published As

Publication number Publication date
US8752033B2 (en) 2014-06-10
US20130125089A1 (en) 2013-05-16
US9575748B2 (en) 2017-02-21
CN102422263B (zh) 2016-03-30
WO2010129909A1 (en) 2010-11-11
US20140245263A1 (en) 2014-08-28
US20100287571A1 (en) 2010-11-11

Similar Documents

Publication Publication Date Title
CN102422263B (zh) 开发、编程和除错环境
US20120005693A1 (en) Development, Programming, and Debugging Environment
US7340693B2 (en) System for designing re-programmable digital hardware platforms
US20170115969A1 (en) System and method for automatically generating device drivers for run time environments
KR20110124617A (ko) 시스템-온-칩 및 그것의 디버깅 방법
CN103544122B (zh) 一种接口自适应匹配的协同系统及其协同方法
TW201341811A (zh) 主機板測試裝置及其轉接模組
US11250193B1 (en) Productivity platform using system-on-chip with programmable circuitry
CN113849433B (zh) 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质
Giammarini et al. System-level energy estimation with Powersim
CN105335548A (zh) 一种用于ice的mcu仿真方法
US10387584B1 (en) Streaming on hardware-software platforms in model based designs
US8639853B2 (en) Programmable waveform technology for interfacing to disparate devices
US20200387659A1 (en) Point-to-point module connection interface for integrated circuit generation
US20050021305A1 (en) Various methods and apparatuses for interfacing of a protocol monitor to protocol checkers and functional checkers
CN1312583C (zh) 仿真装置和仿真方法
Sahu et al. Design and verification of APB IP core using different verification methodologies
Griffin Designing a custom axi-lite slave peripheral
CN101989222B (zh) 一种龙芯仿真器终端
CN102495770B (zh) 一种用于计算机内存故障分析的方法及系统
JP2015005844A (ja) 再構成可能素子、再構成装置及び再構成方法
US10635769B1 (en) Hardware and software event tracing for a system-on-chip
Sinha et al. Verification analysis of AHB-LITE protocol with coverage
Canta Design of an optimized audio framework for portable digital MEMS microphones evaluation
Ardalan et al. Radiation Hardened Very Low Power ASICs for Satellite Command Control and Data Handling (C&DH) and Sensor Integration

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