CN112559437A - 一种调试单元及处理器 - Google Patents
一种调试单元及处理器 Download PDFInfo
- Publication number
- CN112559437A CN112559437A CN201910913771.2A CN201910913771A CN112559437A CN 112559437 A CN112559437 A CN 112559437A CN 201910913771 A CN201910913771 A CN 201910913771A CN 112559437 A CN112559437 A CN 112559437A
- Authority
- CN
- China
- Prior art keywords
- clock
- register
- signal
- enable signal
- control
- 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.)
- Pending
Links
- 238000005070 sampling Methods 0.000 claims description 8
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 18
- 238000000034 method Methods 0.000 description 15
- 238000013461 design Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7817—Specially adapted for signal processing, e.g. Harvard architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Microcomputers (AREA)
Abstract
本发明公开了一种调试单元及处理器。其中调试单元包括:寄存器,适于在时钟信号的控制下对输入数据进行采样;时钟控制单元,适于基于时钟使能信号生成控制信号,以控制时钟信号,来控制寄存器在时钟信号的有效周期内,且控制信号有效时,对输入数据进行采样。本发明一并公开了相应的片上***和包含该片上***的智能设备。
Description
技术领域
本发明涉及处理器领域,尤其涉及一种调试单元及处理器。
背景技术
在芯片设计中,一般会使用时钟门控功能,将当前用不到的逻辑单元的时钟关掉,来达到降低开关功耗的目的。然而,时钟门控功能只能在前期功能仿真的时候使用。后期将设计放入FPGA进行板级测试时,由于FPGA上时钟资源有限,远远无法满足芯片设计过程中对时钟门控的数量需求。因此,在FPGA测试中,无法验证时钟门控功能的准确性。
以Xilinx 7系列FPGA为例,其最多可提供24个时钟区域,同一个时钟区域使用同一个时钟,所以最多可以有24种不同时钟。但是在设计过程中时钟门控的数量远远大于这个数量。显然,为每个时钟门控都提供一个可以独立控制的时钟是不可能的。
鉴于此,迫切需要一种能够适应于FPGA测试的检查芯片电路的时钟门控功能的方案。
发明内容
为此,本发明提供了一种调试单元及处理器,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种调试单元,包括:寄存器,适于在时钟信号的控制下对输入数据进行采样;时钟控制单元,适于基于时钟使能信号生成控制信号,以控制时钟信号,来控制寄存器在时钟信号的有效周期内,且控制信号有效时,对输入数据进行采样。
可选地,在根据本发明的调试单元中,时钟控制单元耦接到寄存器的使能接口,还适于基于时钟使能信号和寄存器的使能信号,生成控制信号;寄存器包括:输入接口,适于接收输入数据,使能接口,适于接收控制信号,时钟接口,适于接收时钟信号,输出接口,适于输出数据。
可选地,在根据本发明的调试单元中,时钟控制单元的输出端耦接到寄存器的输入接口,还适于基于输入的数据和时钟使能信号生成控制信号,控制信号用于控制寄存器的输入数据;寄存器包括:输入接口,适于接收控制信号,使能接口,适于接收寄存器的使能信号,时钟接口,适于接收时钟信号,输出接口,耦接到时钟控制单元的输入端,适于将输出数据输入到时钟控制单元。
可选地,在根据本发明的调试单元中,时钟控制单元包括:与门,其第一输入端适于接收时钟使能信号,其第二输入端适于接收寄存器的使能信号,其输出端耦接到寄存器的使能接口。
可选地,在根据本发明的调试单元中,时钟控制单元包括:数据选择器,适于在时钟使能信号的控制下,选择是否输出寄存器的使能信号至寄存器的使能接口。
可选地,在根据本发明的调试单元中,时钟控制单元包括:数据选择器,适于在寄存器的使能信号的控制下,选择是否输出时钟使能信号至寄存器的使能接口。
可选地,在根据本发明的调试单元中,寄存器适于:在时钟信号的有效周期内,若时钟使能信号和寄存器的使能信号同时为高电平,则对输入数据进行采样;在时钟信号的有效周期内,若时钟使能信号和寄存器的使能信号不同时为高电平,则不对输入数据进行采样。
可选地,在根据本发明的调试单元中,时钟控制单元包括:数据选择器,其第一输入端接收输入数据,其第二输入端接收寄存器的输出数据,适于在时钟使能信号的控制下,选择将输入数据或输出数据输出至寄存器的输入接口。
可选地,在根据本发明的调试单元中,寄存器适于:在时钟信号的有效周期内,若时钟使能信号和寄存器的使能信号同时为高,则对寄存器的输入数据进行采样;在时钟信号的有效周期内,若时钟使能信号为低、且寄存器的使能信号为高,则对寄存器的输出数据进行采样。
根据本发明的还有一个方面,提供了一种处理器,包括:如上所述的调试单元;信号生成单元,适于生成调试信号给调试单元。
可选地,在根据本发明的处理器中,调试信号包括以下信号中的一个或多个:时钟信号、时钟使能信号、寄存器的使能信号。
根据本发明的还有一个方面,提供了一种片上***,包括:如上所述的处理器。
根据本发明的还有一个方面,提供了一种智能设备,包括如上所述的片上***。
根据本发明的方案,利用控制时钟的时钟使能信号来生成控制信号,再将该控制信号与时钟信号一起输入寄存器,以控制寄存器对输入数据的采样。具体地,控制寄存器在时钟信号的有效周期内、且控制信号有效时,对输入数据进行采样。根据本发明的方案可以应用在FPGA测试中,在芯片设计中所有受门控时钟信号控制的寄存器,均可以配置这样的时钟控制单元,来对寄存器的时钟门控功能进行测试。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的处理器100的示意图;
图2示出了根据本发明一个实施例的调试单元110的示意图;
图3示出了根据本发明另一个实施例的调试单元110的示意图;
图4示出了根据本发明又一个实施例的调试单元110的示意图;
图5示出了现有的门控时钟电路图;
图6示出了现有的门控时钟电路在FPGA测试中的时序图;
图7示出了根据本发明实施例所提供的调试单元110在FPGA测试中的时序图;
图8示出了根据本发明再一个实施例的调试单元110的示意图;
图9示出了根据本发明一个实施例的计算机***1200的示意图;
图10示出了根据本发明的一个实施例的片上***(SoC)1500的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的处理器100的示意图。除期望的配置外,如图1所示,处理器100还包括调试单元110和信号生成单元120。调试单元110又包括寄存器112和时钟控制单元114。
信号生成单元120与调试单元110相耦接,生成调试信号给调试单元110。根据一种实施例,调试信号包括以下信号中的一个或多个:时钟信号(记作clk)、时钟使能信号(记作clk_en)、寄存器的使能信号(记作en)。
调试单元110可用来生成控制信号,该控制信号和时钟信号一起,实现时钟门控的功能。即,将控制信号与时钟信号一起,作为一个门控时钟信号。在一种实施例中,若门控时钟信号正确使能,则寄存器112可以准确地进行数据的写入;反之,若门控时钟信号未使能,则寄存器112不会写入新数据。
在根据本发明实施例所设计的调试单元110中,寄存器112接收来自信号生成单元120的时钟信号,并在该时钟信号的控制下对输入数据进行采样;同时,时钟控制单元114基于来自信号生成单元120的时钟使能信号,生成控制信号,用该控制信号来控制时钟信号。在一种实施例中,仅在时钟信号的有效周期内、且控制信号有效时,寄存器112对输入数据进行采样。据此,即可以检查寄存器的时钟门控功能是否有效。
需要说明的是,根据本发明的实现方式,信号生成单元120也可以通过网络与调试单元110相连,并通过网络发送调试信号给调试单元110,来控制调试单元110生成门控时钟信号,实现远端云控制测试。
此外,在根据本发明的实施例中,寄存器112例如为32或者33位的寄存器,其中可以存储由处理器内核写入的数据,不限于此。在FPGA测试中,任何受门控时钟信号控制的寄存器均可使用本方案进行处理,来检查设计中的时钟门控功能是否有效。
以下将结合图2-图4,示出几种根据本发明实施例的调试单元110的示意图,来对调试单元110的结构做进一步说明。
如图2所示,寄存器112包括输入接口1122、使能接口1124、时钟接口1126和输出接口1128。
根据本发明的实施方式,输入接口1122接收输入到寄存器112中的输入数据(记作din)。时钟接口1126接收来自信号生成单元120的时钟信号(记作clk)。使能接口1124耦接到时钟控制单元114,来接收控制信号(记作ctr)。该控制信号是时钟控制单元114基于时钟使能信号(记作clk_en)和寄存器的使能信号(记作en)而生成的。
在一种实施例中,时钟控制单元114包括一个与门。如图2所示,与门的第一输入端接收时钟使能信号clk_en,第二输入端接收寄存器112的使能信号en。这样,通过与门将时钟使能信号clk_en与使能信号en相与,生成控制信号ctr,再经由与门的输出端将控制信号ctr输出至与之耦接的使能接口1124。
这样,在时钟信号clk的有效周期内,若时钟使能信号clk_en和使能信号en同时为高电平,则控制信号ctr为高电平,控制该寄存器112对输入数据din进行采样后,输出数据dout。反之,在时钟信号clk的有效周期内,若时钟使能信号clk_en和使能信号en不同时为高电平,则控制信号ctr为低电平,控制该寄存器112不对输入数据进行采样。也就是说,寄存器112根据控制信号ctr对输入的数据进行更新。
需要说明的是,本发明的实施例并不限于通过将时钟使能信号clk_en和使能信号en相与,来生成控制信号ctr的方式。例如,根据摩根定律,可以将这两个信号相与的方式转换为:
clk_en&en=!(!clk_en+!en),
上式中,&表示与操作,!表示取反操作,+表示或操作。
按照上式,先分别将时钟使能信号clk_en和使能信号en输入非门,得到各自取反后的信号,再将这两个取反后的信号输入一个或非门,得到最终的控制信号ctr。在这种情况下,时钟控制单元114包括两个非门和一个或非门。当然,还可以采用其他方法来对上述将两个信号相与的方式进行转换,本发明的实施例不做过多限制,篇幅所限,此处不再逐一展开描述。
在另一种实施例中,时钟控制单元114包括数据选择器,更进一步地,该数据选择器是一个二选一数据选择器。如图3所示,该数据选择器共有4个端口,其中2个输入端依次接寄存器的使能信号en和0,1个数据选择端接时钟使能信号clk_en,1个输出端耦接到使能接口1124。经数据选择器输出的即为控制信号ctr。在根据本发明的实施例中,该时钟控制单元114可以在时钟使能信号clk_en的控制下,选择是否输出寄存器的使能信号en至寄存器112的使能接口1124。
这样,在时钟信号clk的有效周期内,若时钟使能信号clk_en为高电平,则选择“1”对应的输入端,即寄存器的使能信号en作为输出,当使能信号en为高电平时,控制信号ctr就为高电平,进而控制该寄存器112对输入数据din进行采样,输出数据dout。反之,在时钟信号clk的有效周期内,若时钟使能信号clk_en为高电平、但使能信号en为低电平,则控制信号ctr为低电平,进而控制该寄存器112不对输入数据进行采样。再者,在时钟信号clk的有效周期内,若时钟使能信号clk_en为低电平,则选择“0”对应的输入端,即低电平作为输出,此时,控制信号ctr为低电平,就会控制该寄存器112不对输入数据进行采样。
在又一种实施例中,时钟控制单元114所包括的数据选择器还可以有其他的设计方式。如图4所示,该数据选择器共有4个端口,其中2个输入端依次接时钟使能信号clk_en和0,1个数据选择端接寄存器的使能信号en,1个输出端耦接到使能接口1124。这样,经数据选择器输出的即为控制信号ctr。在根据本发明的实施例中,该时钟控制单元114可以在寄存器的使能信号en的控制下,选择是否输出时钟使能信号clk_en至寄存器112的使能接口1124。
在图4所示的时钟控制单元114中,在时钟信号clk的有效周期内,若寄存器的使能信号en为高电平,则选择“1”对应的输入端,即时钟使能信号clk_en作为输出,当时钟使能信号clk_en为高电平时,控制信号ctr就为高电平,进而控制该寄存器112对输入数据din进行采样,输出数据dout。反之,在时钟信号clk的有效周期内,若寄存器的使能信号en为高电平、但时钟使能信号clk_en为低电平,则控制信号ctr为低电平,进而控制该寄存器112不对输入数据进行采样。再者,在时钟信号clk的有效周期内,若使能信号en为低电平,则选择“0”对应的输入端,即低电平作为输出,此时,控制信号ctr为低电平,控制该寄存器112不对输入数据进行采样。
应当指出,此处所示出的数据选择器的设计仅作为示例,本发明的实施例并不受限于此。基于此处所公开的实施例,本领域技术人员能够想到其它设计方式,利用时钟使能信号clk_en和寄存器的使能信号en,生成控制信号ctr,由该控制信号来替代寄存器原来的使能信号,实现寄存器的时钟门控功能。
任何通过将时钟使能信号clk_en加入寄存器的使能接口1124,实现根据时钟使能信号clk_en来更新数据功能的操作,均在本发明的保护范围之内。
根据本发明的实施方式,在FPGA测试中,通过软件的方法,为芯片设计中所有受门控时钟信号控制的寄存器,均配置对应的时钟控制单元114,以实现如上所述的调试单元110,来对寄存器的时钟门控功能进行测试。
为进一步说明根据本发明实施例的调试单元110在检查时钟门控功能方面的优点,图5示出了现有的门控时钟电路图,以作比较。
如图5所示,将相互耦接的锁存器和与门耦接到寄存器的时钟接口。其中,锁存器的输入信号为时钟使能信号clk_en和对时钟信号clk取反后的信号。与门的输入信号为锁存器的输出信号和时钟信号clk。将与门的输出信号输入到寄存器的时钟接口,以控制该寄存器的时钟门控功能。
图6示出了现有的门控时钟电路在FPGA测试中的时序图。
如图6所示,时钟门控电路只有在门控时钟信号clk_en为高电平时,时钟信号clk才会有效,否则时钟信号clk无效。而且,只有在时钟信号clk有效且寄存器的使能信号en有效的情况下,寄存器才会采样输入数据din。如上图第2个周期,时钟使能信号clk_en已经为高电平,但是寄存器的使能信号en为低电平,此时有时钟信号,但寄存器不会更新输入数据din至输出数据dout。同理,在第4个周期,时钟使能信号clk_en和寄存器的使能信号en均为高电平,此时时钟信号clk和寄存器的使能信号en同时有效,寄存器更新输入数据din至输出数据dout。
假设时钟使能信号clk_en有设计缺陷,导致门控时钟信号在需要更新数据的时候没有更新,在前期测试中没有被发现,之后设计被放入FPGA中进行测试(如压力测试)时,由于没有足够的门控时钟信号,设计会被处理成普通FPGA电路。即,时钟使能信号clk_en不起作用。此时,门控时钟使能功能不会被测试到,寄存器一直更新数据。故,时钟使能信号的设计缺陷问题在FPGA测试中会忽略,更无法得到解决。
图7示出了根据本发明实施例所提供的门控时钟电路(即,调试单元110),在FPGA测试中的时序图。
如图7所示,在时钟信号clk有效时,如第4个周期,若时钟使能信号clk_en和使能信号en同时为高电平,则控制信号ctr为高电平,寄存器采样输入数据din至输出数据dout。
这样,在时钟信号资源紧缺的情况下,FPGA上同一区域内可以使用同一时钟资源,时钟一直有效,但是,可以控制时钟使能信号clk_en和寄存器的使能信号en,当两者同时为高电平时,输入寄存器使能接口的控制信号ctr才为高电平,寄存器才会采样输入数据din;否则,寄存器不采样。
上述方案描述了通过将生成的控制信号输入到寄存器的使能接口(即,将控制信号ctr作为寄存器的门控时钟使能信号),让控制信号ctr和寄存器的使能信号en同时起作用,对输入数据进行采样的方式,实现了寄存器的时钟门控功能。根据本发明的另一些实施方式,还可以通过逻辑控制实现,当控制信号高有效时,采样寄存器的新数据;当控制信号为低电平时,采样寄存器的原始数据,这样,也可以保证寄存器的时钟门控功能。
图8示出了根据本发明再一个实施例的调试单元110的示意图。
如图8所示,时钟控制单元114的输出端耦接到寄存器112的输入接口1122。寄存器112的使能接口1124接收寄存器的使能信号en,寄存器的时钟接口1126接收时钟信号clk,寄存器的输出接口耦接到时钟控制单元114的输入端,将输出数据再输入到时钟控制单元114中。
时钟控制单元114基于输入的数据(即,输入数据din和输出数据dout)和时钟使能信号生成控制信号,该控制信号用于控制寄存器112的输入数据。在一种实施例中,时钟控制单元114包括数据选择器,更进一步地,该数据选择器是一个二选一数据选择器。如图8所示,该数据选择器共有4个端口,其中第一输入端接收寄存器的输入数据din,第二输入端接收寄存器112的输出数据dout,1个数据选择端接时钟使能信号clk_en,1个输出端耦接到输入接口1122。经数据选择器输出的即为控制信号ctr。在根据本发明的实施例中,该时钟控制单元114可以在时钟使能信号clk_en的控制下,选择将输入数据din或输出数据dout输出至寄存器112的输入接口1122。
在图8所示的时钟控制单元114中,在时钟信号clk的有效周期内,若时钟使能信号clk_en为高电平,则选择“1”对应的输入端,即输入数据din输出到寄存器的输入接口1122,此时,若寄存器的使能信号en为高电平(即表示控制信号ctr为高电平),则对输入数据din进行采样,即寄存器112对新数据进行采样。同理,在时钟信号clk的有效周期内,若时钟使能信号clk_en为低电平(即表示控制信号ctr为低电平),则选择“0”对应的输入端,即输出数据dout输出至寄存器的输入接口1122,此时,若寄存器的使能信号en为高,则对输出数据dout进行采样,即寄存器1122对原数据进行采样。
根据本发明的实施方式,在FPGA测试中,可以通过上述方法来实现:当时钟使能信号clk_en和寄存器的使能信号en同时有效时,采样新数据;当时钟使能信号clk_en关闭但寄存器的使能信号en有效时,采样原数据,以此来对寄存器的时钟门控功能进行测试。
应当指出,此处所示出的数据选择器的设计仅作为示例,本发明的实施例并不受限于此。基于此处所公开的实施例,本领域技术人员能够想到其它设计方式,任何通过将时钟使能信号clk_en加入寄存器的输入接口1122,实现根据时钟使能信号clk_en来更新数据功能的操作,均在本发明的保护范围之内。
图9示出了根据本发明一个实施例的计算机***1200的示意图。图9所示的计算机***1200可以应用于膝上型设备、台式机、手持PC、个人数字助理、工程工作站、服务器、网络设备、网络集线器、交换机、嵌入式处理器、数字信号处理器(DSP)、图形设备、视频游戏设备、机顶盒、微控制器、蜂窝电话、便携式媒体播放器、手持设备以及各种其他电子设备。本发明不受限于此,所有可以纳入本说明书中所公开的处理器和/或其它执行逻辑的***都在本发明的保护范围之内。
如图9所示,***1200可以包括一个或多个处理器1210、1215。这些处理器耦接到控制器中枢1220。在一个实施例中,控制器中枢1220包括图形存储器控制器中枢(GMCH)1290和输入/输出中枢(IOH)1250(其可以在分开的芯片上)。GMCH 1290包括与存储器1240和协处理器1245相耦接的存储器控制器和图形控制器。IOH 1250将输入/输出(I/O)设备1260耦接到GMCH 1290。作为选择,存储器控制器和图形控制器集成在处理器中,这样存储器1240和协处理器1245就直接耦接到处理器1210,此时控制器中枢1220仅仅包括IOH1250。
附加处理器1215的任选性质用虚线表示在图9中。每一处理器1210、1215可包括本文中描述的处理核中的一个或多个,并且可以是图1所示的处理器100的某一版本。
存储器1240可以是例如动态随机访问存储器(DRAM)、相变存储器(PCM)或这两者的组合。对于至少一个实施例,控制器中枢1220经由诸如前侧总线(FSB)之类的多分支总线(multi-drop bus)、诸如快速通道互连(QPI)之类的点对点接口、或者类似的连接1295与处理器1210、1215进行通信。
在一个实施例中,协处理器1245是专用处理器,诸如例如高吞吐量MIC处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU、或嵌入式处理器等等。在一个实施例中,控制器中枢1220可以包括集成图形加速器。
在一个实施例中,处理器1210执行控制一般类型的数据处理操作的指令。嵌入在这些指令中的可以是协处理器指令。处理器1210识别如具有应当由附连的协处理器1245执行的类型的这些协处理器指令。因此,处理器1210在协处理器总线或者其他互连上将这些协处理器指令(或者表示协处理器指令的控制信号)发布到协处理器1245。协处理器1245接受并执行所接收的协处理器指令。
图10示出了根据本发明的一个实施例的片上***(SoC)1500的示意图。如图10所示,互连单元1502耦接到应用处理器1510(例如可以包含图1所示的处理器100,图中未示出)、***代理单元1110、总线控制器单元1116、集成存储器控制器单元1114、一个或多个协处理器1520、静态随机存取存储器(SRAM)单元1530、直接存储器存取(DMA)单元1532以及用于耦合至一个或多个外部显示器的显示单元1540。应用处理器1510还可以包括一个或多个核1102A-N的集合以及共享高速缓存单元1106。协处理器1520包括集成图形逻辑、图像处理器、音频处理器和视频处理器。在一个实施例中,协处理器1520包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
另外,上面描述的片上***可以包含在智能设备中,以便在智能设备中实现相应的功能,包括但不限于执行相关控制程序、进行数据分析、运算和处理、网络通信、控制智能设备中的外设等。
这样的智能设备包括专门的智能设备,如移动终端和个人数字终端等,这些设备中包括根据本发明的一个或者多个片上***来进行数据处理,或者对设备中的外设进行控制。
这样的智能设备还包括为了实现特定功能而构造的专门设备,例如智能音箱、和智能显示设备等。这些设备中包括根据本发明的片上***来对音箱和显示设备进行控制,从而赋予音箱和显示设备额外的通信、感知和数据处理等功能。
这样的智能设备还包括各种IoT和AIoT设备。这些设备中包括根据本发明的片上***进行数据处理,例如进行AI运算、数据通信和传输等,从而实现了更加密集且更加智能的设备分布。
这样的智能设备还可以在车辆中使用,例如可以实现为车载设备、或者可以嵌入到车辆中,从而为车辆的智能驾驶提供数据处理能力。
这样的智能设备还可以用于家庭和娱乐领域,例如可以实现为智能音箱、智能空调、智能冰箱、智能显示设备等。这些设备包括根据本发明的片上***来进行数据处理和外设控制,从而实现了家庭和娱乐设备的智能化。
另外,这样的智能设备还可以用于工业领域,例如可以实现为工控设备、感测设备、IoT设备,AIoT设备和制动设备等。这些设备中包括根据本发明的片上***来进行数据处理和外设控制,从而实现了工业设备的智能化。
以上对智能设备的描述仅仅是示意性的,根据本发明的智能设备不受限于此,所有可以利用根据本发明的片上***进行数据处理的智能设备都在本发明的保护范围之内。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (13)
1.一种调试单元,包括:
寄存器,适于在时钟信号的控制下对输入数据进行采样;
时钟控制单元,适于基于时钟使能信号生成控制信号,以控制所述时钟信号,来控制所述寄存器在所述时钟信号的有效周期内,且所述控制信号有效时,对所述输入数据进行采样。
2.如权利要求1所述的调试单元,其中,
所述时钟控制单元耦接到所述寄存器的使能接口,还适于基于所述时钟使能信号和所述寄存器的使能信号,生成控制信号;
所述寄存器包括:
输入接口,适于接收输入数据,
使能接口,适于接收所述控制信号,
时钟接口,适于接收所述时钟信号,
输出接口,适于输出数据。
3.如权利要求1所述的调试单元,其中,
所述时钟控制单元的输出端耦接到所述寄存器的输入接口,还适于基于输入的数据和所述时钟使能信号生成控制信号,所述控制信号用于控制所述寄存器的输入数据;
所述寄存器包括:
输入接口,适于接收所述控制信号,
使能接口,适于接收所述寄存器的使能信号,
时钟接口,适于接收所述时钟信号,
输出接口,耦接到所述时钟控制单元的输入端,适于将输出数据输入到所述时钟控制单元。
4.如权利要求2所述的调试单元,其中,所述时钟控制单元包括:
与门,其第一输入端适于接收所述时钟使能信号,其第二输入端适于接收所述寄存器的使能信号,其输出端耦接到所述寄存器的使能接口。
5.如权利要求2所述的调试单元,其中,所述时钟控制单元包括:
数据选择器,适于在所述时钟使能信号的控制下,选择是否输出所述寄存器的使能信号至所述寄存器的使能接口。
6.如权利要求2所述的调试单元,其中,所述时钟控制单元包括:
数据选择器,适于在所述寄存器的使能信号的控制下,选择是否输出所述时钟使能信号至所述寄存器的使能接口。
7.如权利要求4-6中任一项所述的调试单元,其中,所述寄存器适于:
在所述时钟信号的有效周期内,若所述时钟使能信号和所述寄存器的使能信号同时为高电平,则对所述输入数据进行采样;
在所述时钟信号的有效周期内,若所述时钟使能信号和所述寄存器的使能信号不同时为高电平,则不对所述输入数据进行采样。
8.如权利要求3所述的调试单元,其中,所述时钟控制单元包括:
数据选择器,其第一输入端接收输入数据,其第二输入端接收所述寄存器的输出数据,适于在所述时钟使能信号的控制下,选择将所述输入数据或输出数据输出至所述寄存器的输入接口。
9.如权利要求8所述的调试单元,其中,所述寄存器适于:
在所述时钟信号的有效周期内,若所述时钟使能信号和所述寄存器的使能信号同时为高,则对所述寄存器的输入数据进行采样;
在所述时钟信号的有效周期内,若所述时钟使能信号为低、且所述寄存器的使能信号为高,则对所述寄存器的输出数据进行采样。
10.一种处理器,包括:
如权利要求1-9中任一项所述的调试单元;
信号生成单元,适于生成调试信号给所述调试单元。
11.如权利要求10所述的处理器,其中,
所述调试信号包括以下信号中的一个或多个:时钟信号、时钟使能信号、寄存器的使能信号。
12.一种片上***,包括:
如权利要求10或11所述的处理器。
13.一种智能设备,包括如权利要求12所述的片上***。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910913771.2A CN112559437A (zh) | 2019-09-25 | 2019-09-25 | 一种调试单元及处理器 |
PCT/US2020/049396 WO2021061373A1 (en) | 2019-09-25 | 2020-09-04 | Debugging unit and processor |
US17/013,221 US11755441B2 (en) | 2019-09-25 | 2020-09-04 | Debugging unit and processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910913771.2A CN112559437A (zh) | 2019-09-25 | 2019-09-25 | 一种调试单元及处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112559437A true CN112559437A (zh) | 2021-03-26 |
Family
ID=74879917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910913771.2A Pending CN112559437A (zh) | 2019-09-25 | 2019-09-25 | 一种调试单元及处理器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11755441B2 (zh) |
CN (1) | CN112559437A (zh) |
WO (1) | WO2021061373A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210089419A1 (en) * | 2019-09-25 | 2021-03-25 | Alibaba Group Holding Limited | Debugging unit and processor |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990026620A (ko) * | 1997-09-25 | 1999-04-15 | 윤종용 | 제이태그에 의한 다이나믹램 테스트장치 |
US6145100A (en) * | 1998-03-04 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including timing synchronization logic |
CN101769988A (zh) * | 2008-12-30 | 2010-07-07 | 易视芯科技(北京)有限公司 | 芯片调试方法、***和调试模块 |
US20170097388A1 (en) * | 2015-10-06 | 2017-04-06 | Freescale Semiconductor, Inc. | Lbist debug controller |
US9740234B1 (en) * | 2016-03-31 | 2017-08-22 | Qualcomm Incorporated | On-chip clock controller |
CN109254883A (zh) * | 2017-07-14 | 2019-01-22 | 深圳市中兴微电子技术有限公司 | 一种片上存储器的调试装置及方法 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3684832B2 (ja) * | 1998-03-31 | 2005-08-17 | セイコーエプソン株式会社 | マイクロコンピュータ、電子機器及びデバッグシステム |
US6948098B2 (en) * | 2001-03-30 | 2005-09-20 | Cirrus Logic, Inc. | Circuits and methods for debugging an embedded processor and systems using the same |
US7076748B2 (en) * | 2003-08-01 | 2006-07-11 | Atrenta Inc. | Identification and implementation of clock gating in the design of integrated circuits |
US20060161818A1 (en) * | 2005-01-14 | 2006-07-20 | Ivo Tousek | On-chip hardware debug support units utilizing multiple asynchronous clocks |
JP5467891B2 (ja) * | 2010-02-19 | 2014-04-09 | ルネサスエレクトロニクス株式会社 | 情報処理装置、デバッグ装置、デバッグ方法 |
US8793095B2 (en) * | 2011-03-09 | 2014-07-29 | Intel Corporation | Functional fabric-based test controller for functional and structural test and debug |
CN102214132B (zh) * | 2011-05-16 | 2014-07-02 | 曙光信息产业股份有限公司 | 一种调试龙芯cpu和南北桥芯片的方法和装置 |
CN103095783B (zh) * | 2011-11-08 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 一种调试Web应用的方法及装置 |
CN105450463B (zh) * | 2014-08-26 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 硬件设备的调试方法、装置和*** |
CN106960295B (zh) * | 2016-01-11 | 2020-11-27 | 菜鸟智能物流控股有限公司 | 一种调拨方法及装置、预售*** |
CN106980572B (zh) * | 2016-01-19 | 2021-03-02 | 阿里巴巴集团控股有限公司 | 分布式***的在线调试方法和*** |
CN106990974B (zh) * | 2016-01-21 | 2020-08-18 | 菜鸟智能物流控股有限公司 | 一种app应用更新方法、装置及电子设备 |
CN106997321A (zh) * | 2016-01-25 | 2017-08-01 | 阿里巴巴集团控股有限公司 | Css调试方法及装置 |
CN107179982B (zh) * | 2016-03-09 | 2021-05-04 | 创新先进技术有限公司 | 一种跨进程调试方法和装置 |
CN107844410A (zh) * | 2016-09-18 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 一种分布式集群***的调试方法和装置 |
CN107038060B (zh) * | 2016-09-29 | 2021-02-23 | 创新先进技术有限公司 | 一种页面着色器代码调试方法、装置 |
CN108153920A (zh) * | 2016-12-02 | 2018-06-12 | 恩智浦美国有限公司 | 集成电路设计的rtl阶段期间的时钟门控验证 |
CN108319548A (zh) * | 2017-01-18 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 一种程序代码调试方法和装置 |
CN109086193B (zh) * | 2017-06-13 | 2022-01-21 | 阿里巴巴集团控股有限公司 | 监控方法、装置及*** |
CN107678938A (zh) * | 2017-08-24 | 2018-02-09 | 阿里巴巴集团控股有限公司 | 一种应用程序的调试方法及设备 |
CN109542754B (zh) * | 2017-09-22 | 2021-08-13 | 阿里巴巴集团控股有限公司 | 移动设备的接入方法、应用程序的调试方法、装置和*** |
CN109861950A (zh) * | 2017-11-30 | 2019-06-07 | 阿里巴巴集团控股有限公司 | 设备远程调试方法、装置、设备和存储介质 |
CN110347576B (zh) * | 2018-04-04 | 2023-09-12 | 创新先进技术有限公司 | 伪代码调试方法及装置 |
CN110704295B (zh) * | 2018-07-10 | 2023-04-11 | 阿里巴巴集团控股有限公司 | 一种数据调用方法、装置、设备及*** |
CN109101408B (zh) * | 2018-07-20 | 2021-09-07 | 创新先进技术有限公司 | 联调环境中业务可用性的检测方法和装置 |
CN108933713B (zh) * | 2018-07-20 | 2022-08-26 | 创新先进技术有限公司 | 基于影子链路实现沙箱调试的方法、装置及业务服务器 |
CN110750437B (zh) * | 2018-07-23 | 2023-12-22 | 阿里巴巴集团控股有限公司 | 一种设备调试方法、装置、设备及*** |
CN109582561B (zh) * | 2018-10-16 | 2022-02-08 | 创新先进技术有限公司 | 一种在线可视化编程的调试方法及装置 |
CN111125675B (zh) * | 2018-10-30 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 一种控制调试端口的方法和***、以及测试方法 |
CN111124874B (zh) * | 2018-10-31 | 2024-04-05 | 阿里巴巴集团控股有限公司 | 调试网页的方法、调试服务器以及主控设备 |
CN110414248B (zh) * | 2019-07-11 | 2021-03-12 | 珠海格力电器股份有限公司 | 一种调试微处理器的方法及微处理器 |
CN112559437A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 一种调试单元及处理器 |
CN114666136A (zh) * | 2022-03-23 | 2022-06-24 | 阿里云计算有限公司 | 一种网络攻击行为的检测方法和装置 |
-
2019
- 2019-09-25 CN CN201910913771.2A patent/CN112559437A/zh active Pending
-
2020
- 2020-09-04 US US17/013,221 patent/US11755441B2/en active Active
- 2020-09-04 WO PCT/US2020/049396 patent/WO2021061373A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990026620A (ko) * | 1997-09-25 | 1999-04-15 | 윤종용 | 제이태그에 의한 다이나믹램 테스트장치 |
US6145100A (en) * | 1998-03-04 | 2000-11-07 | Advanced Micro Devices, Inc. | Debug interface including timing synchronization logic |
CN101769988A (zh) * | 2008-12-30 | 2010-07-07 | 易视芯科技(北京)有限公司 | 芯片调试方法、***和调试模块 |
US20170097388A1 (en) * | 2015-10-06 | 2017-04-06 | Freescale Semiconductor, Inc. | Lbist debug controller |
US9740234B1 (en) * | 2016-03-31 | 2017-08-22 | Qualcomm Incorporated | On-chip clock controller |
CN109254883A (zh) * | 2017-07-14 | 2019-01-22 | 深圳市中兴微电子技术有限公司 | 一种片上存储器的调试装置及方法 |
Non-Patent Citations (1)
Title |
---|
郑德春;姚庆栋;刘鹏;余巧燕;: "嵌入式模拟器中的JTAG应用", 浙江大学学报(工学版), no. 01 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210089419A1 (en) * | 2019-09-25 | 2021-03-25 | Alibaba Group Holding Limited | Debugging unit and processor |
US11755441B2 (en) * | 2019-09-25 | 2023-09-12 | Alibaba Group Holding Limited | Debugging unit and processor |
Also Published As
Publication number | Publication date |
---|---|
WO2021061373A1 (en) | 2021-04-01 |
US11755441B2 (en) | 2023-09-12 |
US20210089419A1 (en) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110603528B (zh) | 调试***和方法 | |
US20110078350A1 (en) | Method for generating multiple serial bus chip selects using single chip select signal and modulation of clock signal frequency | |
CN107992390B (zh) | 一种基于片上总线的芯片调试方法 | |
US8914566B2 (en) | Managing interrupts | |
US10481990B2 (en) | Apparatuses and methods for a multiple master capable debug interface | |
CN115146568B (zh) | 一种基于uvm的芯片验证***及验证方法 | |
CN110825436B (zh) | 应用于人工智能芯片的计算方法和人工智能芯片 | |
Yang et al. | A novel bus transfer mode (AS transfer) and a performance evaluation methodology | |
CN111209247A (zh) | 一种集成电路计算设备及计算处理*** | |
CN101237365A (zh) | 一种eda网络实验***及实验方法 | |
US9946823B2 (en) | Dynamic control of design clock generation in emulation | |
CN102369512B (zh) | 数据处理***中具有窥探能力的存储器测试 | |
CN112559437A (zh) | 一种调试单元及处理器 | |
CN108984350B (zh) | 一种中断处理功能验证***和方法 | |
CN112198423A (zh) | Fpga芯片内的测试激励生成单元 | |
CN116521468B (zh) | 一种fpga在线调试方法及支持在线调试的fpga | |
CN112559403B (zh) | 一种处理器及其中的中断控制器 | |
US10691850B1 (en) | Power projection using machine learning | |
CN104572515A (zh) | 跟踪模块、方法、***和片上***芯片 | |
CN113609052A (zh) | 基于fpga和微处理器的芯片模拟***及实现方法 | |
CN114579131A (zh) | 用于获取硬件性能数据的方法、设备和*** | |
CN102402492B (zh) | 一种服务器管理模块和时序控制模块的通信方法 | |
CN210955072U (zh) | 一种集成电路计算设备及计算处理*** | |
US9442788B2 (en) | Bus protocol checker, system on chip including the same, bus protocol checking method | |
US7716533B2 (en) | System and method for trapping bus cycles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |