Nothing Special   »   [go: up one dir, main page]

US8451035B2 - Synthesizable DLL on system-on-chip - Google Patents

Synthesizable DLL on system-on-chip Download PDF

Info

Publication number
US8451035B2
US8451035B2 US12/969,220 US96922010A US8451035B2 US 8451035 B2 US8451035 B2 US 8451035B2 US 96922010 A US96922010 A US 96922010A US 8451035 B2 US8451035 B2 US 8451035B2
Authority
US
United States
Prior art keywords
delay
synthesizable
signal
module
input
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.)
Active, expires
Application number
US12/969,220
Other versions
US20110140748A1 (en
Inventor
Prateek Sikka
Rajesh Chopra
Manoj Yadav
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.)
STMICROELECTRONICS INTERNATIONAL NV
STMicroelectronics International NV
Original Assignee
STMicroelectronics International NV
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 STMicroelectronics International NV filed Critical STMicroelectronics International NV
Assigned to STMICROELECTRONICS PVT. LTD. reassignment STMICROELECTRONICS PVT. LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHOPRA, RAJESH, SIKKA, PRATEEK, YADAV, MANOJ
Publication of US20110140748A1 publication Critical patent/US20110140748A1/en
Assigned to STMICROELECTRONICS INTERNATIONAL NV reassignment STMICROELECTRONICS INTERNATIONAL NV ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: STMICROELECTRONICS PVT. LTD.
Application granted granted Critical
Publication of US8451035B2 publication Critical patent/US8451035B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Definitions

  • the present disclosure relates to emulation of system-on-a-chip (SoC) devices for debugging, and, more specifically, to provide emulation capability for SoCs.
  • SoC system-on-a-chip
  • SoC System-On-Chip
  • DSP Digital signal processing
  • ARM Advanced RISC Machine
  • Emulation is a process used in debugging hardware/software interactions or interfaces, as well as debugging software failures.
  • the standard hardware used for this purpose is called emulators.
  • a software tool chain (available from emulator vendor) analyzes the HDL (Hardware Description Language) design, synthesizes and optimizes the design.
  • the emulation database thus created is used by a user to emulate his design and verify its functionality at a much faster pace than the conventional PC (personal computer) based simulators.
  • the emulation hardware engines may have different architectures. Typically they may be FPGA (Field Programmable Gate array), LUT (Look-Up-Table) or high performance CPU (Central Processing Unit) array based structures.
  • mapping of a design on an emulator has many advantages.
  • One advantage is design speedup.
  • the analog components present on the SoC are not synthesizable in the normal emulation flow.
  • DDR SDRAM Double-Data-Rate Synchronous Dynamic Random Access Memory
  • reading a DDR SDRAM memory requires a finite delay on several signals such as clock, data strobes etc.
  • the delay is provided on these signals by the DDR controller and pad logic architecture present on the chip.
  • delay is inserted by an on chip delay element such as a DLL (Delay locked loop).
  • DLL Delay locked loop
  • a digital DLL is used.
  • the digital DLL works on a digital locking technique and replaces analog DLLs but again, the emulation process is affected by other non-synthesizable components like digital phase detectors, etc.
  • These implementations also require additional jitter control circuitries, which have no meaning for emulation systems.
  • An apparatus may be summarized as including an analog delay locked loop module having an input and an output; a synthesizable delay logic module having an input and an output, the synthesizable delay logic module input coupled to the analog delay locked loop module input; and a selection logic having at least two inputs and an output, a first input of the selection logic operatively coupled to the analog delay locked loop module output and a second input of the selection logic coupled to the synthesizable delay logic module output, the selection logic configured to pass one of the at least two inputs to the selection logic output.
  • the selection logic may be a multiplexer.
  • the synthesizable delay logic may include a plurality of delay gates coupled in series; and a multiplexer coupled to the output of each delay gate.
  • the multiplexer may have a selection line bus signal coupled to a programmed signal.
  • the analog delay locked loop module and the synthesizable delay logic module may be electrically configured in parallel.
  • the analog delay locked loop module, the synthesizable delay logic module, and the selection logic may be circuits in a system-on-a-chip.
  • the analog delay locked loop module, the synthesizable delay logic module, and the selection logic may be circuits in a system-on-chip, a memory controller, e.g., DDR SDRAM memory control circuit, or some other circuit.
  • a method of emulation in a system-on-a-chip may be summarized as including disabling operation of an analog delay locked loop module; enabling operation of a synthesizable delay logic module; delaying a signal that is input into the synthesizable delay logic module; providing a first selection signal to a first selection logic to direct the enabling and disabling; and providing a second selection signal to a second selection logic to direct the delaying.
  • Providing the first selection signal may include coupling a signal to a multiplexer, the multiplexer configured to pass either a signal from the analog delay locked loop module or a signal from the synthesizable delay logic module.
  • the delaying may include passing the signal to an input of a first delay gate of a series of delay gates; passing the signal through the remaining delay gates of the series of delay gates, the input of each remaining delay gate of the series coupled to the output of a previous delay gate of the series; and selecting the output of one delay gate of the series as the output of the synthesizable delay logic module.
  • Providing the second selection signal may include coupling an n-bit signal to a multiplexer, the multiplexer configured to implement the selecting of the output of one delay gate of the series as the output of the synthesizable delay logic module.
  • Coupling the n-bit signal may include coupling a signal of at least 5 bits.
  • the method of emulation in a system-on-a-chip may further include enabling operation of the analog delay locked loop module in a normal mode; and disabling operation of the synthesizable delay logic module after operation in an emulation mode.
  • the method of emulation in a system-on-a-chip may further include providing a clock input to the synthesizable delay logic module; and delaying the signal that is input to the synthesizable delay logic module by a selectable number of clock cycles, the selectable number of clock cycles determined by the second selection signal.
  • the disabling, enabling, providing the first selection signal, and providing the second selection signal may all occur without powering down the system-on-a chip. Delaying the signal may include delaying a data strobe signal.
  • Another embodiment of the invention may be summarized as a computer readable device storing instructions that are executable by a processor to cause an electronic device to disable operation of an analog delay locked loop module; enable operation of a synthesizable delay logic module; delay a signal that is input into the synthesizable delay logic module; provide a first selection signal to a first selection logic to direct the enabling and disabling; and provide a second selection signal to a second selection logic to direct the delaying.
  • the instructions executable by said processor may further cause the electronic device to pass the signal to an input of a first delay gate of a series of delay gates; pass the signal through the remaining delay gates of the series of delay gates, the input of each remaining delay gate of the series coupled to the output of a previous delay gate of the series; and select the output of one delay gate of the series as the output of the synthesizable delay logic module.
  • the instructions executable by said processor may further cause the electronic device to enable operation of the analog delay locked loop module in a normal mode; and disable operation of the synthesizable delay logic module after operation in an emulation mode.
  • the instructions executable by said processor may further cause the electronic device to provide a clock input to the synthesizable delay logic module; and delay the signal that is input to the synthesizable delay logic module by a selectable number of clock cycles, the selectable number of clock cycles determined by the second selection signal.
  • FIG. 1 illustrates a system-on-a-chip which discloses an integration of analog delay logic and synthesizable delay logic according to an embodiment of the present disclosure.
  • FIG. 2 illustrates internal architecture of synthesizable delay logic according to an embodiment of the present disclosure.
  • FIG. 3 illustrates the simulation results of the synthesizable delay logic according to the present disclosure.
  • FIG. 4 illustrates a flow chart of a method for emulation in a system-on-a-chip according to the present disclosure.
  • the present disclosure describes a system-on-a-chip (SoC) used for debugging the hardware/software interaction.
  • SoC system-on-a-chip
  • the system-on-a-chip (SoC) includes an analog delay locked loop module configured with a synthesizable delay logic module in parallel. Inputs of the analog delay locked loop module and synthesizable delay logic module are coupled with each other. Further, selection logic is provided to select any one of the module at a time.
  • Another embodiment of the present disclosure illustrates a system-on-a-chip comprising: an analog delay locked loop module; a synthesizable delay logic module having its input coupled to the input of said analog delay locked loop module; and a selection logic operatively coupled to the output of said analog delay locked loop module and synthesizable delay logic module configured to provide one of said outputs.
  • the synthesizable delay logic comprises a plurality of delay gates coupled in front-to-back series arrangement and the outputs of the delay gates are coupled to a multiplexer. The selection line of the multiplexer is programmed to select the outputs of the gates.
  • a DDR SDRAM memory comprising: an analog delay locked loop module; a synthesizable delay logic module having its input coupled to the input of said analog delay locked loop module; and a selection logic operatively coupled to the output of said analog delay locked loop module and synthesizable delay logic module configured to provide one of said outputs.
  • the synthesizable delay logic comprises a plurality of delay gates coupled in front-to-back series arrangement and the outputs of the delay gates are coupled to a multiplexer. The selection line of the multiplexer is programmed to select the outputs of the gates.
  • Another embodiment of the present disclosure illustrates a method for emulation in a system-on-a-chip comprising: providing an analog delay locked loop module; providing a synthesizable delay logic module; and selecting said analog delay locked module during normal operation and said synthesizable module during emulation.
  • FIG. 1 illustrates a system-on-a-chip which discloses an integration of analog delay logic and synthesizable delay logic according to an embodiment of the present disclosure.
  • An analog delay logic module 101 is coupled in parallel to a synthesizable delay logic module 102 .
  • the data strobe signal DQS coming from memory is made as a common input to both analog delay logic module 101 and synthesizable delay logic module 102 .
  • the outputs of the analog delay logic module 101 and synthesizable delay logic module 102 are multiplexed as an input to selection logic 103 .
  • the selection logic 103 is a type of 2-in-1 multiplexer. The select pin or mode pin of the multiplexer is programmed to function accordingly.
  • FIG. 2 illustrates internal architecture of synthesizable delay logic 102 according to an embodiment of the present disclosure.
  • the synthesizable delay logic 102 is a chain of delay gates (or D Flip-Flops) 201 , coupled in a cascade mode (or in front-to-back arrangement).
  • the output of each the delay gates 201 are further multiplexed to a multiplexer 202 .
  • the selection line of the multiplexer 202 is programmed to select the output from the delay gates 201 .
  • the present disclosure provides a controllable delay to the strobe signal (e.g., from the memory), with respect to the clock, while performing emulation.
  • the synthesizable delay logic 102 is configured in parallel with analog delay logic 101 and is programmed respectively to provide delay solutions for emulation platforms.
  • the real silicon may continue to use the analog DLL for other functions because of its inherent stability and accuracy.
  • the present synthesizable delay logic accepts an input signal which passes through a chain of D flip flops (i.e., shift register) and is delayed by a specific number of clock cycles (m). The delay in number of clock cycles (m) is controlled by a DLL_PRG_SEL signal.
  • DLL_PRG_SEL is a signal which specifies the amount of delay in terms of clock cycles on the input signal. For example, if we use an ‘n’ bit shift register along with a multiplexer, the maximum delay is ‘n’ clock cycles and minimum delay is zero. The signal is delayed at various tap points in the circuit and is available at the multiplexer input. The selection of the multiplexer is done by programming input bits depending on the value of DLL_PRG_SEL.
  • the pin details of synthesizable delay logic are mentioned in the following Table 1.
  • the input pin DLL_CLK receives clock input.
  • the input pin DLL_SIGIN receives the signal which is to be delayed.
  • the input pin DLL_RESETN receives an active low signal to reset the design.
  • the input pin DLL_PRG_SEL is a delay select line.
  • the pin DLL_SIGOUT provides the final output as a delayed signal.
  • the delay values for pin DLL_PRG_SEL of synthesizable delay logic are mentioned in the following Table 2.
  • FIG. 3 illustrates the simulation results of the synthesizable delay logic according to an embodiment of the present disclosure.
  • the present design maintains output signal at zero till the reset signal (DLL_RESETN) is de-asserted.
  • DLL_RESETN reset signal
  • the design clock is in running state and DLL_RESETN is in de-asserted state, then the DLL_PRG_SEL value is at “00” state.
  • DLL_SIGOUT follows the DLL_SIGIN without any delay as shown in Region 301 .
  • the DLL_PRG_SEL value is switched to “01” then the DLL_SIGOUT, being a function of DLL_SIGIN, is delayed by one clock cycle as shown in Region 302 .
  • the DLL_PRG_SEL value is switched to “04” then the DLL_SIGOUT is a function of DLL_SIGIN is delayed by 4 clock cycles as shown in Region 303 .
  • the DLL_PRG_SEL signal value is ‘k’ in hexadecimal, then the output signal DLL_SIGOUT, being a function of input signal DLL_SIGIN, is delayed by ‘k’ clock cycles.
  • Embodiments of the method for emulation in a system-on-a-chip are described in FIG. 4 .
  • the methods are illustrated as a collection of blocks in a logical flow graph, which represents a sequence of operations that can be implemented in hardware, software, or a combination thereof.
  • the order in which the process is described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order to implement the process, or an alternate process.
  • FIG. 4 illustrates a flow chart of a method for emulation in a system-on-a-chip according to an embodiment of the present disclosure.
  • the step 401 provides an analog delay locked loop module.
  • the step 402 provides a synthesizable delay logic module.
  • the step 403 states selection of said analog delay locked module during normal operation and said synthesizable module during emulation.
  • the present disclosure provides an emulator mapping process for the SoC.
  • the implementation reduces manual intervention and makes the emulation mapping process very generic and technology independent and hence helps in reducing overall project cycle time.
  • the design is fully digital and fully synthesizable.
  • the total delay available is controllable by run time command (programming bits) and granularity (minimum delay) is controllable by clock frequency change, which is also under user control for emulation systems.
  • the present disclosure is applicable to various kinds of electronic architectures for improving the function and performance of conventional analog DLLs.
  • Analog DLLs have been proposed for various types of memories and circuits. Such DLLs are used for various applications like clock recovery, synchronizing the data from memory with system clock, etc.
  • Embodiments of the present disclosure can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and methods can be performed by a programmable processor executing a program of instructions to perform functions of the present disclosure by operating on input data and generating output.
  • the present disclosure can be implemented advantageously on a programmable system including at least one input device, and at least one output device.
  • Each computer program can be implemented in a high-level procedural or object-oriented programming language or in assembly or machine language, if desired; and in any case, the language can be a compiled or interpreted language.
  • Suitable processors include, by way of example, both general and specific microprocessors.
  • a processor will receive instructions and data from a read-only memory and/or a random access memory.
  • a computer will include one or more mass storage devices for storing data file; such devices include magnetic disks and cards, such as internal hard disks, and removable disks and cards; magneto-optical disks; and optical disks.
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of volatile and non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; CD-ROM and DVD-ROM disks; and buffer circuits such as latches and/or flip flops. Any of the foregoing can be supplemented by, or incorporated in ASICs (application-specific integrated circuits), FPGAs (field-programmable gate arrays) and/or DSPs.
  • ASICs application-specific integrated circuits
  • FPGAs field-programmable gate arrays
  • DSPs digital signal processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

The present disclosure provides an emulator mapping process on a system-on-a-chip (SoC) for debugging. The implementation reduces manual intervention and makes the emulation mapping process very generic and technology independent and hence it reduces overall project cycle time. In the present disclosure, the SoCs containing analog delay locked loops are made suitable for emulation by configuring analog delay locked loop module in parallel with a synthesizable delay logic module. Further, selection logic is provided to select any one of the module at a time.

Description

BACKGROUND
1. Technical Field
The present disclosure relates to emulation of system-on-a-chip (SoC) devices for debugging, and, more specifically, to provide emulation capability for SoCs.
2. Description of the Related Art
A System-On-Chip (SoC) with embedded cores, such as DSP (Digital signal processing) core or ARM (Advanced RISC Machine) core, typically has the capability for emulation. Emulation is a process used in debugging hardware/software interactions or interfaces, as well as debugging software failures. The standard hardware used for this purpose is called emulators. A software tool chain (available from emulator vendor) analyzes the HDL (Hardware Description Language) design, synthesizes and optimizes the design. The emulation database thus created is used by a user to emulate his design and verify its functionality at a much faster pace than the conventional PC (personal computer) based simulators. The emulation hardware engines may have different architectures. Typically they may be FPGA (Field Programmable Gate array), LUT (Look-Up-Table) or high performance CPU (Central Processing Unit) array based structures.
At present, the role of emulation is growing rapidly in the integrated circuit design. Simulation of close to real chip scenarios and timely fixing of design bugs in the design cycle further drives the need for availability of an emulation platform at a very early stage in the design cycle. The mapping of a design on an emulator has many advantages. One advantage is design speedup. Yet, there are several issues while mapping the process of a mixed signal design on an SoC, especially with the analog components such as PLLs (Phase Locked Loops), DLLs (Delay Locked Loops), audio/video DACs (Digital-to-Analog Converters)/ADCs (Analog-to-Digital Converters). The analog components present on the SoC are not synthesizable in the normal emulation flow.
Considering memory architectures such as those that follow a DDR SDRAM (Double-Data-Rate Synchronous Dynamic Random Access Memory) standard, reading a DDR SDRAM memory requires a finite delay on several signals such as clock, data strobes etc. The delay is provided on these signals by the DDR controller and pad logic architecture present on the chip. However, in case of SoCs, delay is inserted by an on chip delay element such as a DLL (Delay locked loop). The DLLs used for such analog applications are not synthesizable for emulation platforms.
Delays inserted by behavioral statements in HDL (Verilog/VHDL) for such analog components are also ignored by emulation synthesis tools. Synthesis tools for emulators may optimize multiple driven or undriven nets. Hence, care is taken while coding HDL as this may lead to deviation from expected behavior. Another possible technique may be the delay is inserted manually in the desired signal path for emulation. But this technique again is not suitable and decreases the efficiency of the emulation platforms.
In certain cases, a digital DLL is used. The digital DLL works on a digital locking technique and replaces analog DLLs but again, the emulation process is affected by other non-synthesizable components like digital phase detectors, etc. These implementations also require additional jitter control circuitries, which have no meaning for emulation systems.
BRIEF SUMMARY
An apparatus may be summarized as including an analog delay locked loop module having an input and an output; a synthesizable delay logic module having an input and an output, the synthesizable delay logic module input coupled to the analog delay locked loop module input; and a selection logic having at least two inputs and an output, a first input of the selection logic operatively coupled to the analog delay locked loop module output and a second input of the selection logic coupled to the synthesizable delay logic module output, the selection logic configured to pass one of the at least two inputs to the selection logic output.
The selection logic may be a multiplexer. The synthesizable delay logic may include a plurality of delay gates coupled in series; and a multiplexer coupled to the output of each delay gate. The multiplexer may have a selection line bus signal coupled to a programmed signal. The analog delay locked loop module and the synthesizable delay logic module may be electrically configured in parallel. The analog delay locked loop module, the synthesizable delay logic module, and the selection logic may be circuits in a system-on-a-chip. The analog delay locked loop module, the synthesizable delay logic module, and the selection logic may be circuits in a system-on-chip, a memory controller, e.g., DDR SDRAM memory control circuit, or some other circuit.
A method of emulation in a system-on-a-chip may be summarized as including disabling operation of an analog delay locked loop module; enabling operation of a synthesizable delay logic module; delaying a signal that is input into the synthesizable delay logic module; providing a first selection signal to a first selection logic to direct the enabling and disabling; and providing a second selection signal to a second selection logic to direct the delaying.
Providing the first selection signal may include coupling a signal to a multiplexer, the multiplexer configured to pass either a signal from the analog delay locked loop module or a signal from the synthesizable delay logic module. The delaying may include passing the signal to an input of a first delay gate of a series of delay gates; passing the signal through the remaining delay gates of the series of delay gates, the input of each remaining delay gate of the series coupled to the output of a previous delay gate of the series; and selecting the output of one delay gate of the series as the output of the synthesizable delay logic module. Providing the second selection signal may include coupling an n-bit signal to a multiplexer, the multiplexer configured to implement the selecting of the output of one delay gate of the series as the output of the synthesizable delay logic module. Coupling the n-bit signal may include coupling a signal of at least 5 bits.
The method of emulation in a system-on-a-chip may further include enabling operation of the analog delay locked loop module in a normal mode; and disabling operation of the synthesizable delay logic module after operation in an emulation mode. The method of emulation in a system-on-a-chip may further include providing a clock input to the synthesizable delay logic module; and delaying the signal that is input to the synthesizable delay logic module by a selectable number of clock cycles, the selectable number of clock cycles determined by the second selection signal. The disabling, enabling, providing the first selection signal, and providing the second selection signal may all occur without powering down the system-on-a chip. Delaying the signal may include delaying a data strobe signal.
Another embodiment of the invention may be summarized as a computer readable device storing instructions that are executable by a processor to cause an electronic device to disable operation of an analog delay locked loop module; enable operation of a synthesizable delay logic module; delay a signal that is input into the synthesizable delay logic module; provide a first selection signal to a first selection logic to direct the enabling and disabling; and provide a second selection signal to a second selection logic to direct the delaying.
The instructions executable by said processor may further cause the electronic device to pass the signal to an input of a first delay gate of a series of delay gates; pass the signal through the remaining delay gates of the series of delay gates, the input of each remaining delay gate of the series coupled to the output of a previous delay gate of the series; and select the output of one delay gate of the series as the output of the synthesizable delay logic module. The instructions executable by said processor may further cause the electronic device to enable operation of the analog delay locked loop module in a normal mode; and disable operation of the synthesizable delay logic module after operation in an emulation mode. The instructions executable by said processor may further cause the electronic device to provide a clock input to the synthesizable delay logic module; and delay the signal that is input to the synthesizable delay logic module by a selectable number of clock cycles, the selectable number of clock cycles determined by the second selection signal.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
The present disclosure explains the various embodiments of the instant disclosure in the following description, taken in conjunction with the accompanying drawings, wherein:
FIG. 1 illustrates a system-on-a-chip which discloses an integration of analog delay logic and synthesizable delay logic according to an embodiment of the present disclosure.
FIG. 2 illustrates internal architecture of synthesizable delay logic according to an embodiment of the present disclosure.
FIG. 3 illustrates the simulation results of the synthesizable delay logic according to the present disclosure.
FIG. 4 illustrates a flow chart of a method for emulation in a system-on-a-chip according to the present disclosure.
While the disclosure will be described in conjunction with the illustrated embodiment, it will be understood that it is not intended to limit the disclosure to such embodiment. On the contrary, it is intended to cover all alternatives, modifications and equivalents as may be included within the spirit and scope of the disclosure as defined by the appended claims.
DETAILED DESCRIPTION
The embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. However, the present disclosure is not limited to the embodiments. The present disclosure can be modified in various forms. Thus, the embodiments of the present disclosure are only provided to explain more clearly the present disclosure to the ordinarily skilled in the art of the present disclosure. In the accompanying drawings, like reference numerals are used to indicate like components.
The present disclosure describes a system-on-a-chip (SoC) used for debugging the hardware/software interaction. The system-on-a-chip (SoC) includes an analog delay locked loop module configured with a synthesizable delay logic module in parallel. Inputs of the analog delay locked loop module and synthesizable delay logic module are coupled with each other. Further, selection logic is provided to select any one of the module at a time.
Another embodiment of the present disclosure illustrates a system-on-a-chip comprising: an analog delay locked loop module; a synthesizable delay logic module having its input coupled to the input of said analog delay locked loop module; and a selection logic operatively coupled to the output of said analog delay locked loop module and synthesizable delay logic module configured to provide one of said outputs. Further, the synthesizable delay logic comprises a plurality of delay gates coupled in front-to-back series arrangement and the outputs of the delay gates are coupled to a multiplexer. The selection line of the multiplexer is programmed to select the outputs of the gates.
Another embodiment of the present disclosure illustrates, a DDR SDRAM memory comprising: an analog delay locked loop module; a synthesizable delay logic module having its input coupled to the input of said analog delay locked loop module; and a selection logic operatively coupled to the output of said analog delay locked loop module and synthesizable delay logic module configured to provide one of said outputs. Further, the synthesizable delay logic comprises a plurality of delay gates coupled in front-to-back series arrangement and the outputs of the delay gates are coupled to a multiplexer. The selection line of the multiplexer is programmed to select the outputs of the gates.
Another embodiment of the present disclosure illustrates a method for emulation in a system-on-a-chip comprising: providing an analog delay locked loop module; providing a synthesizable delay logic module; and selecting said analog delay locked module during normal operation and said synthesizable module during emulation.
FIG. 1 illustrates a system-on-a-chip which discloses an integration of analog delay logic and synthesizable delay logic according to an embodiment of the present disclosure. An analog delay logic module 101 is coupled in parallel to a synthesizable delay logic module 102. The data strobe signal DQS coming from memory is made as a common input to both analog delay logic module 101 and synthesizable delay logic module 102. Further, the outputs of the analog delay logic module 101 and synthesizable delay logic module 102 are multiplexed as an input to selection logic 103. The selection logic 103 is a type of 2-in-1 multiplexer. The select pin or mode pin of the multiplexer is programmed to function accordingly.
FIG. 2 illustrates internal architecture of synthesizable delay logic 102 according to an embodiment of the present disclosure. The synthesizable delay logic 102 is a chain of delay gates (or D Flip-Flops) 201, coupled in a cascade mode (or in front-to-back arrangement). The output of each the delay gates 201 are further multiplexed to a multiplexer 202. The selection line of the multiplexer 202 is programmed to select the output from the delay gates 201.
Further, the present disclosure provides a controllable delay to the strobe signal (e.g., from the memory), with respect to the clock, while performing emulation. In the present architecture, the synthesizable delay logic 102 is configured in parallel with analog delay logic 101 and is programmed respectively to provide delay solutions for emulation platforms. In addition to this, the real silicon may continue to use the analog DLL for other functions because of its inherent stability and accuracy. The present synthesizable delay logic accepts an input signal which passes through a chain of D flip flops (i.e., shift register) and is delayed by a specific number of clock cycles (m). The delay in number of clock cycles (m) is controlled by a DLL_PRG_SEL signal. DLL_PRG_SEL is a signal which specifies the amount of delay in terms of clock cycles on the input signal. For example, if we use an ‘n’ bit shift register along with a multiplexer, the maximum delay is ‘n’ clock cycles and minimum delay is zero. The signal is delayed at various tap points in the circuit and is available at the multiplexer input. The selection of the multiplexer is done by programming input bits depending on the value of DLL_PRG_SEL.
According to one embodiment in the present disclosure, the pin details of synthesizable delay logic are mentioned in the following Table 1. There are four input pins namely DLL_CLK, DLL_SIGIN, DLL_RESETN, DLL_PRG_SEL [4:0], and one output signal DLL_SIGOUT. The input pin DLL_CLK receives clock input. The input pin DLL_SIGIN receives the signal which is to be delayed. The input pin DLL_RESETN receives an active low signal to reset the design. The input pin DLL_PRG_SEL is a delay select line. The pin DLL_SIGOUT provides the final output as a delayed signal.
TABLE 1
Pin I/O Description
DLL_CLK I Clock to design
DLL_SIGIN I Signal to be delayed
DLL_RESETN I Reset to design, Active Low
DLL_PRG_SEL[4:0] I Delay select line
DLL_SIGOUT O Delayed Signal
According to the present disclosure, the delay values for pin DLL_PRG_SEL of synthesizable delay logic are mentioned in the following Table 2.
TABLE 2
DLL_PRG_SEL DLL_SIGOUT delay
00000 No delay
00001  1 clock cycle
00010  2 clock cycle
- - - - - -
11111 31 clock cycles
FIG. 3 illustrates the simulation results of the synthesizable delay logic according to an embodiment of the present disclosure. The present design maintains output signal at zero till the reset signal (DLL_RESETN) is de-asserted. When the design clock is in running state and DLL_RESETN is in de-asserted state, then the DLL_PRG_SEL value is at “00” state. DLL_SIGOUT follows the DLL_SIGIN without any delay as shown in Region 301. When the DLL_PRG_SEL value is switched to “01” then the DLL_SIGOUT, being a function of DLL_SIGIN, is delayed by one clock cycle as shown in Region 302. When the DLL_PRG_SEL value is switched to “04” then the DLL_SIGOUT is a function of DLL_SIGIN is delayed by 4 clock cycles as shown in Region 303. Hence, when the DLL_PRG_SEL signal value is ‘k’ in hexadecimal, then the output signal DLL_SIGOUT, being a function of input signal DLL_SIGIN, is delayed by ‘k’ clock cycles.
Embodiments of the method for emulation in a system-on-a-chip are described in FIG. 4. The methods are illustrated as a collection of blocks in a logical flow graph, which represents a sequence of operations that can be implemented in hardware, software, or a combination thereof. The order in which the process is described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order to implement the process, or an alternate process.
FIG. 4 illustrates a flow chart of a method for emulation in a system-on-a-chip according to an embodiment of the present disclosure. The step 401 provides an analog delay locked loop module. The step 402 provides a synthesizable delay logic module. And the step 403 states selection of said analog delay locked module during normal operation and said synthesizable module during emulation.
The present disclosure provides an emulator mapping process for the SoC. The implementation reduces manual intervention and makes the emulation mapping process very generic and technology independent and hence helps in reducing overall project cycle time. In some embodiments, the design is fully digital and fully synthesizable. In some embodiments, the total delay available is controllable by run time command (programming bits) and granularity (minimum delay) is controllable by clock frequency change, which is also under user control for emulation systems.
The present disclosure is applicable to various kinds of electronic architectures for improving the function and performance of conventional analog DLLs. Analog DLLs have been proposed for various types of memories and circuits. Such DLLs are used for various applications like clock recovery, synchronizing the data from memory with system clock, etc.
The present disclosure is applicable to many types of on-chip and off chip memories used in various in digital electronic circuitry, or in hardware, firmware, or in computer hardware, firmware, software, or in combination thereof. Embodiments of the present disclosure can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and methods can be performed by a programmable processor executing a program of instructions to perform functions of the present disclosure by operating on input data and generating output. The present disclosure can be implemented advantageously on a programmable system including at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language or in assembly or machine language, if desired; and in any case, the language can be a compiled or interpreted language.
Suitable processors include, by way of example, both general and specific microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data file; such devices include magnetic disks and cards, such as internal hard disks, and removable disks and cards; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of volatile and non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; CD-ROM and DVD-ROM disks; and buffer circuits such as latches and/or flip flops. Any of the foregoing can be supplemented by, or incorporated in ASICs (application-specific integrated circuits), FPGAs (field-programmable gate arrays) and/or DSPs.
It will be apparent to those having ordinary skill in this art that various modifications and variations may be made to the embodiments disclosed herein, consistent with the present disclosure, without departing from the spirit and scope of the present disclosure. Other embodiments consistent with the present disclosure will become apparent from consideration of the specification and the practice of the description disclosed herein.
Although the instant disclosure has been described in connection with the embodiment of the present disclosure illustrated in the accompanying drawings, it is not limited thereto. It will be apparent to those skilled in the art that various substitutions, modifications and changes may be made thereto without departing from the scope and spirit of the disclosure.

Claims (20)

The invention claimed is:
1. An apparatus, comprising:
an analog delay locked loop module having an input and an output;
a synthesizable delay logic module having an input and an output, the synthesizable delay logic module input coupled to the analog delay locked loop module input; and
a selection logic having at least two inputs and an output, a first input of the selection logic operatively coupled to the analog delay locked loop module output and a second input of the selection logic coupled to the synthesizable delay logic module output, the selection logic configured to pass one of the at least two inputs to the selection logic output.
2. The apparatus according to claim 1 wherein the selection logic is a multiplexer.
3. The apparatus according to claim 1 wherein the synthesizable delay logic comprises:
a plurality of delay gates coupled in series; and
a multiplexer coupled to the output of each delay gate.
4. The apparatus according to claim 3 wherein the multiplexer has a selection line bus signal coupled to a programmed signal.
5. The apparatus according to claim 1 wherein the analog delay locked loop module and the synthesizable delay logic module are electrically configured in parallel.
6. The apparatus according to claim 1 wherein the analog delay locked loop module, the synthesizable delay logic module, and the selection logic are circuits in a system-on-a-chip.
7. The apparatus according to claim 1 wherein the analog delay locked loop module, the synthesizable delay logic module, and the selection logic are circuits in a memory control circuit.
8. A method of emulation in a system-on-a-chip, comprising:
disabling operation of an analog delay locked loop module;
enabling operation of a synthesizable delay logic module;
delaying a signal that is input into the synthesizable delay logic module;
providing a first selection signal to a first selection logic to direct the enabling and disabling; and
providing a second selection signal to a second selection logic to direct the delaying.
9. The method according to claim 8 wherein providing the first selection signal includes coupling a signal to a multiplexer, the multiplexer configured to pass either a signal from the analog delay locked loop module or a signal from the synthesizable delay logic module.
10. The method according to claim 8 wherein the delaying comprises:
passing the signal to an input of a first delay gate of a series of delay gates;
passing the signal through the remaining delay gates of the series of delay gates, the input of each remaining delay gate of the series coupled to the output of a previous delay gate of the series; and
selecting the output of one delay gate of the series as the output of the synthesizable delay logic module.
11. The method according to claim 10 wherein providing the second selection signal includes coupling an n-bit signal to a multiplexer, the multiplexer configured to implement the selecting of the output of one delay gate of the series as the output of the synthesizable delay logic module.
12. The method according to claim 11 wherein coupling the n-bit signal includes coupling a signal of at least 5 bits.
13. The method according to claim 8, further comprising:
enabling operation of the analog delay locked loop module in a normal mode; and
disabling operation of the synthesizable delay logic module after operation in an emulation mode.
14. The method according to claim 8, further comprising:
providing a clock input to the synthesizable delay logic module; and
delaying the signal that is input to the synthesizable delay logic module by a selectable number of clock cycles, the selectable number of clock cycles determined by the second selection signal.
15. The method according to claim 8 wherein the disabling, enabling, providing the first selection signal, and providing the second selection signal all occur without powering down the system-on-a chip.
16. The method according to claim 8 wherein delaying the signal includes delaying a data strobe signal.
17. A non-transitory computer readable device storing instructions that are executable by a processor to cause an electronic device to:
disable operation of an analog delay locked loop module;
enable operation of a synthesizable delay logic module;
delay a signal that is input into the synthesizable delay logic module;
provide a first selection signal to a first selection logic to direct the enabling and disabling; and
provide a second selection signal to a second selection logic to direct the delaying.
18. The non-transitory computer readable device of claim 17 wherein the instructions executable by said processor further cause the electronic device to:
pass the signal to an input of a first delay gate of a series of delay gates;
pass the signal through the remaining delay gates of the series of delay gates, the input of each remaining delay gate of the series coupled to the output of a previous delay gate of the series; and
select the output of one delay gate of the series as the output of the synthesizable delay logic module.
19. The non-transitory computer readable device of claim 17 wherein the instructions executable by said processor further cause the electronic device to:
enable operation of the analog delay locked loop module in a normal mode; and
disable operation of the synthesizable delay logic module after operation in an emulation mode.
20. The non-transitory computer readable device of claim 17 wherein the instructions executable by said processor further cause the electronic device to:
provide a clock input to the synthesizable delay logic module; and delay the signal that is input to the synthesizable delay logic module by a selectable number of clock cycles, the selectable number of clock cycles determined by the second selection signal.
US12/969,220 2009-12-15 2010-12-15 Synthesizable DLL on system-on-chip Active 2031-07-25 US8451035B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN2610DE2009 2009-12-15
IN2610/DEL/2009 2009-12-15

