CN102520760A - Processor for arbitrary waveform generating system - Google Patents

Processor for arbitrary waveform generating system Download PDF

Info

Publication number
CN102520760A
CN102520760A CN2011104306898A CN201110430689A CN102520760A CN 102520760 A CN102520760 A CN 102520760A CN 2011104306898 A CN2011104306898 A CN 2011104306898A CN 201110430689 A CN201110430689 A CN 201110430689A CN 102520760 A CN102520760 A CN 102520760A
Authority
CN
China
Prior art keywords
instruction
condition
processor
waveform
processor cores
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
CN2011104306898A
Other languages
Chinese (zh)
Other versions
CN102520760B (en
Inventor
王石记
武福存
史浩
刘金川
智国宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Aerospace Measurement and Control Technology Co Ltd
Original Assignee
Beijing Aerospace Measurement and Control Technology Co Ltd
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 Beijing Aerospace Measurement and Control Technology Co Ltd filed Critical Beijing Aerospace Measurement and Control Technology Co Ltd
Priority to CN201110430689.8A priority Critical patent/CN102520760B/en
Publication of CN102520760A publication Critical patent/CN102520760A/en
Application granted granted Critical
Publication of CN102520760B publication Critical patent/CN102520760B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

本发明公开了一种用于任意波形产生系统的处理器,指令缓冲单元缓存来自外部计算机的指令集合;处理器内核从指令集合中逐一读取并执行每一条指令,其支持的指令集由波形产生指令、循环控制指令、条件跳转指令、等待指令和清除触发条件指令组成,波形产生指令中还包括输出标记列表,按列表输出脉冲;Marker标记存储单元用于缓存输出波形数据时输出脉冲的输出标记列表;外部控制条件输入单元将外部输入的触发条件传输给处理器内核,该触发条件可以作为各指令的执行条件。本发明通过对该处理器能够支持的指令集进行设计,从而简化波形产生的复杂程度,提供整体执行速度,进而提升任意波形发生器类产品的功能和性能。

Figure 201110430689

The invention discloses a processor used in an arbitrary waveform generation system. The instruction buffer unit buffers the instruction set from an external computer; the processor core reads and executes each instruction one by one from the instruction set, and the instruction set supported by the waveform It is composed of generation instruction, loop control instruction, conditional jump instruction, wait instruction and clear trigger condition instruction. The waveform generation instruction also includes an output marker list, and outputs pulses according to the list; the marker storage unit is used to buffer the output pulse when outputting waveform data. The output mark list; the external control condition input unit transmits the trigger condition of the external input to the processor core, and the trigger condition can be used as the execution condition of each instruction. The invention simplifies the complexity of waveform generation by designing the instruction set that the processor can support, improves the overall execution speed, and improves the function and performance of arbitrary waveform generator products.

Figure 201110430689

Description

一种用于任意波形产生系统的处理器A Processor Used in Arbitrary Waveform Generation System

技术领域 technical field

本发明涉及任意波形发生器技术领域,特别是涉及一种用于任意波形产生系统的处理器。The invention relates to the technical field of arbitrary waveform generators, in particular to a processor used in an arbitrary waveform generating system.

背景技术 Background technique

任意波形发生器作为常见的测试测量仪器之一,已经历了多年的技术发展。市场上广泛使用推广的同类产品主要分为台式仪器及总线类虚拟仪器。台式仪器独立性较强,但其体积较大,使用环境范围较小,在实现远程操作及系统集成方面有一定的局限性。而总线类虚拟仪器在系统集成及远程操作方面具有独到的优越性。Arbitrary waveform generator, as one of the common test and measurement instruments, has experienced many years of technical development. Similar products that are widely used and promoted in the market are mainly divided into desktop instruments and bus-type virtual instruments. The desktop instrument is relatively independent, but its volume is relatively large, and the scope of use environment is small, so it has certain limitations in the realization of remote operation and system integration. The bus-type virtual instrument has unique advantages in system integration and remote operation.

目前,基于总线的任意波形发生器具有产生标准波形、任意波形、任意序列等功能。然而,目前的任意波形发生器是由计算机根据需求产生任意波形的所有数据,然后通过总线下载到波形产生模块中,波形产生模块根据波形数据逐点输出模拟波形。但是,这种计算机统一产生所有波形数据的方式速度比较慢,总线中需要传输大量的数据,不能实现任意波形的实时调度。At present, the arbitrary waveform generator based on the bus can generate standard waveform, arbitrary waveform, arbitrary sequence and other functions. However, in the current arbitrary waveform generator, all the data of the arbitrary waveform is generated by the computer according to the demand, and then downloaded to the waveform generation module through the bus, and the waveform generation module outputs the analog waveform point by point according to the waveform data. However, the way that the computer uniformly generates all waveform data is relatively slow, and a large amount of data needs to be transmitted in the bus, which cannot realize real-time scheduling of arbitrary waveforms.

本申请同日申请了发明名称为《一种基于自定义处理器的任意波形产生系统》,如图1所示,该系统包括控制部分和硬件部分,两部分通过各自的接口单元进行数据交互。波形生成模块用于产生各种类型、长度和周期的波形段数据,并分别命名,然后通过波形下载模块和第一接口单元下载到硬件部分。存储控制逻辑模块实现对波形存储器的读写控制。控制程序生成模块接收用户输入的指令集合,该指令集合指示出了形成所需任意波形需要调用的波形段名称、调用顺序、调用次数等信息,将该指令集合通过编译模块的编译后下载到硬件部分。自定义波形处理器接收并解析指令集合,按照指令集合指示产生相应波形段的调用指令,通过存储控制逻辑模块读取波形段数据;然后按照指令集合指示的波形段的调用顺序和调用次数,组合波形段数据后形成所需的任意波形,并通过信号调理模块的处理后输出。On the same day, this application applied for an invention titled "An Arbitrary Waveform Generation System Based on a Custom Processor". As shown in Figure 1, the system includes a control part and a hardware part, and the two parts perform data interaction through their respective interface units. The waveform generation module is used to generate waveform segment data of various types, lengths and periods, and name them respectively, and then download them to the hardware part through the waveform download module and the first interface unit. The storage control logic module realizes the read and write control of the waveform memory. The control program generation module receives the command set input by the user. The command set indicates the waveform segment name, calling order, and calling times that need to be called to form the required arbitrary waveform. The command set is compiled by the compiling module and downloaded to the hardware. part. The custom waveform processor receives and parses the command set, generates the call command of the corresponding waveform segment according to the command set instruction, and reads the waveform segment data through the storage control logic module; The required arbitrary waveform is formed after the waveform segment data is processed and output by the signal conditioning module.

从上述描述可以看出,自定义波形处理器是整个波形产生系统的核心,自定义波形处理器所能支持的指令集决定了所能产生波形的复杂程度和本身实现的复杂程度。It can be seen from the above description that the custom waveform processor is the core of the entire waveform generation system, and the instruction set that the custom waveform processor can support determines the complexity of the waveform that can be generated and the complexity of its own implementation.

发明内容 Contents of the invention

鉴于目前市场上的任意波形发生器的任意波形和任意序列功能比较简单,这样在某些测试中不能够提供较为复杂的任意波形或任意序列功能,因此,本发明提供了一种用于任意波形产生系统的自定义处理器,通过对该处理器能够支持的指令集进行设计,从而简化波形产生的复杂程度,提供整体执行速度,进而提升任意波形发生器类产品的功能和性能。In view of the fact that the arbitrary waveform and arbitrary sequence functions of arbitrary waveform generators on the market are relatively simple, they cannot provide more complex arbitrary waveform or arbitrary sequence functions in some tests. Therefore, the present invention provides a method for arbitrary waveform Generate a custom processor for the system. By designing the instruction set that the processor can support, the complexity of waveform generation is simplified, the overall execution speed is improved, and the function and performance of arbitrary waveform generator products are improved.

该方案是这样实现的:The scheme is implemented like this:

一种用于任意波形产生系统的处理器,其特征在于,包括:处理器内核、指令缓冲单元、循环次数标记单元、Marker标记存储单元、外部控制条件输入单元;A kind of processor that is used for arbitrary waveform generation system is characterized in that, comprises: processor core, instruction buffer unit, number of cycles marking unit, Marker mark storage unit, external control condition input unit;

指令缓冲单元,用于缓存来自外部计算机的指令集合;The instruction buffer unit is used to cache the instruction set from the external computer;

处理器内核,用于从所述指令集合中逐一读取并执行每一条指令;所述处理器内核支持的指令集由波形产生指令、循环控制指令、条件跳转指令、等待指令和清除触发条件指令组成;The processor core is used to read and execute each instruction one by one from the instruction set; the instruction set supported by the processor core consists of a waveform generation instruction, a loop control instruction, a conditional jump instruction, a wait instruction, and a clear trigger condition command composition;

当处理器内核处理波形产生指令时,从波形产生指令中提取波形段名称,产生相应波形段的调用指令,并发送给存储控制逻辑模块;将存储控制逻辑模块读取的波形段数据逐一按顺序输出到自定义处理器外部信号调理模块的FIFO中;波形产生指令中还包括输出标记列表;所述输出标记列表存储到Marker标记存储单元中,每个输出标记是一个数值,处理器内核输出波形段数据时,比较当前输出数据个数与输出标记列表中的值,如果二者相同,则输出一个脉冲;When the processor core processes the waveform generation instruction, it extracts the name of the waveform segment from the waveform generation instruction, generates the calling instruction of the corresponding waveform segment, and sends it to the storage control logic module; the waveform segment data read by the storage control logic module is sequentially arranged one by one Output to the FIFO of the external signal conditioning module of the custom processor; the waveform generation instruction also includes an output marker list; the output marker list is stored in the Marker marker storage unit, each output marker is a numerical value, and the processor core outputs the waveform When segmenting data, compare the number of current output data with the value in the output tag list, and if they are the same, output a pulse;

当处理器内核处理循环控制指令时,根据循环条件按照循环控制指令指定的顺序和次数循环执行指定的指令;其中循环的次数标记存储在所述循环次数标记单元中;When the processor core processes the loop control instruction, according to the loop condition according to the order and the number of times specified by the loop control instruction, the specified instruction is executed in a loop; wherein the number of loops is marked and stored in the loop number of marking unit;

当处理器内核处理条件跳转指令时,首先判断跳转条件是否成立,在条件成立的情况下,执行指定的指令;When the processor core processes a conditional jump instruction, it first judges whether the jump condition is true, and if the condition is true, executes the specified instruction;

当处理器内核处理等待指令时,不断判断等待指令指定的等待结束条件是否满足,在满足的情况下,执行后续指令;When the processor core processes the waiting instruction, it continuously judges whether the waiting end condition specified by the waiting instruction is satisfied, and if it is satisfied, executes the subsequent instruction;

当处理器内核处理清除触发条件指令时,将触发条件Trigger0置为低;当所述触发条件Trigger0作为等待结束条件和/或循环条件和/或跳转条件时,处理器内核根据Trigger0的值判断相应条件是否成立;When the processor core processes the clear trigger condition instruction, the trigger condition Trigger0 is set low; when the trigger condition Trigger0 is used as the waiting end condition and/or loop condition and/or jump condition, the processor core judges according to the value of Trigger0 Whether the corresponding conditions are met;

所述Marker标记存储单元,用于缓存所述输出标记列表;The Marker tag storage unit is used to cache the output tag list;

所述外部控制条件输入单元,用于将外部输入的触发条件Trigger0传输给处理器内核。The external control condition input unit is configured to transmit an externally input trigger condition Trigger0 to the processor core.

优选地,所述波形产生指令Generate带子集参数subset(<起始位置>,<结束位置>);Preferably, the waveform generation instruction Generate has a subset parameter subset(<start position>, <end position>);

所述处理器内核执行波形产生指令Generate时,判断Generate是否带子集参数subset,如果是,则从待输出的波形段数据中提取所述起始位置和所述结束位置之间的数据输出;否则,将波形段数据整体输出。When the processor core executes the waveform generation instruction Generate, it is judged whether Generate has a subset parameter subset, and if so, extracts the data output between the start position and the end position from the waveform segment data to be output; otherwise , to output the waveform segment data as a whole.

优选地,所述循环控制指令格式为:Preferably, the format of the loop control instruction is:

Repeat  循环条件Repeat loop condition

    代码段ACode snippet A

end Repeatend Repeat

所述代码段A由所述指令集中的指令组成;The code segment A is composed of instructions in the instruction set;

所述循环条件包括以下三种情况:The cycle conditions include the following three situations:

①所述循环条件为N,N为一正整数,则Repeat指令实现有限次循环,所述处理器内核将代码段A循环执行N次;1. the loop condition is N, and N is a positive integer, then the Repeat instruction realizes a finite number of loops, and the processor core executes the code segment A loop N times;

②所述循环条件为永远forever,则Repeat指令实现无限次循环,所述处理器内核将代码段A无限制的循环下去,直到处理器内核掉电或被复位;2. the loop condition is forever forever, then the Repeat instruction realizes an infinite number of loops, and the processor core loops the code segment A indefinitely until the processor core is powered down or reset;

③所述循环条件为“until Trigger0”,则Repeat指令实现脚本条件循环,所述处理器内核将代码段A不停循环下去,直到处理器检测到所述Trigger0为逻辑高为止。③The loop condition is "until Trigger0", then the Repeat instruction realizes the script conditional loop, and the processor core loops the code segment A continuously until the processor detects that the Trigger0 is logic high.

优选地,所述条件跳转指令格式为:Preferably, the format of the conditional jump instruction is:

If Trigger0If Trigger0

   代码段Bcode snippet B

ElseElse

   代码段Ccode segment C

End ifEnd if

所述代码段B和代码段C均由所述指令集中的指令组成;Both the code segment B and the code segment C are composed of instructions in the instruction set;

所述处理器内核执行该条件跳转指令时,首先判断所述Trigger0是否为逻辑高,如果是,则将代码段B执行一遍,否则将代码段C执行一遍。When the processor core executes the conditional jump instruction, it first judges whether the Trigger0 is logic high, if so, executes the code segment B once, otherwise executes the code segment C once.

优选地,所述等待指令格式为:Preferably, the waiting instruction format is:

Wait等待结束条件Wait waits for the end condition

所述等待结束条件包括以下两种情况:The waiting end condition includes the following two situations:

①所述等待结束条件为N,N为一正整数;所述处理器内核执行该等待指令时,将等待延时计数器赋值N,每个处理器时钟周期将该等待延时计数器减1并判断是否为0,如果不等于0则继续执行减1和判断操作,如果等于0则执行后续指令;1. The waiting end condition is N, and N is a positive integer; when the processor core executes the waiting instruction, the waiting delay counter is assigned a value N, and each processor clock cycle decrements the waiting delay counter by 1 and judges Whether it is 0, if it is not equal to 0, continue to perform minus 1 and judgment operations, if it is equal to 0, execute subsequent instructions;

②所述等待结束条件为Trigger0;所述处理器内核执行该等待指令时,不停判断Trigger0信号的值,如果为低则一直停留在该等待指令,如果为高,则执行后续指令。② The waiting end condition is Trigger0; when the processor core executes the waiting instruction, it constantly judges the value of the Trigger0 signal, if it is low, it stays at the waiting instruction, and if it is high, it executes subsequent instructions.

有益效果:Beneficial effect:

本发明所设计的自定义处理器能够支持5条指令组成的指令集,由于指令类型很少,因此处理器设计复杂程度大大降低,而且通过这种简单指令的编程就能够实现较为复杂的任意波形和任意序列功能,编程简单,而且程序段非常短小,能够进一步减小波形产生系统控制部分和硬件部分之间的数据传输量。The self-defined processor designed by the present invention can support an instruction set composed of 5 instructions. Since there are few instruction types, the complexity of processor design is greatly reduced, and more complex arbitrary waveforms can be realized through the programming of such simple instructions. And any sequence function, the programming is simple, and the program segment is very short, which can further reduce the amount of data transmission between the control part and the hardware part of the waveform generation system.

附图说明 Description of drawings

图1为基于自定义处理器的任意波形产生系统的组成结构示意图。Figure 1 is a schematic diagram of the composition and structure of an arbitrary waveform generation system based on a custom processor.

图2为本发明自定义波形处理器的结构示意图。Fig. 2 is a schematic diagram of the structure of the self-defined waveform processor of the present invention.

具体实施方式 Detailed ways

下面结合附图并举实施例,对本发明进行详细描述。The present invention will be described in detail below with reference to the accompanying drawings and examples.

图2为本发明用于任意波形产生系统的自定义处理器,如图2所示,该处理器包括:处理器内核、指令缓冲单元、循环次数标记单元、Marker标记存储单元、外部控制条件输入单元。该自定义处理器可以集成在FPGA中。Fig. 2 is the self-defined processor that the present invention is used for arbitrary waveform generation system, as shown in Fig. 2, this processor comprises: processor core, instruction buffer unit, number of cycles marking unit, Marker mark storage unit, external control condition input unit. This custom processor can be integrated in the FPGA.

指令缓冲单元,用于缓存来自外部计算机的指令集合。The instruction buffer unit is used for buffering instruction sets from an external computer.

处理器内核,用于从指令缓冲单元缓存的指令集合中逐一读取并执行每一条指令。本发明中,处理器内核支持如下5条指令构成的指令集,所述5条指令由波形产生指令Generate、循环控制指令、条件跳转指令、等待指令和清除触发条件指令组成。下面一一介绍各指令的功能和处理器内核的处理过程。The processor core is used to read and execute each instruction one by one from the instruction set cached by the instruction buffer unit. In the present invention, the processor core supports an instruction set composed of the following five instructions, the five instructions are composed of a waveform generation instruction Generate, a loop control instruction, a conditional jump instruction, a wait instruction and a trigger condition clear instruction. The following introduces the functions of each instruction and the processing process of the processor core.

(1)Generate的功能是产生一个任意波形段,该任意波形的数据从任意波形产生系统的波形存储器中提取。(1) The function of Generate is to generate an arbitrary waveform segment, and the data of the arbitrary waveform is extracted from the waveform memory of the arbitrary waveform generating system.

当处理器内核执行指令Generate时,处理器内核从该波形产生指令中提取波形段名称,产生相应波形段的调用指令,并发送给外部的存储控制逻辑模块;将存储控制逻辑模块从波形存储器读取的波形段数据逐一按顺序输出到自定义处理器外部的信号调理模块的FIFO中。信号调理模块检测到内部FIFO为非空时,将FIFO中的数据进行数模转换并输出。When the processor core executes the command Generate, the processor core extracts the name of the waveform segment from the waveform generation command, generates the calling command of the corresponding waveform segment, and sends it to the external storage control logic module; reads the storage control logic module from the waveform memory The acquired waveform segment data is output to the FIFO of the signal conditioning module outside the custom processor one by one in sequence. When the signal conditioning module detects that the internal FIFO is not empty, it performs digital-to-analog conversion on the data in the FIFO and outputs it.

Generate必要的参数为波形段名称,如果仅有波形段名称,则处理器内核输出整段的波形数据。The necessary parameter of Generate is the name of the waveform segment. If there is only the name of the waveform segment, the processor core will output the entire waveform data.

为了提高输出信号的丰富性和灵活度,通过设置子集参数使得该Generate指令支持子集输出和标记输出。具体来说,In order to improve the richness and flexibility of output signals, the Generate command supports subset output and tag output by setting subset parameters. Specifically,

Generate可以携带子集marker(<list of positions>),其中list of positions为输出标记列表,其记载了在输出波形段的过程中需要在波形段的哪个或哪几个位置输出脉冲。该输出标记列表存储到Marker标记存储单元中,每个输出标记是一个数值,处理器内核输出波形段数据时,比较当前输出数据个数与输出标记列表中的值,如果二者相同,则输出一个脉冲给信号调理模块,由信号调理模块产生脉冲模拟量。Generate can carry a subset marker (<list of positions>), where list of positions is a list of output markers, which records which position or positions of the waveform segment need to output pulses in the process of outputting the waveform segment. The output tag list is stored in the Marker tag storage unit, each output tag is a numerical value, when the processor core outputs the waveform segment data, compare the current output data number with the value in the output tag list, if the two are the same, then output A pulse is given to the signal conditioning module, and the signal conditioning module generates a pulse analog quantity.

Generate还可以携带子集参数subset(<起始位置>,<结束位置>);处理器内核执行波形产生指令Generate时,判断Generate是否带子集参数subset,如果是,则从待输出的波形段数据中提取起始位置和结束位置之间的数据输出;否则,将波形段数据整体输出。Generate can also carry the subset parameter subset (<start position>, <end position>); when the processor core executes the waveform generation command Generate, it is judged whether Generate has the subset parameter subset, if so, from the waveform segment data to be output Extract the data output between the start position and the end position; otherwise, output the waveform segment data as a whole.

那么Generate指令的格式表述完整可以为:Then the format expression of the Generate command can be completely expressed as:

Genernate<波形段名称>subset(<起始位置>,<结束位置>)marker(<输出标记列表>)。Generate<wave segment name>subset(<start position>, <end position>) marker(<output marker list>).

(2)循环控制指令的功能是重复执行一段代码,其能够支持高达16层循环嵌套。(2) The function of the loop control instruction is to repeatedly execute a piece of code, which can support up to 16 layers of loop nesting.

当处理器内核执行循环控制指令时,处理器内核根据循环条件按照循环控制指令指定的顺序和次数循环执行指定的指令;其中循环的次数标记存储在所述循环次数标记单元中。When the processor core executes the loop control instruction, the processor core loops and executes the specified instruction according to the loop condition and the order and times specified by the loop control instruction; wherein the loop count mark is stored in the loop count mark unit.

为了提高循环执行的灵活性,本发明提供了多种循环条件。那么,循环控制指令的格式可以为:In order to improve the flexibility of loop execution, the present invention provides various loop conditions. Then, the format of the loop control instruction can be:

Repeat  循环条件Repeat loop condition

   指令1Instruction 1

   ......

   指令MInstruction M

end Repeatend Repeat

其中,指令1~指令M均从指令集中选取。Wherein, instruction 1 to instruction M are all selected from the instruction set.

所述循环条件包括以下三种情况:The cycle conditions include the following three situations:

①循环条件为“N”,N为一正整数,则Repeat指令实现有限次循环,处理器内核将指令1~指令M共M条指令循环执行N次;①The cycle condition is "N", and N is a positive integer, then the Repeat instruction realizes a limited number of cycles, and the processor core executes a total of M instructions from instruction 1 to instruction M for N times;

②循环条件为“forever”(永远),则Repeat指令实现无限次循环,处理器内核将指令1~指令M共M条指令无限制的循环下去,直到处理器内核掉电或被复位;②The loop condition is "forever", then the Repeat instruction realizes an infinite loop, and the processor core loops a total of M instructions from instruction 1 to instruction M indefinitely until the processor core is powered off or reset;

③循环条件为“直到Trigger0为逻辑高即until Trigger0”,则Repeat指令实现脚本条件循环,处理器内核将指令1~指令M共M条指令不停循环执行下去,直到处理器检测到所述Trigger0为逻辑高为止。其中,Trigger0为触发条件,是通过外部控制条件输入单元输入到处理器内核的。③The loop condition is "until Trigger0 is logic high, that is, until Trigger0", then the Repeat instruction realizes the script conditional loop, and the processor core executes a total of M instructions from instruction 1 to instruction M in a non-stop cycle until the processor detects the Trigger0 to logic high. Wherein, Trigger0 is a trigger condition, which is input to the processor core through an external control condition input unit.

(3)条件跳转指令的功能是选择执行一段代码,嵌套深度仅受指令存储空间限制。(3) The function of the conditional jump instruction is to select and execute a piece of code, and the nesting depth is only limited by the instruction storage space.

当处理器内核执行条件跳转指令时,首先判断跳转条件是否成立,在条件成立的情况下,执行指定的指令。When the processor core executes a conditional jump instruction, it first judges whether the jump condition is true, and if the condition is true, executes the specified instruction.

其中,为了不设置新变量,本发明采用外部输入的触发条件Trigger0作为跳转条件。那么条件跳转指令的格式可以为:Wherein, in order not to set a new variable, the present invention uses an externally input trigger condition Trigger0 as a jump condition. Then the format of the conditional jump instruction can be:

If Trigger0If Trigger0

    指令1Instruction 1

    ......

    指令MInstruction M

ElseElse

    指令M+1  Instruction M+1

    ......

    指令LInstruction L

End ifEnd if

所述处理器内核执行该条件跳转指令时,首先判断所述Trigger0是否为逻辑高,如果是,则将指令1~指令M共M条指令执行一遍,否则将指令M+1~指令L共L-M条指令执行一遍。When the processor core executes the conditional jump instruction, it first judges whether the Trigger0 is logic high, and if so, executes a total of M instructions from instruction 1 to instruction M, otherwise executes a total of M instructions from instruction M+1 to instruction L. L-M instructions are executed once.

(4)等待指令的功能是等待直到等待结束条件满足。(4) The function of the waiting instruction is to wait until the waiting end condition is satisfied.

当处理器内核执行等待指令时,不断判断等待指令指定的等待结束条件是否满足,在满足的情况下,执行下一条指令,如果不满足则继续判断。When the processor core executes the waiting instruction, it continuously judges whether the waiting end condition specified by the waiting instruction is satisfied, and if it is satisfied, executes the next instruction, and if not, continues to judge.

本实施例中跳转指令的格式为:Wait等待结束条件The format of the jump instruction in the present embodiment is: Wait waits for the end condition

所述等待结束条件包括等待延时和等待触发条件Trigger0:The waiting end condition includes waiting delay and waiting trigger condition Trigger0:

①等待结束条件为N,N为一正整数;处理器内核执行该等待指令时,将等待延时计数器赋值N,每个处理器时钟周期将该等待延时计数器减1并判断是否为0,如果不等于0则继续执行减1和判断操作,如果等于0则执行下一条指令。① The waiting end condition is N, and N is a positive integer; when the processor core executes the waiting instruction, the waiting delay counter is assigned a value N, and the waiting delay counter is decremented by 1 every processor clock cycle and judged whether it is 0, If it is not equal to 0, continue to perform minus 1 and judgment operations, and if it is equal to 0, execute the next instruction.

②等待结束条件为Trigger0;处理器内核执行该等待指令时,不停判断Trigger0信号的值,如果为低则一直停留在该等待指令,如果为高,则执行下一条指令。② The waiting end condition is Trigger0; when the processor core executes the waiting instruction, it continuously judges the value of the Trigger0 signal, if it is low, it stays at the waiting instruction, and if it is high, executes the next instruction.

(5)清除触发条件指令的功能是清除Trigger0。(5) The function of the clear trigger condition instruction is to clear Trigger0.

当处理器内核执行清除触发指令时,将触发条件Trigger0置为低。When the processor core executes the clear trigger instruction, the trigger condition Trigger0 is set low.

该清除触发指令的格式可以为:The format of the clear trigger instruction can be:

Clear Trigger0Clear Trigger0

以上就是处理器内核的功能。These are the functions of the processor core.

Marker标记存储单元,用于缓存所述输出标记列表。A marker storage unit, configured to cache the output marker list.

外部控制条件输入单元,用于将外部输入的触发条件Trigger0传输给处理器内核。前面已经提到,触发条件Trigger0可以作为等待结束条件、循环条件、跳转条件。The external control condition input unit is used to transmit the externally input trigger condition Trigger0 to the processor core. As mentioned above, the trigger condition Trigger0 can be used as a waiting end condition, a loop condition, and a jump condition.

下面举一个具体例子。Here is a specific example.

首先输出waveformA的子集(10,1000),标记输出100和200;接着重复输出waveformB 10次;接着清除触发信号Trigger0;接着等待100个处理器周期;在这期间外界可以选择通过外部控制条件输入单元将Trigger0置为高或不做操作。这会影响到最后的输出。最后根据Trigger0触发条件输出waveformC或输出waveformD。First output a subset of waveformA (10, 1000), mark output 100 and 200; then repeatedly output waveformB 10 times; then clear the trigger signal Trigger0; then wait for 100 processor cycles; during this period, the outside world can choose to input through external control conditions The unit sets Trigger0 high or does nothing. This affects the final output. Finally, output waveformC or output waveformD according to the trigger condition of Trigger0.

再此之前waveformA~waveformD已经存储到波形存储器中。Before this, waveformA~waveformD have been stored in the waveform memory.

Figure BDA0000122801080000091
Figure BDA0000122801080000091

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。To sum up, the above are only preferred embodiments of the present invention, and are not intended to limit the protection scope of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims (5)

1. one kind is used for the processor that random waveform produces system, it is characterized in that, comprising: processor cores, instruction buffer unit, cycle index indexing unit, Marker flag memory cell, external control condition entry unit;
Instruction buffer unit is used for the instruction set of buffer memory from outer computer;
Processor cores is used for reading and carry out each bar instruction one by one from said instruction set; The instruction set that said processor cores is supported is made up of waveform generation instruction, loop control instruction, condition jump instruction, wait instruction and the instruction of removing trigger condition;
When processor cores is handled the waveform generation instruction, from the waveform generation instruction, extract the waveform segment title, produce the call instruction of respective waveforms section, and send to the store control logic module; The waveform segment data that the store control logic module is read output among the FIFO of self-defined processor external signal conditioning module one by one in order; Also comprise the output token tabulation in the waveform generation instruction; Said output token list storage is in the Marker flag memory cell; Each output token is a numerical value, during processor cores output waveform segment data, and the value in more current output data number and the output token tabulation; If the two is identical, then export a pulse;
When processor cores cycle of treatment steering order, carry out the instruction of appointment according to loop control instruction named order and number of cycles according to cycling condition; Wherein round-robin number of times marker stores is in said cycle index indexing unit;
When the jump instruction of processor cores treatment conditions, judge at first whether the redirect condition is set up, under the situation that condition is set up, carry out the instruction of appointment;
When processor cores is handled the wait instruction, constantly judge and wait for instructing the wait termination condition of appointment whether to satisfy, under situation about satisfying, to carry out subsequent instructions;
When processor cores is handled the instruction of removing trigger condition, be changed to trigger condition Trigger0 low; When said trigger condition Trigger0 when waiting for termination condition and/or cycling condition and/or redirect condition, processor cores judges according to the value of Trigger0 whether corresponding conditions is set up;
Said Marker flag memory cell is used for the said output token tabulation of buffer memory;
Said external control condition entry unit is used for the trigger condition Trigger0 of outside input is transferred to processor cores.
2. processor as claimed in claim 1 is characterized in that, said waveform generation instruction Generate belt collection parameter s ubset (< reference position >, < end position >);
When said processor cores is carried out waveform generation instruction Generate, judge whether belt collection parameter s ubset of Generate, if then export from said reference position of waveform segment extracting data to be exported and the data between the said end position; Otherwise, the waveform segment whole data is exported.
3. processor as claimed in claim 1 is characterized in that, said loop control instruction form is:
The Repeat cycling condition
Code segment A
end?Repeat
Said code segment A is made up of the instruction in the said instruction set;
Said cycling condition comprises following three kinds of situation:
1. said cycling condition is N, and N is a positive integer, and then the Repeat instruction realizes the limited number of time circulation, and said processor cores is carried out code segment A circulation N time;
2. said cycling condition is eternal forever, and then Repeat instruction realizes unlimited circulation, and said processor cores goes down the unconfined circulation of code segment A, up to the processor cores power down or be reset;
3. said cycling condition is " until Trigger0 ", and then Repeat instruction realizes the circulation of script condition, and said processor cores does not stop circulation with code segment A and goes down, till processor detects said Trigger0 and is logic high.
4. processor as claimed in claim 1 is characterized in that, said condition jump instruction form is:
If?Trigger0
Code segment B
Else
Code segment C
End?if
Said code segment B and code segment C form by the instruction in the said instruction set;
When said processor cores is carried out this condition jump instruction, judge at first whether said Trigger0 is logic high, if then code segment B is carried out one time, otherwise code segment C is carried out one time.
5. processor as claimed in claim 1 is characterized in that, said wait order format is:
Wait waits for termination condition
Said wait termination condition comprises following two kinds of situation:
1. said wait termination condition is N, and N is a positive integer; Said processor cores is carried out in the time of should waiting for instruction; To wait for delay counter assignment N; Each processor clock cycle should wait for that delay counter subtracted 1 and judge whether to be 0, if be not equal to 0 then continue to carry out and subtract 1 and decision operation, if equal 0 then carry out subsequent instructions;
2. said wait termination condition is Trigger0; Said processor cores execution is somebody's turn to do when waiting for instruction, does not stop to judge the value of Trigger0 signal, if be to hang down then rest on this wait to instruct always, if be high, then carries out subsequent instructions.
CN201110430689.8A 2011-12-20 2011-12-20 Processor for arbitrary waveform generating system Expired - Fee Related CN102520760B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110430689.8A CN102520760B (en) 2011-12-20 2011-12-20 Processor for arbitrary waveform generating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110430689.8A CN102520760B (en) 2011-12-20 2011-12-20 Processor for arbitrary waveform generating system

Publications (2)

Publication Number Publication Date
CN102520760A true CN102520760A (en) 2012-06-27
CN102520760B CN102520760B (en) 2014-09-03

Family

ID=46291712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110430689.8A Expired - Fee Related CN102520760B (en) 2011-12-20 2011-12-20 Processor for arbitrary waveform generating system

Country Status (1)

Country Link
CN (1) CN102520760B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102788891A (en) * 2012-07-30 2012-11-21 电子科技大学 Complex waveform sequence generator
CN104545889A (en) * 2014-12-30 2015-04-29 深圳邦健生物医疗设备股份有限公司 Waveform demonstration method, device and medical equipment
US20150277906A1 (en) * 2014-03-31 2015-10-01 Raytheon Bbn Technologies Corp. Instruction set for arbitrary control flow in arbitrary waveform generation
CN106625674A (en) * 2016-12-29 2017-05-10 北京光年无限科技有限公司 Command processing method for robot and robot
CN108872902A (en) * 2018-06-29 2018-11-23 上海东软医疗科技有限公司 waveform output method and device
CN110989766A (en) * 2018-11-16 2020-04-10 苏州普源精电科技有限公司 A method and apparatus for constructing an arbitrary wave function
CN111077940A (en) * 2019-11-29 2020-04-28 普源精电科技股份有限公司 A method and device for automatically creating waveform sequences
CN113485748A (en) * 2021-05-31 2021-10-08 上海卫星工程研究所 Satellite condition instruction system and execution method thereof
CN115685811A (en) * 2022-09-28 2023-02-03 苏州精智达智能装备技术有限公司 A signal generator structure and instruction system capable of generating polar signal waveforms

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2064518U (en) * 1990-01-03 1990-10-24 北京理工大学 Multifunctional Function Waveform Generator
JPH0414901A (en) * 1990-05-09 1992-01-20 Yokogawa Electric Corp Waveform generator
US7453460B2 (en) * 2000-06-19 2008-11-18 Mental Images Gmbh System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points
CN101807089A (en) * 2010-04-02 2010-08-18 广西大学 Waveform signal generator with optionally adjustable output signal offset

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2064518U (en) * 1990-01-03 1990-10-24 北京理工大学 Multifunctional Function Waveform Generator
JPH0414901A (en) * 1990-05-09 1992-01-20 Yokogawa Electric Corp Waveform generator
US7453460B2 (en) * 2000-06-19 2008-11-18 Mental Images Gmbh System and method for generating pixel values for pixels in an image using strictly deterministic methodologies for generating sample points
CN101807089A (en) * 2010-04-02 2010-08-18 广西大学 Waveform signal generator with optionally adjustable output signal offset

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102788891A (en) * 2012-07-30 2012-11-21 电子科技大学 Complex waveform sequence generator
CN102788891B (en) * 2012-07-30 2014-08-13 电子科技大学 Complex waveform sequence generator
US20150277906A1 (en) * 2014-03-31 2015-10-01 Raytheon Bbn Technologies Corp. Instruction set for arbitrary control flow in arbitrary waveform generation
CN104545889A (en) * 2014-12-30 2015-04-29 深圳邦健生物医疗设备股份有限公司 Waveform demonstration method, device and medical equipment
CN106625674B (en) * 2016-12-29 2019-09-27 北京光年无限科技有限公司 An instruction processing method for a robot and the robot
CN106625674A (en) * 2016-12-29 2017-05-10 北京光年无限科技有限公司 Command processing method for robot and robot
CN108872902A (en) * 2018-06-29 2018-11-23 上海东软医疗科技有限公司 waveform output method and device
CN108872902B (en) * 2018-06-29 2021-05-28 上海东软医疗科技有限公司 Waveform output method and apparatus
CN110989766A (en) * 2018-11-16 2020-04-10 苏州普源精电科技有限公司 A method and apparatus for constructing an arbitrary wave function
CN111077940A (en) * 2019-11-29 2020-04-28 普源精电科技股份有限公司 A method and device for automatically creating waveform sequences
CN113485748A (en) * 2021-05-31 2021-10-08 上海卫星工程研究所 Satellite condition instruction system and execution method thereof
CN115685811A (en) * 2022-09-28 2023-02-03 苏州精智达智能装备技术有限公司 A signal generator structure and instruction system capable of generating polar signal waveforms
CN115685811B (en) * 2022-09-28 2024-11-08 苏州精智达智能装备技术有限公司 Signal generator structure capable of generating polar signal waveform and instruction system

Also Published As

Publication number Publication date
CN102520760B (en) 2014-09-03

Similar Documents

Publication Publication Date Title
CN102520760B (en) Processor for arbitrary waveform generating system
JP6096120B2 (en) Load / store circuitry for processing clusters
CN104603742B (en) Result generation for the state machine engine
KR101873619B1 (en) Boolean logic in a state machine lattice
CN102221987B (en) Instruction set encoding method based on embedded special instruction set processor
CN103699360B (en) A kind of vector processor and carry out vector data access, mutual method
CN107256156A (en) Method and system for the detection in state machine
CN102163141B (en) Addressing module structure for realizing digital signal processor
KR102165134B1 (en) Methods and systems for using state vector data in a state machine engine
CN102520761A (en) Arbitrary waveform generating system based on user-defined processor
CN103150146A (en) ASIP (application-specific instruction-set processor) based on extensible processor architecture and realizing method thereof
JP2015531111A (en) Method and system for handling data received by a state machine engine
CN107436618A (en) A kind of AWG based on instruction architecture
US20140317383A1 (en) Apparatus and method for compressing instruction for vliw processor, and apparatus and method for fetching instruction
CN107402596A (en) A kind of AWG based on instruction architecture
Kohútka et al. Hardware accelerated scheduling in real-time systems
TWI585602B (en) A method or apparatus to perform footprint-based optimization simultaneously with other steps
CN106598840B (en) The efficient test structure of peripheral hardware at a slow speed and method based on software self-test technology
US11036616B2 (en) Tracing the data processing activities of a data processing apparatus
CN102033733B (en) Novel micro controller unit (MCU) structure
CN111459872A (en) A fast inter-core data synchronization method for multi-core parallel computing
CN102339223B (en) Digital data processing system
CN102566969A (en) A Method of Improving the Interaction between Software and Hardware in SOPC System
CN107422780A (en) A kind of AWG based on instruction architecture
CN111355491B (en) Single-channel analog signal sampling method and device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140903

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