EP3012648A1 - Dérivation de l'accélération matérielle de décodage à partir d'une description de protocole déclarative - Google Patents

Dérivation de l'accélération matérielle de décodage à partir d'une description de protocole déclarative Download PDF

Info

Publication number
EP3012648A1
EP3012648A1 EP15191296.1A EP15191296A EP3012648A1 EP 3012648 A1 EP3012648 A1 EP 3012648A1 EP 15191296 A EP15191296 A EP 15191296A EP 3012648 A1 EP3012648 A1 EP 3012648A1
Authority
EP
European Patent Office
Prior art keywords
state machine
state
test
breadcrumb
measurement instrument
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
EP15191296.1A
Other languages
German (de)
English (en)
Other versions
EP3012648B1 (fr
Inventor
Edward TANOUS
Keith Rule
James Feist
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.)
Tektronix Inc
Original Assignee
Tektronix Inc
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 Tektronix Inc filed Critical Tektronix Inc
Publication of EP3012648A1 publication Critical patent/EP3012648A1/fr
Application granted granted Critical
Publication of EP3012648B1 publication Critical patent/EP3012648B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/02Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes

Definitions

  • This invention relates to test-and-measurement instruments, and more particularly to ways to recreate the analysis of a bit stream in a test-and-measurement instrument.
  • Embodiments of the invention address this and other problems with the prior art.
  • a state machine Given a regular expression, a state machine can be constructed that represents that regular expression. The state machine can then be used to determine whether a particular input matches the regular expression. If the state machine processes to an acceptable end state, then the input matches the regular expression; otherwise, the input does not match the regular expression.
  • FIG. 1A shows an example of a protocol for a packet of data named "dataPacket", expressed as a regular expression.
  • Protocol 105 describes a packet of data.
  • the system can determine if the packet is found within the bit stream.
  • FIG. 1B shows a state machine that corresponds to the regular expression of FIG. 1A .
  • State machine 110 includes states 115, 120, 125, 130, 135, 140, and 145, with transitions between these states.
  • Each state (which can also be called a node or vertex) describes what data needs to be matched to enter the state (the acceptance criterion).
  • Each arrow is a path that can be traversed provide the target acceptance criterion for the state is met. Aside from start state 115 and success state 145, these states correspond sequentially to the data expected by the packet.
  • state 120 matches a state S within the bit stream
  • state 125 matches three bits of data against the field labeled "begin”
  • state 130 matches four bits of data against the field labeled "addr”
  • so on Assuming that all the data can be matched by the states of state machine 110, when success state 145 is reached, the system can declare that the packet "dataPacket" has been successfully matched.
  • State machine 110 represents a simplified version of the actual state machine. For example, state machine 110 does not label the transitions between the various states, nor does state machine 110 show error states or transitions that are used when data does not match what is expected. A person skilled in the art would understand how state machine 110 operates, even without these details.
  • a state machine can be represented as a quintuple ( ⁇ , S, s 0 , ⁇ , F ), where ⁇ is the alphabet (the set of symbols recognized by the state machine), S is the set of states in the state machine, s 0 is the initial state, ⁇ is the transition function, which maps from each state in S and each symbol in ⁇ to a state in S (which could be the same state as the input state), and F is the set of final states in S .
  • state machine 110 could be more formally represented as ( ⁇ , S, s 0 , ⁇ , F ), where:
  • state machine 110 is not necessarily complete. Transitions typically occur on individual symbols, rather than groups of symbols. Thus, transitioning from state 120 to 125 can actually involve three transitions (and therefore some intermediate states): one for each bit recognized for the field labeled "begin". But as a simplification, a person skilled in the art would understand how state machine 110 operates.
  • a user might want to trigger some process if a particular value is read for a given state in state machine 110. For example, a user might want to trigger a process if the address field stores the value 10 (in binary, 1010; in hexadecimal, A).
  • FIG. 1C shows an example of how state machine 110 can be modified to implement this trigger.
  • state machine 150 instead of matching against any possible value for the address field, state machine 150 compares the bit stream with the specific value 1010 (in state 155). If that value is found, then at state 160, the trigger is considered satisfied, and the trigger causes the process to start (whatever that process might be).
  • states 115 and 120 are the same in state machine 150 as in state machine 110: state 115 is a state in which the state machine starts, and state 120 matches state S from the bit stream. But state 165 is different from state 125, in that state 165 does not care about the particular field being read. Put another way, in state 165 all that matters is that three bits are read from the bit stream. State 155 is also different from state 130, as state 155 is concerned only with matching the particular bit pattern 1010, rather than matching the address field (as in state 130). Finally, once the user condition has been matched, no further matching needs to be done, so state machine 150 does not include analogs to states 135 and 140: the trigger can be issued immediately after the condition is met.
  • FIGs. 1A-1C show a fairly simple example of a regular expression, state machine to match the regular expression, and trigger state machine.
  • Trigger state machines are sometimes referred to simply as "state machines", but from context a person skilled in the art can determine if a particular state machine is a trigger state machine or a state machine to match a regular expression.
  • FIGs 2A-2D show a more complicated example.
  • regular expressions for three different packets are shown. These regular expressions can be converted into a state machine, as shown in FIG. 2B .
  • state machine 205 in FIG. 2B uses a single start state to cover all three possible protocols.
  • State machine 205 can be used as shown. But using state machine 205 as shown would require look-ahead or backtracking, which requires additional memory and can slow down processing of a bit stream. For example, assume that where multiple states can be reached given a particular input, the left-most (as FIG. 2B would be read by a person, rather than how a processor might use state machine 205). For example, note that states 210, 215, and 220 all match Begin states, and states 225, 230, and 235 all match 4 bits as a slaveAddress field. Using a left-most first approach, after reading a Begin state and 4 bits as the slaveAddress field, the system would be in state 225.
  • state machine 205 can be optimized.
  • State machine 240 in FIG. 2C shows an example of an optimized state machine.
  • state machine 240 there is no need to look ahead, and no concern about backtracking.
  • Optimization can be accomplished using the following procedure. Start by walking the tree from the start state and combining the nodes (that is, merge the nodes into a single node) that are equivalent and have the same parent. This process can be repeated until there are no more like nodes to combine. Then find the equivalent Success states, combine them, and then combine nodes that are equivalent and have the same children (again, repeating the process until there are no more like nodes to combine).
  • FIG. 2D shows an example of a particular trigger customized by the user.
  • the user has selected to trigger when the address field (not the slaveAddress field) of a packet in the regular expression is set to the value 0. Since this field does not appear in the packet Register0Write, this entire branch of the state machine can be eliminated from trigger state machine 245. Any value can be matched against the slaveAddress field, after which the bits 0 and 1 must be matched. Any bit can occur after that (although the actual bit would depend on the particular packet being read, trigger state machine 245 does not care which value is received), after which the bits for the address field are received, and can be compared with the value 0. If the value 0 is matched for the address field, then trigger state machine 245 has succeeded, and the trigger can be initiated.
  • trigger condition might depend on only a subset of information from the field in the regular expression. For example, in FIG. 2D , the user might only be interested in whether the middle three bits of the address field are equal to 001: the first and last bit in the address field (which has a total of five bits) can match any value. It is also possible to set a trigger condition that depends merely on reaching a particular state. For example, the user might be interested in knowing when the address field is reached, regardless of its actual value.
  • trigger conditions do not have to be limited to a single criterion (which can be termed a simple trigger condition).
  • the user can specify multiple criteria (compound trigger conditions), combined using AND and OR operators, in any desired combination.
  • the state machine might be testing for multiple conditions, any of which might involve a set of sub-conditions, and so on.
  • a person skilled in the art would know how to simplify the user's provided condition into disjunctive normal form or conjunctive normal form, as desired, which might simplify the design of the state machine.
  • Disjunctive normal form refers to a logical formula expressed as a disjunction of conjunctive clauses: that is, an OR of ANDs. Conjunctive normal form similarly describes an AND of ORs.
  • FIGs. 3A-3B show examples of state machines with compound trigger conditions.
  • Such a trigger condition is a conjunction of the two conditions. Because the trigger condition requires that two states both have specified values, two states in the state machine are set to specific values (as specified by the user); the values for other states are generally not important, and can be combined into a single state.
  • FIGs. 3A-3B give examples involving a single AND or OR combining two possible trigger values. But it should be apparent that the process can be generalized for more complicated trigger conditions. For example, if the trigger condition involves two values joined by an AND operation, or another value (an expression of the form ((X AND Y) OR Z), then the state machine can be copied. One copy can be modified to reflect the first value of the AND operation; a second copy can be modified to reflect the second value of the AND operation; and the third copy can be modified to reflect the other value of the OR operation. The first two state machines can then be combined and optimized as described above to represent the AND operation, and that state machine can then be combined and optimized with the third state machine to represent the compound trigger condition.
  • FIG. 4 shows a test-and-measurement instrument that can create and use the state machines of FIGs. 1B-1C and 2B-2D to trigger the test-and-measurement instrument when various trigger conditions are met, according to an embodiment of the invention.
  • the system can include test-and-measurement instrument 405.
  • Test-and-measurement instrument can be any desired test-and-measurement instrument, such as an oscilloscope, among other possibilities.
  • Test-and-measurement instrument 405 can include memory 410.
  • Memory 410 can store information, such as state machine 415.
  • State machine 415 can be a state machine used to match a regular expression: in other words, a state machine such as state machines 110, 205, and 240 of FIGs. 1B , 2B , and 2C ).
  • State machine 415 can also be a trigger state machine, such as state machines 150 and 245 of FIGs. 1C and 2D .
  • Test-and-measurement instrument 405 can also include receiver 420, which can receive input into test-and-measurement instrument 405.
  • Input can be received in any number of ways.
  • receiver 420 can include a user interface for a user to input information, such as trigger condition 425, which itself can include, for example, user-selected value 430 for a particular bit field.
  • receiver 420 can include receive a signal that includes a bit stream, such as bit stream 435, to be analyzed.
  • Receiver 420 can also receive regular expression 440 (for example, through an integrated development environment (IDE), which can identify the data the system should expect to receive in bit stream 435, and which can be used to construct state machine 415 (be it a state machine to recognize regular expression 440 or a trigger state machine).
  • IDE integrated development environment
  • Test-and-measurement instrument 405 can also include various other units.
  • State machine modifier 445 can take an existing state machine (for example, one that matches data to regular expression 440) and modifies it to operate as a trigger state machine. As discussed above, this can include eliminating states that occur after the trigger condition is satisfied, and combining states whose values are not considered as part of the trigger condition, among other possibilities.
  • Processing engine 450 can process bit stream 435 using various state machines (including, for example, a state machine generated using regular expression 440 or a trigger state machine produced using state machine modifier 445). This processing can include updating the current state for each various state machine, as bits are read from bit stream 435.
  • various state machines including, for example, a state machine generated using regular expression 440 or a trigger state machine produced using state machine modifier 445. This processing can include updating the current state for each various state machine, as bits are read from bit stream 435.
  • Trigger system 455 can send a trigger when the trigger condition is met (that is, when the trigger state machine is satisfied. Trigger system 455 can send the trigger to any desired component of test-and-measurement instrument 405 to perform any action as a result of the trigger, as would be understood by person of ordinary skill in the art.
  • State machine generator 460 can generate a state machine from regular expression 440. As discussed above, this can include creating a sequential series of states that match fields in the order presented in the regular expression. This can also include combining various state machines that match different regular expressions into a single state machine, and optimizing a state machine to avoid look-ahead and backtracking problems.
  • test-and-measurement instrument 405 can also be used to generate breadcrumbs.
  • Breadcrumbs let a user recreate the operation of a state machine, to see how data was processed.
  • Breadcrumbs such as breadcrumb 465, are bits of data that can be stored in memory 410. Essentially, whenever a state in a state machine is entered, a breadcrumb can be saved.
  • a breadcrumb can include data, such as the type of state (e.g., error state, packet start, packet end, or field), an ID for the state (that can identify the field or packet), and a time, such as the start and/or stop time of the data that caused the state entry.
  • time does not have to refer to the literal concept of time (as in seconds or fractions thereof since the start of the signal), but rather can refer to an index into a signal, among other possibilities.
  • Breadcrumbs can also include additional data pertinent to analysis, as appropriate. Therefore, the identification of the data to be included in the breadcrumbs can be user-customized.
  • Breadcrumbs are usually generated using a trigger state machine. But a person skilled in the art will recognize that there is no reason why any other state machine cannot be used to generate breadcrumbs, and therefore breadcrumbs can be generated using any state machine.
  • test-and-measurement instrument 405 can include analyzer 470.
  • Analyzer 470 can analyze bit stream 435 using a state machine. In operation, analyzer 470 is similar to processing engine 450, but their objectives are different. Whereas processing engine 450 is concerned with matching bits from bit stream 435 to attempt to recognize regular expressions, analyzer 470 is concerned with determining when to save a breadcrumb to memory 410. Analyzer 470 and processing engine 450 also typically operate on different state machines: analyzer 470 usually uses (but does not have to use) a trigger state machine, whereas processor 450 uses a full state machine to match a regular expression.
  • Test-and-measurement instrument 405 can also include breadcrumb generator 475.
  • breadcrumb generator 475 can save the breadcrumb to memory 410.
  • test-and-measurement instrument 405 can include re-creator 480.
  • Re-creator 480 permits a user to re-create the operation of the state machine (as processed by analyzer 470) on bit stream 435. This recreation enables the user to follow what happened.
  • Test-and-measurement instrument 405 as described can process either the trigger state machine or the breadcrumb generation, or both. Some test-and-measurement instruments include the necessary hardware and/or software to process multiple state machines. If a test-and-measurement instrument is capable of processing multiple state machines, then test-and-measurement instrument 405 can perform both processing for trigger conditions and breadcrumbs.
  • FIG. 5 shows more detail about the state machine modifier of FIG. 4 .
  • state machine modifier 445 is shown as including state machine optimizer 505.
  • State machine optimizer 505 can optimize a state machine, as described above. Such optimization can be either for a state machine designed to match a regular expression or for a trigger state machine.
  • FIG. 6 shows more detail about the breadcrumbs of FIG. 4 .
  • breadcrumb 465 is shown as including type 605, ID 610, and time 615.
  • type 605 can specify the type of state which generated breadcrumb 465.
  • ID 610 can specify the specific state in the state machine that generated breadcrumb 465.
  • time 615 can specify the time (or index) in the signal when the state generated breadcrumb 465.
  • FIGs. 7A-7B show a flowchart of a procedure for creating a trigger state machine from a protocol and user configuration using the test-and-measurement instrument of FIG. 4 , according to an embodiment of the invention.
  • the system can receive a regular expression.
  • the system can generate a state machine that corresponds to the regular expression.
  • the system can optimize the state machine.
  • the system can identify the state machine corresponding to a regular expression (which can be the same state machine generated in blocks 705-715).
  • the system can receive a trigger condition from the user. This can include, for example, a user-specified value (or part of a value) for a particular field in the regular expression, multiple such user-specified values, or even just a field to be reached, among other possibilities.
  • the system can identify a state (or more than one state) in the state machine that can be modified to implement the trigger condition.
  • the system can modify the identified state(s) to compare with the user-selected value.
  • the system can store the modified state machine.
  • the system can receive a bit stream.
  • the system can process the bit stream using the modified state machine.
  • the system can determine if the trigger condition was met. If so, then at block 755 the system can apply a triggering system.
  • a trigger condition can be a compound trigger condition.
  • the flowchart of the procedure can be modified to reflect the compound nature of the trigger condition.
  • FIG. 8 reflects this change.
  • FIG. 8 modifies blocks 730 and 735 of FIGs. 7A-7B : the other blocks in FIGs. 7A-7B are unmodified and therefore not shown in FIG. 8 .
  • the system identifies states that are implicated by the compound trigger condition.
  • the number of implicated states might be less than the number of simple conditions included in the compound trigger condition.
  • the system replicates the state machine once for each simple trigger condition in the compound trigger condition.
  • an identified state is modified to reflect the comparison with the user-specified value.
  • the modified replicated state machines can be combined to produce a single state machine that reflects the compound trigger condition. At this point, processing can continue with block 740 of FIG. 7B .
  • FIG. 9 shows a flowchart of a procedure for optimizing a state machine using the test-and-measurement instrument of FIG. 4 , according to an embodiment of the invention.
  • the system can remove states that occur after the trigger condition is met.
  • the system can merge adjacent states that can be satisfied by any value into a single state.
  • FIG. 10 shows a flowchart of a procedure for using creating a state machine that can save breadcrumbs using the test-and-measurement instrument of FIG. 4 , according to an embodiment of the invention.
  • the system can receive a regular expression.
  • the system can generate a state machine from the regular expression.
  • the system can optimize the state machine.
  • the system can apply the state machine to a bit stream.
  • the system can save a breadcrumb whenever a state in the state machine is entered.
  • the system can use the saved breadcrumbs to recreate the application of the state machine to the bit stream.
  • Embodiments of the invention can extend to the following statements, without limitation:
  • An embodiment of the invention includes a system, comprising: a test-and-measurement instrument; a memory on the test-and-measurement instrument; a receiver on the test-and-measurement instrument operative to receive a regular expression and a bit stream; a state machine generator to generate a state machine from the regular expression; an analyzer operative to analyze the bit stream using the state machine; and a breadcrumb generator operative to generate and save in the memory a breadcrumb whenever a state in the state machine is entered, wherein the breadcrumb generator is operative to generate a breadcrumb including at least one of a type, an ID, and a time.
  • An embodiment of the invention includes a system, comprising: a test-and-measurement instrument; a memory on the test-and-measurement instrument; a receiver on the test-and-measurement instrument operative to receive a regular expression and a bit stream; a state machine generator to generate a state machine from the regular expression; an analyzer operative to analyze the bit stream using the state machine; and a breadcrumb generator operative to generate and save in the memory a breadcrumb whenever a state in the state machine is entered, wherein the breadcrumb generator is operative to generate and save in the memory a breadcrumb when an error state is entered on an unexpected input, the breadcrumb including at least one of a type, an ID, and a time.
  • An embodiment of the invention includes a system, comprising: a test-and-measurement instrument; a memory on the test-and-measurement instrument; a receiver on the test-and-measurement instrument operative to receive a regular expression and a bit stream; a state machine generator to generate a state machine from the regular expression; a state machine optimizer operative to optimize the state machine; an analyzer operative to analyze the bit stream using the optimized state machine; and a breadcrumb generator operative to generate and save in the memory a breadcrumb whenever a state in the optimized state machine is entered.
  • An embodiment of the invention includes a system, comprising: a test-and-measurement instrument; a memory on the test-and-measurement instrument; a receiver on the test-and-measurement instrument operative to receive a regular expression and a bit stream; a state machine generator to generate a state machine from the regular expression; an analyzer operative to analyze the bit stream using the state machine; a breadcrumb generator operative to generate and save in the memory a breadcrumb whenever a state in the state machine is entered; and a re-creator to recreate the operation of the state machine using the saved breadcrumbs.
  • An embodiment of the invention includes a method, comprising: receiving a regular expression at a test-and-measurement instrument; generating a state machine from the regular expression; applying the state machine to a bit stream; and for at least one state in the state machine, saving a breadcrumb in a memory of the test-and-measurement instrument when the at least one state is entered.
  • An embodiment of the invention includes a method, comprising: receiving a regular expression at a test-and-measurement instrument; generating a state machine from the regular expression; applying the state machine to a bit stream; and for at least one state in the state machine, saving a breadcrumb in a memory of the test-and-measurement instrument when the at least one state is entered, including saving a breadcrumb in the memory of the test-and-measurement instrument as each state in the state machine is entered.
  • An embodiment of the invention includes a method, comprising: receiving a regular expression at a test-and-measurement instrument; generating a state machine from the regular expression; applying the state machine to a bit stream; and for at least one state in the state machine, saving a breadcrumb in a memory of the test-and-measurement instrument when the at least one state is entered, including saving the breadcrumb in the memory of the test-and-measurement instrument when the at least one state is entered, the breadcrumb including at least one of a type, an ID, and a time.
  • An embodiment of the invention includes a method, comprising: receiving a regular expression at a test-and-measurement instrument; generating a state machine from the regular expression; applying the state machine to a bit stream; and for at least one state in the state machine, saving a breadcrumb in a memory of the test-and-measurement instrument when the at least one state is entered, including saving an error breadcrumb in the memory of the test-and-measurement instrument when an error state is entered on an unexpected input, the breadcrumb including at least one of a type, an ID, and a time.
  • An embodiment of the invention includes a method, comprising: receiving a regular expression at a test-and-measurement instrument; generating a state machine from the regular expression; optimizing the state machine; applying the optimized state machine to a bit stream; and for at least one state in the optimized state machine, saving a breadcrumb in a memory of the test-and-measurement instrument when the at least one state is entered.
  • An embodiment of the invention includes a method, comprising: receiving a regular expression at a test-and-measurement instrument; generating a state machine from the regular expression; applying the state machine to a bit stream; for at least one state in the state machine, saving a breadcrumb in a memory of the test-and-measurement instrument when the at least one state is entered; and using the saved breadcrumbs to follow the application of the bit stream to the state machine.
  • the machine includes a system bus to which is attached processors, memory, e.g., random access memory (RAM), read-only memory (ROM), or other state preserving medium, storage devices, a video interface, and input/output interface ports.
  • the machine may be controlled, at least in part, by input from conventional input devices, such as keyboards, mice, etc., as well as by directives received from another machine, interaction with a virtual reality (VR) environment, biometric feedback, or other input signal.
  • VR virtual reality
  • the term "machine” is intended to broadly encompass a single machine, or a system of communicatively coupled machines or devices operating together. Exemplary machines include computing devices such as personal computers, workstations, servers, portable computers, handheld devices, telephones, tablets, etc., as well as transportation devices, such as private or public transportation, e.g., automobiles, trains, cabs, etc.
  • the machine may include embedded controllers, such as programmable or non-programmable logic devices or arrays, Application Specific Integrated Circuits, embedded computers, smart cards, and the like.
  • the machine may utilize one or more connections to one or more remote machines, such as through a network interface, modem, or other communicative coupling.
  • Machines may be interconnected by way of a physical and/or logical network, such as an intranet, the Internet, local area networks, wide area networks, etc.
  • network communication may utilize various wired and/or wireless short range or long range carriers and protocols, including radio frequency (RF), satellite, microwave, Institute of Electrical and Electronics Engineers (IEEE) 810.11, Bluetooth, optical, infrared, cable, laser, etc.
  • RF radio frequency
  • IEEE Institute of Electrical and Electronics Engineers
  • Associated data may be stored on tangible computer-readable media as non-transitory computer-executable instructions.
  • Associated data may be stored in, for example, the volatile and/or non-volatile memory, e.g., RAM, ROM, etc., or in other storage devices and their associated storage media, including hard-drives, floppy-disks, optical storage, tapes, flash memory, memory sticks, digital video disks, biological storage, etc.
  • Associated data may be delivered over transmission environments, including the physical and/or logical network, in the form of packets, serial data, parallel data, propagated signals, etc., and may be used in a compressed or encrypted format. Associated data may be used in a distributed environment, and stored locally and/or remotely for machine access.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
EP15191296.1A 2014-10-24 2015-10-23 Dérivation de l'accélération matérielle de décodage à partir d'une description de protocole déclarative Active EP3012648B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462068384P 2014-10-24 2014-10-24
US14/574,137 US9338076B1 (en) 2014-10-24 2014-12-17 Deriving hardware acceleration of decoding from a declarative protocol description

Publications (2)

Publication Number Publication Date
EP3012648A1 true EP3012648A1 (fr) 2016-04-27
EP3012648B1 EP3012648B1 (fr) 2018-12-19

Family

ID=54364104

Family Applications (1)

Application Number Title Priority Date Filing Date
EP15191296.1A Active EP3012648B1 (fr) 2014-10-24 2015-10-23 Dérivation de l'accélération matérielle de décodage à partir d'une description de protocole déclarative

Country Status (4)

Country Link
US (1) US9338076B1 (fr)
EP (1) EP3012648B1 (fr)
JP (1) JP6596300B2 (fr)
CN (1) CN105553606B (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190113542A1 (en) * 2014-12-17 2019-04-18 Tektronix, Inc. Hardware trigger generation from a declarative protocol description
JP6741417B2 (ja) * 2015-12-04 2020-08-19 テクトロニクス・インコーポレイテッドTektronix,Inc. 試験測定装置及びトリガ方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121342A (en) * 1989-08-28 1992-06-09 Network Communications Corporation Apparatus for analyzing communication networks
US20020104051A1 (en) * 2001-01-31 2002-08-01 Stmicroelectronics, Inc. Embedded field programmable gate array for performing built-in self test functions in a system on a chip and method of operation
US20060200714A1 (en) * 2005-03-01 2006-09-07 Matsushita Electric Industrial Co., Ltd. Test equipment for semiconductor
US20110276302A1 (en) * 2008-11-11 2011-11-10 Verigy (Singapore) Pte. Ltd. Re-configurable test circuit, method for operating an automated test equipment, apparatus, method and computer program for setting up an automated test equipment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512634B2 (en) * 2006-06-05 2009-03-31 Tarari, Inc. Systems and methods for processing regular expressions
GB2443277B (en) 2006-10-24 2011-05-18 Advanced Risc Mach Ltd Performing diagnostics operations upon an asymmetric multiprocessor apparatus
US8127113B1 (en) 2006-12-01 2012-02-28 Synopsys, Inc. Generating hardware accelerators and processor offloads
WO2009039462A1 (fr) 2007-09-19 2009-03-26 Tabula, Inc. Procédé et système pour faire état d'une structure de circuit primaire d'un circuit intégré (ic) en utilisant une structure de circuit secondaire de l'ic
US8525548B2 (en) 2008-08-04 2013-09-03 Tabula, Inc. Trigger circuits and event counters for an IC
US8281395B2 (en) * 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US9069017B2 (en) 2009-12-04 2015-06-30 Tektronix, Inc. Serial bit stream regular expression engine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121342A (en) * 1989-08-28 1992-06-09 Network Communications Corporation Apparatus for analyzing communication networks
US20020104051A1 (en) * 2001-01-31 2002-08-01 Stmicroelectronics, Inc. Embedded field programmable gate array for performing built-in self test functions in a system on a chip and method of operation
US20060200714A1 (en) * 2005-03-01 2006-09-07 Matsushita Electric Industrial Co., Ltd. Test equipment for semiconductor
US20110276302A1 (en) * 2008-11-11 2011-11-10 Verigy (Singapore) Pte. Ltd. Re-configurable test circuit, method for operating an automated test equipment, apparatus, method and computer program for setting up an automated test equipment

Also Published As

Publication number Publication date
JP6596300B2 (ja) 2019-10-23
CN105553606A (zh) 2016-05-04
JP2016085745A (ja) 2016-05-19
US20160119218A1 (en) 2016-04-28
EP3012648B1 (fr) 2018-12-19
US9338076B1 (en) 2016-05-10
CN105553606B (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
US10540350B2 (en) Source code search engine
US10891178B2 (en) Method and device for identifying problematic component in storage system
CN116822422B (zh) 数字逻辑电路的分析优化方法及相关设备
US10148547B2 (en) Hardware trigger generation from a declarative protocol description
US9338076B1 (en) Deriving hardware acceleration of decoding from a declarative protocol description
CN109522010A (zh) 初始化代码添加方法及装置、存储介质、电子设备
US20210325432A1 (en) Hardware trigger generation from a declarative protocol description
US20170220438A1 (en) Replicating test case data into a cache with non-naturally aligned data boundaries
EP3292488A1 (fr) Système et procédé d'identification de clones
US20160350384A1 (en) Mining Relevant Approximate Subgraphs from Multigraphs
US11790258B2 (en) Generation of a bayesian network
US11409939B2 (en) Test generation systems and methods
JP6741417B2 (ja) 試験測定装置及びトリガ方法
US20170286271A1 (en) Symbolic execution of alternative branches
BELL et al. Model-based mutation testing using pushdown automata
WO2016079962A1 (fr) Dispositif de vérification de modèle, procédé de vérification de modèle et support de stockage
JP7307784B2 (ja) グルシコフオートマタ生成とハイブリッドマッチングを活用した正規表現式エンジンに関するオートマタ処理装置及び方法
JP2018121245A (ja) 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム
KR20230166289A (ko) 어플리케이션의 테스트 시나리오를 생성하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
KR20220022752A (ko) 시드 파일 생성 장치 및 그 방법
JP2016110172A (ja) 情報処理システム、言語処理方法及びそのためのプログラム

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20161027

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20170609

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

RIC1 Information provided on ipc code assigned before grant

Ipc: G01R 31/319 20060101AFI20180530BHEP

Ipc: G11C 29/56 20060101ALI20180530BHEP

Ipc: H04L 12/26 20060101ALI20180530BHEP

INTG Intention to grant announced

Effective date: 20180628

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602015021794

Country of ref document: DE

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1079287

Country of ref document: AT

Kind code of ref document: T

Effective date: 20190115

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20181219

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190319

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190319

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG4D

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1079287

Country of ref document: AT

Kind code of ref document: T

Effective date: 20181219

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190320

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190419

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20190419

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602015021794

Country of ref document: DE

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

26N No opposition filed

Effective date: 20190920

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20191031

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20191031

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20191023

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20191031

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20191031

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20191023

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20191031

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20191023

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20191023

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20151023

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20181219

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230530

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20231027

Year of fee payment: 9