Publications (2)

Publication Number Publication Date
US20110140748A1 US20110140748A1 (en) 2011-06-16
US8451035B2 true US8451035B2 (en) 2013-05-28

Family

ID=44142225

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/969,220 Active 2031-07-25 US8451035B2 (en) 2009-12-15 2010-12-15 Synthesizable DLL on system-on-chip

Country Status (1)

Country Link
US (1) US8451035B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8451035B2 (en) * 2009-12-15 2013-05-28 Stmicroelectronics International Nv Synthesizable DLL on system-on-chip
US11748539B1 (en) * 2017-09-28 2023-09-05 Cadence Design Systems, Inc. Converting analog variable delay in real number modeling code to cycle-driven simulation interface code
WO2019133619A1 (en) * 2017-12-28 2019-07-04 Raytheon Company Method and apparatus for enhanced fpga validation using emulation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040183518A1 (en) * 2003-03-19 2004-09-23 Weller Dennis J. Apparatus and method for clock recovery and eye diagram generation
US6999547B2 (en) * 2002-11-25 2006-02-14 International Business Machines Corporation Delay-lock-loop with improved accuracy and range
US20100213992A1 (en) * 2009-02-20 2010-08-26 Samsung Electronics Co., Ltd. Delay locked loop circuit and operation method thereof
US20110140748A1 (en) * 2009-12-15 2011-06-16 Stmicroelectronics Pvt. Ltd. Synthesizable dll on system-on-chip

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999547B2 (en) * 2002-11-25 2006-02-14 International Business Machines Corporation Delay-lock-loop with improved accuracy and range
US20040183518A1 (en) * 2003-03-19 2004-09-23 Weller Dennis J. Apparatus and method for clock recovery and eye diagram generation
US20100213992A1 (en) * 2009-02-20 2010-08-26 Samsung Electronics Co., Ltd. Delay locked loop circuit and operation method thereof
US20110140748A1 (en) * 2009-12-15 2011-06-16 Stmicroelectronics Pvt. Ltd. Synthesizable dll on system-on-chip

