CN109933126B - 数字波形信号产生装置 - Google Patents
数字波形信号产生装置 Download PDFInfo
- Publication number
- CN109933126B CN109933126B CN201711351208.8A CN201711351208A CN109933126B CN 109933126 B CN109933126 B CN 109933126B CN 201711351208 A CN201711351208 A CN 201711351208A CN 109933126 B CN109933126 B CN 109933126B
- Authority
- CN
- China
- Prior art keywords
- instruction
- command
- memory
- waveform
- waveform signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Tests Of Electronic Circuits (AREA)
- Executing Machine-Instructions (AREA)
Abstract
一种数字波形信号产生装置,包含记忆体单元、多个事件处理器和仲裁器。记忆体单元用以储存编译指令数据。这些事件处理器用以存取记忆体单元且依据编译指令数据产生并输出波形信号。仲裁器用以决定这些事件处理器读取记忆体单元的顺序。本发明的数字波形信号产生装置可省下硬件布局空间、增加设计弹性、产生快速的波形信号以及提升设计数据的安全性。
Description
技术领域
本发明涉及一种数字波形信号产生装置,且特别是涉及一种通用可编程的数字波形信号产生装置。
背景技术
现今常见的波形产生器主要为暂存器配置型波形产生器、微处理器(MCU)波形产生器和软核(softcore)处理器波形产生器等。暂存器配置型波形产生器是使用不同的暂存器分别设置周期长度、高低电位切换时间点和高低电位持续时间等,故对于一个较复杂的波形序列而言,往往需要大量的暂存器分别对应每一个变化位置。此外,当暂存器配置型波形产生器制造完成后,暂存器的个数不容易调整,而当遇到无法完成所欲输出的波形时,需透过修改金属遮罩或重新设计集成电路程序码等方式来调整,其大幅增加硬件和/或时间成本。另一方面,微处理器波形产生器和软核处理器波形产生器等须透过读取事先写好的程序驱动输入/输出端口才可产生波形信号并输出。微处理器/软核处理器波形产生器虽然实现了可编程设计的功能,其比暂存器配置型波形产生器更加灵活,但在实际应用上有许多问题。首先,一般的软核处理器是以为通用为目的,其包含许多其他与输入/输出和指令提取无关的功能,这些不使用的功能占用集成电路中的大量面积。其次,通用处理器还具有例如指令执行速度较慢和指令执行管线时可能发生数据危障等问题,且处理器可能使其内部计时器产生中断并产生响应此中断产生的不确定延时。由于以上因素,使得微处理器/软核处理器波形产生器不能产生快速的波形。再者,处理器的波形输出通道数量受限于处理器固定架构中的输入/输出端口个数,故对于需要大量输出通道的配置会更加复杂。最后,由于微处理器/软核处理器波形产生器采用通用指令集,波形产生器的程序码容易被破解,使得程序设计者的智慧财产权不易被保护。
发明内容
本发明的目的是在于提供一种数字波形信号产生装置,其使用专用波形事件串流命令指令集及编译器,可省下硬件布局空间、增加设计弹性、产生快速的波形信号以及提升设计数据的安全性。
根据本发明的上述目的,提出一种数字波形信号产生装置,此数字波形信号产生装置包含记忆体单元、多个事件处理器和仲裁器。记忆体单元用以储存编译指令数据。这些事件处理器用以存取记忆体单元且依据编译指令数据产生并输出至少一波形信号。仲裁器用以决定这些事件处理器读取记忆体单元的顺序。
依据本发明的一或多个实施例,上述这些事件处理器的每一者包含记忆体存取单元、命令提取单元、命令解码单元、分支预测单元和命令执行单元。记忆体存取单元用以依据当前地址从记忆体单元读取编译指令数据。命令提取单元用以从编译指令数据中提取出至少一指令。命令解码单元用以从指令中解析出指令的指令类型和指令操作个数。分支预测单元用以判断指令类型为连续地址或跳转地址。命令执行单元用以执行指令以更新波形信号。其中一或多个指令属于专用波形事件串流命令指令集,此专用波形事件串流命令指令集包含绝对时间点命令操作指令和相对时间段命令操作指令。
依据本发明的一或多个实施例,上述绝对时间点命令操作指令包含波形改变绝对位置和波形改变相对位置。
依据本发明的一或多个实施例,上述相对时间段命令操作指令包含波形改变相对位置。
依据本发明的一或多个实施例,上述这些事件处理器的优先级是由用户程序或硬件设定。
依据本发明的一或多个实施例,上述这些事件处理器多路分时共享记忆体单元。
依据本发明的一或多个实施例,上述这些事件处理器是经配置为并行执行。
依据本发明的一或多个实施例,上述记忆体单元为静态随机存取记忆体staticrandom access memory;SRAM)、电子可抹除可编程只读记忆体(electrically erasableprogrammable read only memory;EEPROM)、一次性可编程(one-time programmable;OTP)记忆体或电子可编程只读记忆体(erasable programmable read only memory;EPROM)。
依据本发明的一或多个实施例,上述数字波形信号产生装置更包含编译器,此编译器用以将记忆符号编码编译为编译指令数据。
依据本发明的一或多个实施例,上述数字波形信号产生装置为通用可编程。
相较于寄存型配置器波形产生器、微处理器波形产生器和软核处理器波形产生器,本发明的数字波形信号产生装置透过修改记忆符号编码即可,其不需改变硬件,且其硬件部分所占用的空间和记忆体的使用量较低,故可产生更为快速的波形信号。此外,本发明的数字波形信号产生装置采用并行架构,其适于同时输出多个波形信号,程序设计者更为容易编辑记忆符号编码,且其所使用的专用指令集及编译器可避免如微处理器波形产生器和软核处理器波形产生器的程序可轻易破解,故可进一步保护程序设计者或公司的智慧财产权。
附图说明
为了更完整了解实施例及其优点,现参照结合所附附图所做的下列描述,其中:
图1为依据本发明一些实施例的数字波形信号产生装置的示意图;
图2为依据本发明一些实施例的事件处理器的示意图;以及
图3为记忆符号编码的一实例的波形信号输出结果。
具体实施方式
以下仔细讨论本发明的实施例。然而,可以理解的是,实施例提供许多可应用的发明概念,其可实施于各式各样的特定内容中。所讨论的特定实施例仅供说明,并非用以限定本发明的范围。
在本文中所使用的“耦接”一词,可指二或多个元件相互直接作实体或电性接触,或是相互间接作实体或电性接触,而“耦接”还可指二或多个元件相互操作或动作。
请参照图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 programmableread 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。
除了硬件部分之外,数字波形信号产生装置100还包含编译器122,其用以对记忆符号编码124进行编译,以将记忆符号编码124中的内容转换为二进制机器码格式的编译指令数据。在编译的过程中,编译器122将跳转指令(例如loop指令和xloop指令)中所使用的相对跳转地址转换为绝对地址,且统一分配给每一个输出通道对应的事件处理器入口地址和代码长度。此外,编辑器122还具有指令错误侦测和增加注释的功能,其利于程序设计者编辑记忆符号编码124的内容。记忆符号编码124可由程序设计者透过输入装置来编辑。
请参照图2,其为依据本发明一些实施例的事件处理器200的示意图。图2的事件处理器200为图1的事件处理器114(1)~114(N)中的任何一者。事件处理器200包含状态机202、记忆体存取单元204、命令提取单元206、命令解码单元208、分支预测单元210和命令执行单元212。状态机202用以纪录事件处理器200的当前执行状态。记忆体存取单元204用以依据当前地址从记忆体单元112读取编译指令数据。命令提取单元206用以从编译指令数据中提取出至少一指令。命令解码单元208用以从指令中解析出指令类型和指令操作个数。分支预测单元210用以判断指令类型为连续地址或跳转地址。命令执行单元212用以执行指令以更新波形信号。
数字波形信号产生装置100使用专用波形事件串流命令指令集,其包含波形事件命令和波形周期命令,其中波形事件命令还包含绝对时间点命令操作指令(又称为固定事件位置命令操作指令)和相对时间段命令操作指令(又称为累积事件位置命令操作指令),而波形周期命令包含跳转地址命令操作指令。举例而言,数字波形信号产生装置100使用的指令格式可包含以下(第一栏为指令类型):
其中,包含指令记忆符号fppi的指令为绝对时间点命令操作指令,包含指令记忆符号appi或s-appi的指令为相对时间段命令操作指令,而包含指令记忆符号loop或xloop的指令为跳转地址命令操作指令。在上述指令格式中,level为高电位或低电位,ret_addr为返回地址,p-position为波形改变绝对位置,p-displacement和h-displacement为波形改变相对位置(其中p-和h-分别代表精细值和粗略值),而repeat_num为重复进行次数。
以下为依据本发明第一实施例的指令格式和对应栏位和位数:
长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)指令等操作指令,其位组数相同但返回地址/负数/相对值和返回次数所占的位数不同。
以下为依据本发明第二实施例的指令格式和对应栏位和位数:
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位(返回次数)
第二实施例的指令格式与第一实施例的指令格式的主要差别在于,绝对时间点命令操作指令仅包含长度为3位组的fppi指令,而相对时间段命令操作指令包含长度为2位组的appi指令和长度为1位组的s-appi指令。
上述指令格式可由编译器122编译成二位机器码。举例而言,以下为记忆符号编码124的一实例:
经由编译器122对上述记忆符号编码124的实例进行编译后,输出的编译指令数据的二位机器码格式如下:
这些输出的编译指令数据储存于记忆体单元112中。接着,事件处理器114(1)透过仲裁器116从记忆体单元112下载并执行这些编译指令数据,以对应输出波形信号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位(返回次数)
第三实施例的指令格式与第二实施例的指令格式的主要差别在于,在第三实施例的指令格式中,指令类型所占的位数为3位,且若干指令格式中的栏位减少1位,例如fppi操作指令中的p-position。
以下以使用两个事件处理器114(1)、114(2)为例说明记忆符号编码124和对应输出波形信号Pin_1、Pin_2的关系。记忆符号编码124的一实例如下所示:
对应以上实例的波形信号输出如图3所示。以波形信号Pin_1而言,首先在时间点t1时,执行第一个fppi操作指令,将对应至第2行第8个位置的信号准位初始化为0。接着,在时间点t2时,执行appi操作指令,将第2行第8个位置的信号准位设定为1。之后,在时间点t3时,执行第一个s-appi操作指令,将当前位置的信号准位设定为0且持续8个时间单位。接着,在时间点t4时,重复loop1的内回圈,也就是重复上述appi操作指令和第一个s-appi操作指令两次,直到第三次第一个s-appi操作指令执行结束。在时间点t5时,执行第二个s-appi操作指令,将当前位置的信号准位设定为1且持续18个时间单位。接着,在时间点t6时,重复loop1的外回圈,也就是重复上述loop1内回圈和第二个s-appi操作指令三次,直到第四次第二个s-appi操作指令执行结束。最后,执行第二个s-appi操作指令,将当前位置的信号准位设定为0且持续至当前波形图框结束。
而就波形信号Pin_2而言,因为其对应的记忆符号编码与波形信号Pin_1对应的记忆符号编码的差异仅在第一个fppi操作指令为将第2行第9个位置的信号准位初始化为0。由此可知,波形信号Pin_2为波形信号Pin_1的向右平移,且在忽略平移的情况下,两者的波形变化情形相同。
本发明的数字波形信号产生装置至少具有下列优点。首先,相较于寄存型配置器波形产生器、微处理器波形产生器和软核处理器波形产生器,本发明的数字波形信号产生装置透过修改记忆符号编码即可,其不需改变硬件,且其硬件部分所占用的空间和记忆体的使用量较低,故可产生更为快速的波形信号。此外,本发明的数字波形信号产生装置采用并行架构,其适于同时输出多个波形信号,程序设计者更为容易编辑记忆符号编码,且其所使用的专用指令集及编译器可避免如微处理器波形产生器和软核处理器波形产生器的程序可被轻易破解,故可进一步保护程序设计者或公司的智慧财产权。然而,本发明的应用不限于集成电路领域,其亦可应用在电机驱动、变频驱动、工业控制和其他合适的领域。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求书所界定的范围为准。
Claims (9)
1.一种数字波形信号产生装置,其特征在于,包含:
一记忆体单元,用以储存一编译指令数据;
多个事件处理器,用以存取该记忆体单元且依据该编译指令数据产生并输出至少一波形信号,每一所述事件处理器包含:
一记忆体存取单元,用以依据一当前地址从该记忆体单元读取该编译指令数据;
一命令提取单元,用以从该编译指令数据中提取出至少一指令;
一命令解码单元,用以从该至少一指令中解析出指令类型和指令操作个数;
一分支预测单元,用以判断该至少一指令的指令类型为连续地址或跳转地址;以及
一命令执行单元,用以执行该至少一指令以更新该波形信号;以及一仲裁器,用以决定所述多个事件处理器读取该记忆体单元的顺序;
其中,该至少一指令中的一或多者属于一专用波形事件串流命令指令集,该专用波形事件串流命令指令集包含一绝对时间点命令操作指令和一相对时间段命令操作指令,该绝对时间点命令操作指令包含指令类型、准位、波形改变绝对位置和粗略值波形改变相对位置,且该相对时间段命令操作指令包含指令类型、准位、精细值波形改变相对位置和粗略值波形改变相对位置。
2.根据权利要求1所述的数字波形信号产生装置,其特征在于,该绝对时间点命令操作指令包含一波形改变绝对位置和一波形改变相对位置。
3.根据权利要求1所述的数字波形信号产生装置,其特征在于,该相对时间段命令操作指令包含一波形改变相对位置。
4.根据权利要求1所述的数字波形信号产生装置,其特征在于,所述多个事件处理器的优先级是由一用户程序或一硬件设定。
5.根据权利要求1所述的数字波形信号产生装置,其特征在于,所述多个事件处理器多路分时共享该记忆体单元。
6.根据权利要求1所述的数字波形信号产生装置,其特征在于,所述多个事件处理器是经配置为并行执行。
7.根据权利要求1所述的数字波形信号产生装置,其特征在于,该记忆体单元为一静态随机存取记忆体、一电子可抹除可编程只读记忆体、一一次性可编程记忆体或一电子可编程只读记忆体。
8.根据权利要求1所述的数字波形信号产生装置,其特征在于,还包含一编译器,该编译器用以将一记忆符号编码编译为该编译指令数据。
9.根据权利要求1所述的数字波形信号产生装置,其特征在于,该数字波形信号产生装置为通用可编程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711351208.8A CN109933126B (zh) | 2017-12-15 | 2017-12-15 | 数字波形信号产生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711351208.8A CN109933126B (zh) | 2017-12-15 | 2017-12-15 | 数字波形信号产生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933126A CN109933126A (zh) | 2019-06-25 |
CN109933126B true CN109933126B (zh) | 2023-05-23 |
Family
ID=66980182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711351208.8A Active CN109933126B (zh) | 2017-12-15 | 2017-12-15 | 数字波形信号产生装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933126B (zh) |
Family Cites Families (7)
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 |
US4818932A (en) * | 1986-09-25 | 1989-04-04 | Tektronix, Inc. | Concurrent memory access system |
EP0261751A3 (en) * | 1986-09-25 | 1990-07-18 | Tektronix, Inc. | Concurrent memory access system |
DE602006001491D1 (de) * | 2005-08-11 | 2008-07-31 | St Microelectronics Sa | Generator von Signalen mit modifizierbarer Wellenform |
US20070067605A1 (en) * | 2005-08-17 | 2007-03-22 | Jung-Lin Chang | Architecture of a parallel-processing multi-microcontroller system and timing control method thereof |
CN107402596B (zh) * | 2017-08-08 | 2020-03-24 | 电子科技大学 | 一种基于指令架构的任意波形发生器 |
-
2017
- 2017-12-15 CN CN201711351208.8A patent/CN109933126B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109933126A (zh) | 2019-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0231928B1 (en) | Program control circuit | |
Van Berkel et al. | A fully asynchronous low-power error corrector for the DCC player | |
US5042004A (en) | Programmable logic device with subroutine stack and random access memory | |
US4876640A (en) | Logic controller having programmable logic "and" array using a programmable gray-code counter | |
EP0034180B1 (en) | Special address generation arrangement | |
US10379861B2 (en) | Decoding instructions that are modified by one or more other instructions | |
EP2668576A2 (en) | State grouping for element utilization | |
US10223110B2 (en) | Central processing unit and arithmetic unit | |
KR100206887B1 (ko) | 프로그램 오동작 방지를 위한 씨피유 | |
CN100538623C (zh) | 一种8位微控制器 | |
US5535376A (en) | Data processor having a timer circuit for performing a buffered pulse width modulation function and method therefor | |
CN109933126B (zh) | 数字波形信号产生装置 | |
CN112015490A (zh) | 可编程器件实现与测试精简指令集方法、设备及介质 | |
JP2878503B2 (ja) | 標準セルとアプリケーションセルと試験セルとを含む集積回路 | |
TWI683202B (zh) | 數位波形訊號產生裝置 | |
US8200943B2 (en) | Microprocessor | |
US6886159B2 (en) | Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus | |
CN104145247A (zh) | 微型计算机及非易失性半导体装置 | |
US3924270A (en) | Recursive shift register for controlling a data processor | |
Czerwinski et al. | FPGA implementation of programmable logic controller compliant with EN 61131-3 | |
CN115586921A (zh) | 实现多比特寄存器原子操作的方法及电路、芯片、电子设备 | |
US5490277A (en) | Digital computation integrated circuit | |
CN118113535A (zh) | 一种基于cpld主板的上电检测方法、设备及介质 | |
KR950003881B1 (ko) | 멀티 사이클 명령을 처리하는 시간정적 제어장치 | |
Song et al. | Implementation of Speed Match Circuit Design between DSP and Peripheral Chips Using CPLD |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Floor 2, No. 11, No. 88 Darwin Road, Zhangjiang High-tech Park, Pudong New Area, Shanghai Applicant after: Viewsil Microelectronics (Kunshan) Co.,Ltd. Applicant after: Himax Technologies, Inc. Address before: 200120 No. 8, Lane 912, Bibo Road, Zhangjiang High-tech Park, Pudong New Area, Shanghai Applicant before: Viewsil Microelectronics (Kunshan) Co.,Ltd. Applicant before: Himax Technologies, Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |