TWI683202B - Digital waveform signal generation device - Google Patents

Digital waveform signal generation device Download PDF

Info

Publication number
TWI683202B
TWI683202B TW106146062A TW106146062A TWI683202B TW I683202 B TWI683202 B TW I683202B TW 106146062 A TW106146062 A TW 106146062A TW 106146062 A TW106146062 A TW 106146062A TW I683202 B TWI683202 B TW I683202B
Authority
TW
Taiwan
Prior art keywords
instruction
memory
waveform signal
generating device
command
Prior art date
Application number
TW106146062A
Other languages
Chinese (zh)
Other versions
TW201928567A (en
Inventor
張殿勝
周彤堯
林玉峰
Original Assignee
大陸商彩優微電子(昆山)有限公司
奇景光電股份有限公司
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 大陸商彩優微電子(昆山)有限公司, 奇景光電股份有限公司 filed Critical 大陸商彩優微電子(昆山)有限公司
Priority to TW106146062A priority Critical patent/TWI683202B/en
Publication of TW201928567A publication Critical patent/TW201928567A/en
Application granted granted Critical
Publication of TWI683202B publication Critical patent/TWI683202B/en

Links

Images

Abstract

A digital waveform signal generation device is provided, which includes a memory unit, event processors and an arbiter. The memory unit is configured to store compiled instruction data. The event processors are configured to access the memory unit and generate and output a waveform signal according to the compiled instruction data. The arbiter is configured to determine priorities of the event processors for accessing the memory unit.

Description

數位波形訊號產生裝置 Digital waveform signal generating device

本發明是有關於一種數位波形訊號產生裝置,且特別是有關於一種通用可編程的數位波形訊號產生裝置。 The invention relates to a digital waveform signal generating device, and in particular to a universal programmable digital waveform signal generating device.

現今常見的波形產生器主要為暫存器配置型波形產生器、微處理器(MCU)波形產生器和軟核(softcore)處理器波形產生器等。暫存器配置型波形產生器係使用不同的暫存器分別設置週期長度、高低電位切換時間點和高低電位持續時間等,故對於一個較複雜的波形序列而言,往往需要大量的暫存器分別對應每一個變化位置。此外,當暫存器配置型波形產生器製造完成後,暫存器的個數不容易調整,而當遇到無法完成所欲輸出的波形時,需透過修改金屬遮罩或重新設計積體電路程式碼等方式來調整,其大幅增加硬體和/或時間成本。另一方面,微處理器波形產生器和軟核處理器波形產生器等須透過讀取事先寫好的程式驅動輸入/輸出埠才可產生波形訊號並輸出。微處理器/軟核處理器波形產生器雖然實現了可程式設計的功能,其比暫存器配置型波形產生器更加靈活,但在實際應用上有許多問題。首先,一般的軟核處理器是以為通用為目的,其包含許多其他與輸入 /輸出和指令提取無關的功能,此些不使用的功能佔用積體電路中的大量面積。其次,通用處理器還具有例如指令執行速度較慢和指令執行管線時可能發生資料危障等問題,且處理器可能使其內部計時器產生中斷並產生響應此中斷產生的不確定延時。由於以上因素,使得微處理器/軟核處理器波形產生器不能產生快速的波形。再者,處理器的波形輸出通道數量受限於處理器固定架構中的輸入/輸出埠個數,故對於需要大量輸出通道的配置會更加複雜。最後,由於微處理器/軟核處理器波形產生器採用通用指令集,波形產生器的程式碼容易被破解,使得程式設計者的智慧財產權不易被保護。 Today's common waveform generators are mainly register-configured waveform generators, microprocessor (MCU) waveform generators and softcore (softcore) processor waveform generators. The register configuration waveform generator uses different registers to set the cycle length, high and low potential switching time point and high and low potential duration, etc., so for a more complex waveform sequence, a large number of temporary registers are often required Corresponding to each change position. In addition, the number of registers is not easy to adjust after the manufacture of the register-configured waveform generator is completed, and when encountering the waveform that cannot be output, it is necessary to modify the metal mask or redesign the integrated circuit Adjustments such as code, which significantly increase hardware and/or time costs. On the other hand, the waveform generator of the microprocessor and the waveform generator of the soft core processor, etc. must drive the input/output port by reading the program written in advance to generate the waveform signal and output it. Although the waveform generator of the microprocessor/soft core processor realizes the programmable function, it is more flexible than the waveform generator of the register configuration type, but there are many problems in practical application. First of all, the general soft core processor is for general purpose, which contains many other and input /Output and instruction extraction have nothing to do with the function, these unused functions occupy a lot of area in the integrated circuit. Secondly, general-purpose processors also have problems such as slower instruction execution speed and data failures that may occur during the instruction execution pipeline, and the processor may cause its internal timer to generate an interrupt and generate an uncertain delay in response to the interrupt. Due to the above factors, the microprocessor/soft-core processor waveform generator cannot generate fast waveforms. Furthermore, the number of waveform output channels of the processor is limited by the number of input/output ports in the fixed architecture of the processor, so the configuration that requires a large number of output channels will be more complicated. Finally, because the microprocessor/soft-core processor waveform generator uses a common instruction set, the code of the waveform generator is easily cracked, making it difficult for the programmer's intellectual property rights to be protected.

本發明的目的是在於提供一種數位波形訊號產生裝置,其使用專用波形事件串流命令指令集及編譯器,可省下硬體佈局空間、增加設計彈性、產生快速的波形訊號以及提升設計資料的安全性。 The object of the present invention is to provide a digital waveform signal generation device that uses a dedicated waveform event streaming command instruction set and compiler, which can save hardware layout space, increase design flexibility, generate fast waveform signals, and improve design data. safety.

根據本發明之上述目的,提出一種數位波形訊號產生裝置,此數位波形訊號產生裝置包含記憶體單元、多個事件處理器和仲裁器。記憶體單元用以儲存編譯指令資料。此些事件處理器用以存取記憶體單元且依據編譯指令資料產生並輸出至少一波形訊號。仲裁器用以決定此些事件處理器讀取記憶體單元的順序。 According to the above object of the present invention, a digital waveform signal generating device is proposed. The digital waveform signal generating device includes a memory unit, a plurality of event processors and an arbiter. The memory unit is used to store compilation instruction data. These event processors are used to access the memory unit and generate and output at least one waveform signal according to the compiled instruction data. The arbiter is used to determine the order in which these event processors read memory cells.

依據本發明之一或多個實施例,上述此些事件處理器之每一者包含記憶體存取單元、命令提取單元、命令 解碼單元、分支預測單元和命令執行單元。記憶體存取單元用以依據當前位址從記憶體單元讀取編譯指令資料。命令提取單元用以從編譯指令資料中提取出至少一指令。命令解碼單元用以從指令中解析出指令的指令類型和指令操作個數。分支預測單元用以判斷指令類型為連續位址或跳轉位址。命令執行單元用以執行指令以更新波形訊號。其中一或多個指令屬於專用波形事件串流命令指令集,此專用波形事件串流命令指令集包含絕對時間點命令操作指令和相對時間段命令操作指令。 According to one or more embodiments of the present invention, each of these event processors includes a memory access unit, a command fetch unit, and a command Decoding unit, branch prediction unit and command execution unit. The memory access unit is used to read compilation instruction data from the memory unit according to the current address. The command extraction unit is used to extract at least one instruction from the compilation instruction data. The command decoding unit is used to parse out the command type and the number of command operations from the command. The branch prediction unit is used to determine whether the instruction type is a continuous address or a jump address. The command execution unit is used to execute commands to update the waveform signal. One or more of the instructions belong to the dedicated waveform event streaming command instruction set. The dedicated waveform event streaming command instruction set includes absolute time point command operation instructions and relative time period command operation instructions.

依據本發明之一或多個實施例,上述絕對時間點命令操作指令包含波形改變絕對位置和波形改變相對位置。 According to one or more embodiments of the present invention, the absolute time point command operation instruction includes a waveform change absolute position and a waveform change relative position.

依據本發明之一或多個實施例,上述相對時間段命令操作指令包含波形改變相對位置。 According to one or more embodiments of the present invention, the above-mentioned relative time period command operation instruction includes the waveform changing the relative position.

依據本發明之一或多個實施例,上述此些事件處理器的優先級是由用戶程式或硬體設定。 According to one or more embodiments of the present invention, the priority of these event processors is set by user programs or hardware.

依據本發明之一或多個實施例,上述此些事件處理器多路分時共享記憶體單元。 According to one or more embodiments of the present invention, the above-mentioned event processors multiplex the time-sharing shared memory unit.

依據本發明之一或多個實施例,上述此些事件處理器是經配置為並行執行。 According to one or more embodiments of the invention, the aforementioned event processors are configured to execute in parallel.

依據本發明之一或多個實施例,上述記憶體單元為靜態隨機存取記憶體static random access memory;SRAM)、電子可抹除可程式唯讀記憶體(electrically erasable programmable read only memory;EEPROM)、一次性可程式(one-time programmable;OTP)記憶體或電子可程式唯讀記憶體(erasable programmable read only memory;EPROM)。 According to one or more embodiments of the present invention, the memory unit is a static random access memory (SRAM), an electrically erasable programmable read only memory (EEPROM) , One-time programmable (one-time programmable; OTP) memory or electronic programmable read only memory (erasable programmable read only memory; EPROM).

依據本發明之一或多個實施例,上述數位波形訊號產生裝置更包含編譯器,此編譯器用以將記憶符號編碼編譯為編譯指令資料。 According to one or more embodiments of the present invention, the above-mentioned digital waveform signal generating device further includes a compiler, which is used to compile the memory symbol code into compilation instruction data.

依據本發明之一或多個實施例,上述數位波形訊號產生裝置為通用可編程。 According to one or more embodiments of the present invention, the aforementioned digital waveform signal generating device is universally programmable.

相較於寄存型配置器波形產生器、微處理器波形產生器和軟核處理器波形產生器,本發明之數位波形訊號產生裝置透過修改記憶符號編碼即可,其不需改變硬體,且其硬體部分所佔用的空間和記憶體的使用量較低,故可產生更為快速的波形訊號。此外,本發明之數位波形訊號產生裝置採用並行架構,其適於同時輸出多個波形訊號,程式設計者更為容易編輯記憶符號編碼,且其所使用的專用指令集及編譯器可避免如微處理器波形產生器和軟核處理器波形產生器的程式可輕易破解,故可進一步保護程式設計者或公司的智慧財產權。 Compared with the registered configurator waveform generator, microprocessor waveform generator and soft core processor waveform generator, the digital waveform signal generating device of the present invention can modify the code of the memory symbol without changing the hardware, and The space occupied by the hardware and the amount of memory used are low, so it can generate faster waveform signals. In addition, the digital waveform signal generation device of the present invention adopts a parallel architecture, which is suitable for outputting multiple waveform signals at the same time. It is easier for programmers to edit the memory symbol codes, and the dedicated instruction set and compiler used by them can avoid such a slight The programs of the processor waveform generator and the soft core processor waveform generator can be easily cracked, so the intellectual property rights of the programmer or company can be further protected.

100‧‧‧數位波形訊號產生裝置 100‧‧‧Digital waveform signal generating device

110‧‧‧硬體部分 110‧‧‧Hardware

112‧‧‧區塊記憶體 112‧‧‧ block memory

114(1)~114(N)、200‧‧‧事件處理器 114(1)~114(N), 200‧‧‧event processor

116‧‧‧仲裁器 116‧‧‧Arbiter

122‧‧‧編譯器 122‧‧‧ compiler

124‧‧‧記憶符號編碼 124‧‧‧ memory symbol encoding

202‧‧‧狀態機 202‧‧‧ State Machine

204‧‧‧記憶體存取單元 204‧‧‧Memory Access Unit

206‧‧‧命令提取單元 206‧‧‧Command extraction unit

208‧‧‧命令解碼單元 208‧‧‧Command decoding unit

210‧‧‧分支預測單元 210‧‧‧ branch prediction unit

212‧‧‧命令執行單元 212‧‧‧ Command execution unit

Pin_1~Pin_N‧‧‧波形訊號 Pin_1~Pin_N‧‧‧wave signal

t1~t7‧‧‧時間點 t1~t7‧‧‧time

為了更完整了解實施例及其優點,現參照結合所附圖式所做之下列描述,其中:〔圖1〕為依據本發明一些實施例之數位波形訊號產生裝置的示意圖; 〔圖2〕為依據本發明一些實施例之事件處理器的示意圖;以及〔圖3〕為記憶符號編碼之一實例的波形訊號輸出結果。 For a more complete understanding of the embodiment and its advantages, reference is now made to the following description made in conjunction with the accompanying drawings, where: [FIG. 1] is a schematic diagram of a digital waveform signal generating device according to some embodiments of the invention; [FIG. 2] is a schematic diagram of an event processor according to some embodiments of the present invention; and [FIG. 3] is a waveform signal output result of an example of memory symbol encoding.

以下仔細討論本發明的實施例。然而,可以理解的是,實施例提供許多可應用的發明概念,其可實施於各式各樣的特定內容中。所討論之特定實施例僅供說明,並非用以限定本發明之範圍。 The embodiments of the present invention are discussed in detail below. However, it can be understood that the embodiments provide many applicable inventive concepts that can be implemented in a variety of specific contents. The specific embodiments discussed are for illustration only and are not intended to limit the scope of the invention.

在本文中所使用之「耦接」一詞,可指二或多個元件相互直接作實體或電性接觸,或是相互間接作實體或電性接觸,而「耦接」還可指二或多個元件相互操作或動作。 As used herein, the term "coupled" may refer to two or more elements making direct physical or electrical contact with each other, or indirectly making physical or electrical contact with each other, and "coupling" may also refer to two or Multiple elements interoperate or act.

請參照圖1,其為依據本發明一些實施例之數位波形訊號產生裝置100的示意圖。數位波形訊號產生裝置100為通用可編程且不同於寄存型配置器、微處理器波形產生器和軟核處理器波形產生器,其不需配置大量的寄存器,且其使用專用的波形事件流指令來產生更快速的波形訊號。數位波形訊號產生裝置100的硬體部分110包含記憶體單元112、事件處理器114(1)~114(N)和仲裁器116。記憶體單元112用以儲存編譯指令資料,且其可以是靜態隨機存取記憶體static random access memory;SRAM)、電子可抹除可程式唯讀記憶體(electrically erasable programmable read only memory;EEPROM)、一次性可程式(one-time programmable;OTP)記憶體或電 子可程式唯讀記憶體(erasable programmable read only memory;EPROM),但不限於此。事件處理器114(1)~114(N)用以存取記憶體單元112且分別依據編譯指令資料產生並輸出波形訊號Pin_1~Pin_N。事件處理器114(1)~114(N)為並行結構,即事件處理器114(1)~114(N)為並行且獨立執行,且其不相互影響。事件處理器114(1)~114(N)的個數N可依據實際使用的需求(例如波形訊號輸出通道的數量)對應決定。此外,事件處理器114(1)~114(N)可以不同時運作,即在同一時段中實際運作的事件處理器數量可小於個數N。仲裁器116耦接事件處理器114(1)~114(N)和記憶體單元112,其用以決定事件處理器114(1)~114(N)讀取記憶體單元112的順序。舉例而言,在默認設置下,若事件處理器114(1)~114(N)中有兩個事件處理器114同時欲讀取指令,則訪問位址較低的事件處理器優先讀取指令,待其讀取完成後,訪問位址較高的事件處理器再讀取指令。此外,仲裁器116亦可配置事件處理器114(1)~114(N)為並行執行。事件處理器114(1)~114(N)的優先級可由用戶程式或硬體設定,但不限於此。此外,事件處理器114(1)~114(N)可多路分時共享記憶體單元112。 Please refer to FIG. 1, which is a schematic diagram of a digital waveform signal generating device 100 according to some embodiments of the present invention. The digital waveform signal generating device 100 is universally programmable and different from the registered configurator, microprocessor waveform generator and soft core processor waveform generator, it does not need to configure a large number of registers, and it uses dedicated waveform event stream instructions To generate faster waveform signals. The hardware portion 110 of the digital waveform signal generating device 100 includes a memory unit 112, event processors 114(1) to 114(N), and an arbiter 116. The memory unit 112 is used to store compilation instruction data, and it may be static random access memory (SRAM), electronically erasable programmable read only memory (EEPROM), One-time programmable (OTP) memory or electrical Erasable programmable read only memory (EPROM), but not limited to this. The event processors 114(1)-114(N) are used to access the memory unit 112 and generate and output waveform signals Pin_1~Pin_N according to the compiled instruction data, respectively. The event processors 114(1) to 114(N) have a parallel structure, that is, the event processors 114(1) to 114(N) are executed in parallel and independently, and they do not affect each other. The number N of the event processors 114(1) to 114(N) can be correspondingly determined according to actual requirements (such as the number of waveform signal output channels). In addition, the event processors 114(1) to 114(N) can be operated at different times, that is, the number of event processors actually operated in the same time period can be less than the number N. The arbiter 116 is coupled to the event processors 114(1)-114(N) and the memory unit 112, and is used to determine the order in which the event processors 114(1)-114(N) read the memory unit 112. For example, under the default settings, if there are two event processors 114 in the event processors 114(1) to 114(N) that want to read instructions at the same time, the event processor with a lower address is given priority to read the instructions After the reading is completed, the event processor with a higher address is accessed to read the instruction again. In addition, the arbiter 116 can also configure the event processors 114(1) to 114(N) to execute in parallel. The priority of the event processors 114(1)~114(N) can be set by user program or hardware, but not limited to this. In addition, the event processors 114(1) to 114(N) can share the memory unit 112 in multiplexed time-sharing.

除了硬體部分之外,數位波形訊號產生裝置100還包含編譯器122,其用以對記憶符號編碼124進行編譯,以將記憶符號編碼124中的內容轉換為二進位機器碼格式的編譯指令資料。在編譯的過程中,編譯器122將跳轉指 令(例如loop指令和xlppp指令)中所使用的相對跳轉位址轉換為絕對位址,且統一分配給每一個輸出通道對應的事件處理器入口位址和代碼長度。此外,編輯器122還具有指令錯誤偵測和增加註釋的功能,其利於程式設計者編輯記憶符號編碼124的內容。記憶符號編碼124可由程式設計者透過輸入裝置來編輯。 In addition to the hardware part, the digital waveform signal generating device 100 further includes a compiler 122 for compiling the memory symbol code 124 to convert the content in the memory symbol code 124 into the compiled instruction data in the binary machine code format . During the compilation process, the compiler 122 will jump to The relative jump addresses used in the commands (such as the loop instruction and the xlppp instruction) are converted to absolute addresses, and are uniformly assigned to the event processor entry address and code length corresponding to each output channel. In addition, the editor 122 also has the function of detecting command errors and adding comments, which facilitates programmers to edit the content of the memory symbol code 124. The memory symbol code 124 can be edited by the programmer through the input device.

請參照圖2,其為依據本發明一些實施例之事件處理器200的示意圖。圖2之事件處理器200為圖1之事件處理器114(1)~114(N)中的任何一者。事件處理器200包含狀態機202、記憶體存取單元204、命令提取單元206、命令解碼單元208、分支預測單元210和命令執行單元212。狀態機202用以紀錄事件處理器200的當前執行狀態。記憶體存取單元204用以依據當前位址從記憶體單元112讀取編譯指令資料。命令提取單元206用以從編譯指令資料中提取出至少一指令。命令解碼單元208用以從指令中解析出指令類型和指令操作個數。分支預測單元210用以判斷指令類型為連續位址或跳轉位址。命令執行單元212用以執行指令以更新波形訊號。 Please refer to FIG. 2, which is a schematic diagram of an event processor 200 according to some embodiments of the present invention. The event processor 200 of FIG. 2 is any one of the event processors 114(1) to 114(N) of FIG. The event processor 200 includes a state machine 202, a memory access unit 204, a command extraction unit 206, a command decoding unit 208, a branch prediction unit 210, and a command execution unit 212. The state machine 202 is used to record the current execution state of the event processor 200. The memory access unit 204 is used to read compilation instruction data from the memory unit 112 according to the current address. The command extraction unit 206 is used to extract at least one instruction from the compilation instruction data. The command decoding unit 208 is used to parse out the command type and the number of command operations from the command. The branch prediction unit 210 is used to determine whether the instruction type is a continuous address or a jump address. The command execution unit 212 is used to execute commands to update the waveform signal.

數位波形訊號產生裝置100使用專用波形事件串流命令指令集,其包含波形事件命令和波形週期命令,其中波形事件命令還包含絕對時間點命令操作指令(又稱為相對時間段命令操作指令)和固定事件位置命令操作指令(又稱為累積事件位置命令操作指令),而波形週期命令包含跳 轉位址命令操作指令。舉例而言,數位波形訊號產生裝置100使用的指令格式可包含以下(第一欄為指令類型):

Figure 106146062-A0101-12-0008-1
其中,包含指令記憶符號fppi的指令為絕對時間點命令操作指令,包含指令記憶符號appi或s-appi的指令為相對時間段命令操作指令,而包含指令記憶符號loop或xloop的指令為跳轉位址命令操作指令。在上述指令格式中,level為高電位或低電位,ret_addr為返回位址,p-position為波形改變絕對位置,p-displacement和h-displacement為波形改變相對位置(其中p-和h-分別代表精細值和粗略值),而repeat_num為重複進行次數。 The digital waveform signal generating device 100 uses a dedicated waveform event streaming command instruction set, which includes a waveform event command and a waveform period command, where the waveform event command also includes an absolute time point command operation command (also called a relative time period command operation command) and The fixed event position command operation instruction (also called the cumulative event position command operation instruction), and the waveform cycle command includes the jump address command operation instruction. For example, the command format used by the digital waveform signal generating device 100 may include the following (the first column is the command type):
Figure 106146062-A0101-12-0008-1
Among them, the instruction including the instruction memory symbol fppi is an absolute time point command operation instruction, the instruction including the instruction memory symbol appi or s-appi is a relative time period command operation instruction, and the instruction including the instruction memory symbol loop or xloop is the jump address Command operation instructions. In the above instruction format, level is high or low, ret_addr is the return address, p-position is the absolute position of the waveform change, p-displacement and h-displacement are the relative positions of the waveform change (where p- and h- represent respectively Fine value and rough value), and repeat_num is the number of repetitions.

以下為依據本發明第一實施例的指令格式和對應欄位和位元數:長fppi指令:3位元組2位元(01)1位元(level)9位元(p-position)12位元(h-displacement)fppi指令:2位元組2位元(00)1位元(level)1位元(fppi索引)8位元(v-displacement)4位元(h-displacement)短fppi指令:1位元組2位元(01)1位元(level)1位元(短fppi索引)4位元(h-displacement)loop指令:2位元組2位元(11)6位元(返回位址/負數/相對值)8位元(返回次數)extern loop指令:2位元組2位元(10)8位元(返回位址/負數/相對值)6位元(返回次數) 其中,絕對時間點命令操作指令包含長fppi指令、fppi指令和短fppi指令等操作指令,其主要差別在於長度分別為3位元組、2位元組和1位元組。此外,跳轉位址命令操作指令包含loop指令和extern loop(即x-loop)指令等操作指令,其位元組數相同但返回位址/負數/相對值和返回次數所佔的位元數不同。 The following is the command format and the corresponding fields and bit numbers according to the first embodiment of the present invention: long fppi command: 3 bytes 2 bits (01) 1 bit (level) 9 bits (p-position) 12 Bit (h-displacement) fppi instruction: 2 bytes 2 bits (00) 1 bit (level) 1 bit (fppi index) 8 bits (v-displacement) 4 bits (h-displacement) short fppi command: 1 byte 2 bits (01) 1 bit (level) 1 bit (short fppi index) 4 bits (h-displacement) loop command: 2 bytes 2 bits (11) 6 bits Yuan (return address/negative number/relative value) 8 bits (return times) extern loop instruction: 2 bytes 2 bits (10) 8 bits (return address/negative number/relative value) 6 bits (return frequency) Among them, the absolute point-in-time command operation instructions include long fppi instructions, fppi instructions and short fppi instructions. The main difference is that the lengths are 3 bytes, 2 bytes and 1 byte respectively. In addition, the jump address command operation instructions include loop instructions and extern loop (ie x-loop) instructions and other operation instructions. The number of bytes is the same but the number of bytes returned by the return address/negative number/relative value and the number of return times is different. .

以下為依據本發明第二實施例的指令格式和對應欄位和位元數:fppi指令:3位元組2位元(01)1位元(level)9位元(p-position)12位元(h-displacement)appi指令:2位元組2位元(00)1位元(level)1位元(短appi索引)8位元(v-displacement)4位元(h-displacement)短appi指令:1位元組2位元(00)1位元(level)1位元(超短ppi索引)4位元(h-displacement)loop指令:2位元組2位元(11)6位元(返回位址/負數/相對值)8位元(返回次數)extern loop指令:2位元組2位元(10)8位元(返回位址/負數/相對值)6位元(返回次數) The following is the command format and corresponding fields and bit numbers according to the second embodiment of the present invention: fppi command: 3 bytes 2 bits (01) 1 bit (level) 9 bits (p-position) 12 bits H-displacement appi instruction: 2 bytes 2 bits (00) 1 bit (level) 1 bit (short appi index) 8 bits (v-displacement) 4 bits (h-displacement) short appi command: 1 byte 2 bits (00) 1 bit (level) 1 bit (ultra-short ppi index) 4 bits (h-displacement) loop command: 2 bytes 2 bits (11) 6 Bit (return address/negative number/relative value) 8 bits (return times) extern loop instruction: 2 bytes 2 bits (10) 8 bits (return address/negative number/relative value) 6 bits ( Return times)

第二實施例的指令格式與第一實施例的指令格式的主要差別在於,絕對時間點命令操作指令僅包含長度為3位元組的fppi指令,而相對時間段命令操作指令包含長度為2位元組的appi指令和長度為1位元組的s-appi指令。 The main difference between the instruction format of the second embodiment and the instruction format of the first embodiment is that the absolute time command operation instruction only includes the fppi instruction with a length of 3 bytes, while the relative time period command operation instruction includes the length of 2 bits. The tuple's appi instruction and the 1-byte s-appi instruction.

上述指令格式可由編譯器122編譯成二位元機器碼。舉例而言,以下為記憶符號編碼124的一實例:

Figure 106146062-A0101-12-0010-4
經由編譯器122對上述記憶符號編碼124的實例進行編譯後,輸出之編譯指令資料的二位元機器碼格式如下:
Figure 106146062-A0101-12-0010-3
此些輸出的編譯指令資料儲存於記憶體單元112中。接著,事件處理器114(1)透過仲裁器116從記憶體單元112下載並執行此些編譯指令資料,以對應輸出波形訊號Pin_1。 The above instruction format can be compiled into two-bit machine code by the compiler 122. For example, the following is an example of the memory symbol code 124:
Figure 106146062-A0101-12-0010-4
After compiling the above example of the memory symbol encoding 124 via the compiler 122, the output binary code format of the compiled instruction data is as follows:
Figure 106146062-A0101-12-0010-3
The output compiled instruction data is stored in the memory unit 112. Then, the event processor 114(1) downloads and executes the compiled instruction data from the memory unit 112 through the arbiter 116 to correspond to the output waveform signal Pin_1.

以下為依據本發明第三實施例的指令格式和對應欄位和位元數:fppi指令:3位元組3位元(101)1位元(level)8位元(p-position)12位元(h-displacement)appi指令:3位元組3位元(000)1位元(level)9位元(p-displacement)11位元(h-displacement)短appi指令:2位元組3位元(100)1位元(level)9位元(p-displacement)3位元(h-displacement)loop指令:2位元組3位元(111)5位元(返回位址)8位元(返回次數)extern loop指令:2位元組3位元(110)7位元(返回位址)6位元(返回次數) The following is the command format and corresponding fields and bit numbers according to the third embodiment of the present invention: fppi command: 3-bit 3-bit (101) 1-bit (level) 8-bit (p-position) 12-bit H-displacement appi command: 3-bit 3-bit (000) 1-bit (level) 9-bit (p-displacement) 11-bit (h-displacement) short appi command: 2-byte 3 Bit (100) 1 bit (level) 9 bit (p-displacement) 3 bit (h-displacement) loop instruction: 2 bytes 3 bits (111) 5 bits (return address) 8 bits Yuan (return times) extern loop instruction: 2 bytes 3 bits (110) 7 bits (return address) 6 bits (return times)

第三實施例的指令格式與第二實施例的指令格式的主要差別在於,在第三實施例的指令格式中,指令類型 所佔的位元數為3位元,且若干指令格式中的欄位減少1位元,例如fppi操作指令中的p-ppsition。 The main difference between the instruction format of the third embodiment and the instruction format of the second embodiment is that, in the instruction format of the third embodiment, the instruction type The number of occupied bits is 3 bits, and the field in some instruction formats is reduced by 1 bit, for example, p-ppsition in the fppi operation instruction.

以下以使用兩個事件處理器114(1)、114(2)為例說明記憶符號編碼124和對應輸出波形訊號Pin_1、Pin_2的關係。記憶符號編碼124的一實例如下所示:

Figure 106146062-A0101-12-0011-5
The following uses two event processors 114(1) and 114(2) as an example to illustrate the relationship between the memory symbol code 124 and the corresponding output waveform signals Pin_1 and Pin_2. An example of the memory symbol code 124 is as follows:
Figure 106146062-A0101-12-0011-5

對應以上實例的波形訊號輸出如圖3所示。以波形訊號Pin_1而言,首先在時間點t1時,執行第一個fppi操作指令,將對應至第2列第8個位置的訊號準位初始化為0。接著,在時間點t2時,執行appi操作指令,將第2列第8個位置的訊號準位設定為1。之後,在時間點t3時,執行第一個s-appi操作指令,將當前位置的訊號準位設定為0且持續8個時間單位。接著,在時間點t4時,重複100p1的內迴圈,也就是重複上述appi操作指令和第一個s-appi操作指令兩次,直到第三次第一個s-appi操作指令執行結束。在時間點 t5時,執行第二個s-appi操作指令,將當前位置的訊號準位設定為1且持續18個時間單位。接著,在時間點t6時,重複loop1的外迴圈,也就是重複上述loop1內迴圈和和第二個s-appi操作指令三次,直到第四次第二個s-appi操作指令執行結束。最後,執行第二個s-appi操作指令,將當前位置的訊號準位設定為0且持續至當前波形圖框結束。 The waveform signal output corresponding to the above example is shown in Figure 3. For the waveform signal Pin_1, at time t1, the first fppi operation instruction is executed to initialize the signal level corresponding to the 8th position in the second column to 0. Next, at time t2, an appi operation instruction is executed to set the signal level of the 8th position in the second column to 1. After that, at time t3, the first s-appi operation instruction is executed, and the signal level of the current position is set to 0 for 8 time units. Then, at time t4, the inner loop of 100p1 is repeated, that is, the above-mentioned appi operation instruction and the first s-appi operation instruction are repeated twice until the execution of the third s-appi operation instruction ends. At a point in time At t5, the second s-appi operation instruction is executed, and the signal level of the current position is set to 1 for 18 time units. Then, at time t6, the outer loop of loop1 is repeated, that is, the inner loop of loop1 and the second s-appi operation instruction are repeated three times until the execution of the fourth second s-appi operation instruction is completed. Finally, execute the second s-appi operation command to set the signal level of the current position to 0 and continue until the end of the current waveform frame.

而就波形訊號Pin_2而言,因為其對應的記憶符號編碼與波形訊號Pin_1對應的記憶符號編碼的差異僅在第一個fppi操作指令為將第2列第9個位置的訊號準位初始化為0。由此可知,波形訊號Pin_2為波形訊號Pin_1的向右平移,且在忽略平移的情況下,兩者的波形變化情形相同。 As for the waveform signal Pin_2, because the difference between the corresponding memory symbol encoding and the memory signal encoding corresponding to the waveform signal Pin_1 is only in the first fppi operation instruction, the signal level of the ninth position in the second row is initialized to 0 . It can be seen that the waveform signal Pin_2 is the rightward translation of the waveform signal Pin_1, and the waveform change of the two is the same when the translation is ignored.

本發明之數位波形訊號產生裝置至少具有下列優點。首先,相較於寄存型配置器波形產生器、微處理器波形產生器和軟核處理器波形產生器,本發明之數位波形訊號產生裝置透過修改記憶符號編碼即可,其不需改變硬體,且其硬體部分所佔用的空間和記憶體的使用量較低,故可產生更為快速的波形訊號。此外,本發明之數位波形訊號產生裝置採用並行架構,其適於同時輸出多個波形訊號,程式設計者更為容易編輯記憶符號編碼,且其所使用的專用指令集及編譯器可避免如微處理器波形產生器和軟核處理器波形產生器的程式可被輕易破解,故可進一步保護程式設計者或公司的智慧財產權。然而,本發明之應用不限於積體電路領域,其亦可應用在電機驅動、變頻驅動、工業控制和其他合適的領域。 The digital waveform signal generating device of the present invention has at least the following advantages. First of all, compared with the registered configurator waveform generator, microprocessor waveform generator and soft core processor waveform generator, the digital waveform signal generating device of the present invention can modify the code of the memory symbol without changing the hardware And the space occupied by its hardware and the amount of memory used are low, so it can generate faster waveform signals. In addition, the digital waveform signal generation device of the present invention adopts a parallel architecture, which is suitable for outputting multiple waveform signals at the same time. It is easier for programmers to edit the memory symbol codes, and the dedicated instruction set and compiler used by them can avoid such a slight The programs of the processor waveform generator and soft core processor waveform generator can be easily cracked, so the intellectual property rights of the programmer or company can be further protected. However, the application of the present invention is not limited to the field of integrated circuits, it can also be applied to motor drive, variable frequency drive, industrial control and other suitable fields.

雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。 Although the present invention has been disclosed as above with examples, it is not intended to limit the present invention. Any person with ordinary knowledge in the technical field can make some changes and modifications without departing from the spirit and scope of the present invention. The scope of protection of the present invention shall be subject to the scope defined in the appended patent application.

100‧‧‧數位波形訊號產生裝置 100‧‧‧Digital waveform signal generating device

110‧‧‧硬體部分 110‧‧‧Hardware

112‧‧‧記憶體單元 112‧‧‧Memory unit

114(1)~114(N)‧‧‧事件處理器 114(1)~114(N)‧‧‧Event processor

116‧‧‧仲裁器 116‧‧‧Arbiter

122‧‧‧編譯器 122‧‧‧ compiler

124‧‧‧記憶符號編碼 124‧‧‧ memory symbol encoding

Pin_1~Pin_N‧‧‧波形訊號 Pin_1~Pin_N‧‧‧wave signal

Claims (9)

一種數位波形訊號產生裝置,包含:一記憶體單元,用以儲存一編譯指令資料;複數個事件處理器,用以存取該記憶體單元且依據該編譯指令資料產生並輸出至少一波形訊號,其中該些事件處理器為並行結構,且每一該些事件處理器包含:一記憶體存取單元,用以依據一當前位址從該記憶體單元讀取該編譯指令資料;一命令提取單元,用以從該編譯指令資料中提取出至少一指令;一命令解碼單元,用以從該至少一指令中解析出指令類型和指令操作個數;一分支預測單元,用以判斷該至少一指令之指令類型為連續位址或跳轉位址;以及一命令執行單元,用以執行該至少一指令以更新該波形訊號;以及一仲裁器,用以決定該些事件處理器讀取該記憶體單元的順序;其中,該至少一指令中之一或多者屬於一專用波形事件串流命令指令集,該專用波形事件串流命令指令集包含一絕對時間點命令操作指令和一相對時間段命令操作指令。 A digital waveform signal generating device includes: a memory unit for storing a compilation instruction data; a plurality of event processors for accessing the memory unit and generating and outputting at least one waveform signal according to the compilation instruction data, The event processors are of a parallel structure, and each of the event processors includes: a memory access unit for reading the compiled instruction data from the memory unit according to a current address; and a command extraction unit , Used to extract at least one instruction from the compiled instruction data; an instruction decoding unit, used to parse out the instruction type and the number of instruction operations from the at least one instruction; a branch prediction unit, used to determine the at least one instruction The instruction type is a continuous address or a jump address; and a command execution unit for executing the at least one instruction to update the waveform signal; and an arbiter for determining that the event processors read the memory unit Sequence; wherein, one or more of the at least one instruction belongs to a dedicated waveform event streaming command instruction set, the dedicated waveform event streaming command instruction set includes an absolute time point command operation instruction and a relative time period command operation instruction. 如申請專利範圍第1項所述之數位波形訊號產生裝置,其中該絕對時間點命令操作指令包含一波形改變絕對位置和一波形改變相對位置。 The digital waveform signal generating device as described in item 1 of the patent application scope, wherein the absolute time point command operation instruction includes a waveform change absolute position and a waveform change relative position. 如申請專利範圍第1項所述之數位波形訊號產生裝置,其中該相對時間段命令操作指令包含一波形改變相對位置。 The digital waveform signal generating device as described in item 1 of the patent application scope, wherein the relative time period command operation instruction includes a waveform to change the relative position. 如申請專利範圍第1項所述之數位波形訊號產生裝置,其中該些事件處理器之優先級是由一用戶程式或一硬體設定。 The digital waveform signal generating device as described in item 1 of the patent application scope, wherein the priority of the event processors is set by a user program or a hardware. 如申請專利範圍第1項所述之數位波形訊號產生裝置,其中該些事件處理器多路分時共享該記憶體單元。 The digital waveform signal generating device as described in item 1 of the scope of the patent application, wherein the event processors share the memory unit in multiple time-sharing. 如申請專利範圍第1項所述之數位波形訊號產生裝置,其中該些事件處理器是經配置為並行執行。 The digital waveform signal generating device as described in item 1 of the patent application scope, wherein the event processors are configured to execute in parallel. 如申請專利範圍第1項所述之數位波形訊號產生裝置,其中該記憶體單元為一靜態隨機存取記憶體(static random access memory;SRAM)、一電子可抹除可程式唯讀記憶體(electrically erasable programmable read only memory;EEPROM)、一一次性可程式(one-time programmable;OTP)記憶體或 一電子可程式唯讀記憶體(erasable programmable read only memory;EPROM)。 The digital waveform signal generating device as described in item 1 of the patent scope, wherein the memory unit is a static random access memory (SRAM), an electronic erasable programmable read-only memory ( electrically erasable programmable read only memory (EEPROM), a one-time programmable (OTP) memory or An electronic programmable read only memory (erasable programmable read only memory; EPROM). 如申請專利範圍第1項所述之數位波形訊號產生裝置,更包含一編譯器,該編譯器用以將一記憶符號編碼編譯為該編譯指令資料。 The digital waveform signal generating device as described in item 1 of the patent scope further includes a compiler for compiling a memory symbol code into the compilation instruction data. 如申請專利範圍第1項所述之數位波形訊號產生裝置,其中該數位波形訊號產生裝置為通用可編程。 The digital waveform signal generating device as described in item 1 of the patent application scope, wherein the digital waveform signal generating device is universally programmable.
TW106146062A 2017-12-27 2017-12-27 Digital waveform signal generation device TWI683202B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106146062A TWI683202B (en) 2017-12-27 2017-12-27 Digital waveform signal generation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106146062A TWI683202B (en) 2017-12-27 2017-12-27 Digital waveform signal generation device

Publications (2)

Publication Number Publication Date
TW201928567A TW201928567A (en) 2019-07-16
TWI683202B true TWI683202B (en) 2020-01-21

Family

ID=68048662

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106146062A TWI683202B (en) 2017-12-27 2017-12-27 Digital waveform signal generation device

Country Status (1)

Country Link
TW (1) TWI683202B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4222108A (en) * 1978-12-01 1980-09-09 Braaten Norman J Digitally-programmed arbitrary waveform generator
US4773022A (en) * 1985-02-01 1988-09-20 Analogic Corporation Electrical waveform generator means and methods
US4791384A (en) * 1984-02-15 1988-12-13 Harris Corporation Programmable function controller for use in a waveform generator system
US5463334A (en) * 1995-02-02 1995-10-31 The United States Of America As Represented By The Secretary Of The Navy Arbitrary waveform generator
US6463390B1 (en) * 1998-07-01 2002-10-08 Yamaha Corporation Setting method and device for waveform generator with a plurality of waveform generating modules
US20070067605A1 (en) * 2005-08-17 2007-03-22 Jung-Lin Chang Architecture of a parallel-processing multi-microcontroller system and timing control method thereof
US7258688B1 (en) * 2002-04-16 2007-08-21 Baylis Medical Company Inc. Computerized electrical signal generator
WO2008008227A1 (en) * 2006-07-10 2008-01-17 Asterion, Inc. Digital waveform generation and measurement in automated test equipment
EP2378667A2 (en) * 2010-04-15 2011-10-19 Tektronix, Inc. Method for compensating a frequency characteristic of an arbitrary waveform generator
TW201214971A (en) * 2010-06-23 2012-04-01 Raytheon Co A waveform generator in a multi-chip system
CN107402596A (en) * 2017-08-08 2017-11-28 电子科技大学 A kind of AWG based on instruction architecture

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4222108A (en) * 1978-12-01 1980-09-09 Braaten Norman J Digitally-programmed arbitrary waveform generator
US4791384A (en) * 1984-02-15 1988-12-13 Harris Corporation Programmable function controller for use in a waveform generator system
US4773022A (en) * 1985-02-01 1988-09-20 Analogic Corporation Electrical waveform generator means and methods
US5463334A (en) * 1995-02-02 1995-10-31 The United States Of America As Represented By The Secretary Of The Navy Arbitrary waveform generator
US6463390B1 (en) * 1998-07-01 2002-10-08 Yamaha Corporation Setting method and device for waveform generator with a plurality of waveform generating modules
US7258688B1 (en) * 2002-04-16 2007-08-21 Baylis Medical Company Inc. Computerized electrical signal generator
US20070067605A1 (en) * 2005-08-17 2007-03-22 Jung-Lin Chang Architecture of a parallel-processing multi-microcontroller system and timing control method thereof
WO2008008227A1 (en) * 2006-07-10 2008-01-17 Asterion, Inc. Digital waveform generation and measurement in automated test equipment
EP2378667A2 (en) * 2010-04-15 2011-10-19 Tektronix, Inc. Method for compensating a frequency characteristic of an arbitrary waveform generator
TW201214971A (en) * 2010-06-23 2012-04-01 Raytheon Co A waveform generator in a multi-chip system
CN107402596A (en) * 2017-08-08 2017-11-28 电子科技大学 A kind of AWG based on instruction architecture

Also Published As

Publication number Publication date
TW201928567A (en) 2019-07-16

Similar Documents

Publication Publication Date Title
US8788991B2 (en) State grouping for element utilization
TWI541658B (en) Data processing apparatus and semiconductor integrated circuit device
EP0231928B1 (en) Program control circuit
JPH04313121A (en) Instruction memory device
EP0034180B1 (en) Special address generation arrangement
US4346437A (en) Microcomputer using a double opcode instruction
KR100206887B1 (en) Cpu for debugging program
EP0070863A1 (en) Stored-program control machine.
KR100248134B1 (en) Program transformation system for microcomputer and microcomputer employing transformed program
TWI683202B (en) Digital waveform signal generation device
US5995993A (en) Serial in-circuit emulator
JP2878503B2 (en) Integrated circuit including standard cells, application cells, and test cells
KR20030041191A (en) Microcontroller with program patching capability and method for operating the same
JP5933685B2 (en) Microcomputer and nonvolatile semiconductor device
CN109933126B (en) Digital waveform signal generating device
US20110125984A1 (en) Microprocessor
David et al. Self-timed architecture of a reduced instruction set computer
CN100511170C (en) Evaluation chip
CN115586921A (en) Method, circuit, chip and electronic device for realizing multi-bit register atomic operation
JPS642177Y2 (en)
CN117724664A (en) Data writing method, device, equipment and storage medium
US8566772B2 (en) Method, computer program and computing system for optimizing an architectural model of a microprocessor
US20050283581A1 (en) Data reading structure
JPH0459636B2 (en)
JPH08106383A (en) Arithmetic processor