Also Published As

Publication number Publication date
US20110140748A1 (en) 2011-06-16

Similar Documents

Publication Publication Date Title
US7673201B1 (en) Recovering a prior state of a circuit design within a programmable integrated circuit
US9081666B2 (en) Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer
US9053257B2 (en) Voltage-aware signal path synchronization
US20170061057A1 (en) Integrated circuit design method reducing clock power and integrated clock gater merged with flip-flops
US10886903B1 (en) Programmable clock skewing for timing closure
US7724028B1 (en) Clocking for a hardwired core embedded in a host integrated circuit device
US7284143B2 (en) System and method for reducing clock skew
JP2015173270A (en) Area and power saving standard cell methodology
US20160042099A1 (en) Behavioral synthesis apparatus, behavioral synthesis method, data processing system including behavioral synthesis apparatus, and non-transitory computer readable medium storing behavioral synthesis program
US8493108B2 (en) Synchronizer with high reliability
US7752592B2 (en) Scheduler design to optimize system performance using configurable acceleration engines
US8451035B2 (en) Synthesizable DLL on system-on-chip
KR101246986B1 (en) Memory device including a memory block having a fixed latency data output
US6014752A (en) Method and apparatus for fully controllable integrated circuit internal clock
US20110158005A1 (en) Data Access Apparatus and Associated Method for Accessing Data Using Internally Generated Clocks
Takizawa et al. A design support tool set for asynchronous circuits with bundled-data implementation on FPGAs
JP2000132265A (en) Microprocessor capable of changing clock and operating
US20170146600A1 (en) Scan Logic For Circuit Designs With Latches And Flip-Flops
US8015531B1 (en) Deferred parameterization
US8949756B2 (en) Debug access with programmable return clock
US9488692B2 (en) Mode based skew to reduce scan instantaneous voltage drop and peak currents
US20210344344A1 (en) No-enable setup clock gater based on pulse
US7685484B2 (en) Methods for the support of JTAG for source synchronous interfaces
US9291676B2 (en) Scan warmup scheme for mitigating di/dt during scan test
US9330217B2 (en) Holdtime correction using input/output block delay

Legal Events

Date Code Title Description
AS Assignment

Owner name: STMICROELECTRONICS PVT. LTD., INDIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SIKKA, PRATEEK;CHOPRA, RAJESH;YADAV, MANOJ;REEL/FRAME:025724/0583

Effective date: 20110113

AS Assignment

Owner name: STMICROELECTRONICS INTERNATIONAL NV, NETHERLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:STMICROELECTRONICS PVT. LTD.;REEL/FRAME:030040/0877

Effective date: 20130306

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8