一种堆栈的指针产生器与指针产生的方法.pdf

上传人:奻奴 文档编号:297722 上传时间:2018-02-07 格式:PDF 页数:22 大小:1.12MB
返回 下载 相关 举报
摘要
申请专利号:

CN03103853.0

申请日:

2003.02.13

公开号:

CN1521758A

公开日:

2004.08.18

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G11C 7/00申请日:20030213授权公告日:20080206|||授权|||实质审查的生效|||公开

IPC分类号:

G11C7/00; G11C8/04

主分类号:

G11C7/00; G11C8/04

申请人:

明基电通股份有限公司;

发明人:

石颖衡

地址:

台湾省桃园县

优先权:

专利代理机构:

北京市柳沈律师事务所

代理人:

黄小临;王志森

PDF下载: PDF下载
内容摘要

本发明公开了一种指针产生器与指针产生的方法,所产生的一指针值指向一堆栈(后入先出存储器),包含一选择输入端和一双向线性反馈移位寄存器。选择输入端响应存取堆栈的指令,输入一选择信号。双向线性反馈移位寄存器的基本架构为线性反馈移位寄存器,在接收选择信号后,执行一特定本质特征多项式的运算,产生一数字序列。当选择信号改变时,所产生的数字序列与先前数字序列的顺序恰好相反,故可响应数据读出或写入堆栈,做为往上或往下计数的指针值。

权利要求书

1: 一种指针产生器,所产生的一指针值指向一堆栈,包含: 一选择输入端,用以响应存取该堆栈的一指令,输入一选择信号;以及 一双向线性反馈移位寄存器,用以执行一本质特征多项式运算,响应该 选择信号选择性地产生相对应于该本质特征多项式运算后的顺序的往上计数 与往下计数的该指针值。
2: 如权利要求1所述的指针产生器,其中该双向线性反馈移位寄存器包 含: 一双向运算电路,包含一双向异或门,执行该本质特征多项式运算;以 及 一双向数字序列产生电路,响应该选择信号与该本质特征多项式运算的 结果,产生该指针值。
3: 如权利要求2所述的指针产生器,其中该双向运算电路具有一第一输 出/入端、一第二输出/入端、一数据输入端与一选择输入端,响应该选择输 入端输入的该选择信号,该双向运算电路具有一第一状态和一第二状态,当 该双向运算电路处于该第一状态时,该第一输出/入端执行输入的功能,该数 据输入端的数据经运算后,通过该第二输出/入端输出运算结果,当该双向运 算电路处于该第二状态时,该第二输出/入端执行输入的功能,该数据输入端 的数据经过运算后,通过该第一输出/入端输出运算结果。
4: 如权利要求3所述的指针产生器,其中该双向运算电路为一双向异或 门,包含: 一异或门,包含一输出端、一第一输入端及一第二输入端; 一第一缓冲器,包含一输出端、一输入端及一选择输入端; 一第二缓冲器,包含一输出端、一输入端及一选择输入端; 一第三缓冲器,包含一输出端、一输入端及一选择输入端; 一第四缓冲器,包含一输出端、一输入端及一选择输入端; 该异或门的第一输入端连结到该第二缓冲器及该第四缓冲器的输出端, 该异或门的第二输入端为该双向异或门的输入端,该异或门的输出端连结到 该第一缓冲器及该第三缓冲器的输入端,该第一缓冲器的输出端连结到该第 四缓冲器的输入端及该双向异或门的第二输出/入端,该第二缓冲器的输入端 连结到该第三缓冲器的输出端及该双向异或门的第一输出/入端,该第一缓冲 器、该第二缓冲器、该第三缓冲器及该第四缓冲器的选择输入端连结到该双 向异或门的第二输入端,该双向异或门的第二输入端连结到该指针产生器的 选择输入端。
5: 如权利要求3所述的指针产生器,其中该双向数字序列产生电路包含: 多个双向寄存器,以串联连接,每个该双向寄存器包含一第一输出/入端 及一第二输出/入端,响应该选择信号,以选择切换为该第一状态和该第二状 态,执行一寄存器的功能; 一或非门,包含一输出端及多个输入端;以及 一第一双功能电路,包含一第一输出/入端、一第二输出/入端及一输入 端,响应该选择信号,以选择切换为该第一状态及该第二状态,执行一异或 门及一缓冲器的功能;以及 一第二双功能电路,包含一第一输出/入端、一第二输出/入端及一输入 端,响应该选择信号,以选择切换为该第一状态及该第二状态,执行一缓冲 器及一异或门的功能; 其中,该多个双向寄存器的第二输出/入端选择性地连结到该或非门的输 入端,该或非门的输出端连结到该第一双功能电路及该第二双功能电路的输 入端,该第一双功能电路的第一输出/入端连结到该该双向运算电路的第一输 出/入端,该第一双功能电路的第二输出/入端连结到该第一双向寄存器的第 一输出/入端,该多个双向寄存器串联最后的双向寄存器的第二输出/入端连 结到该第二双功能电路的第一输出/入端,该第二双功能电路的第二输出/入 端连结到该双向运算电路的第二输出/入端,该多个双向寄存器的第二输出/ 入端响应该特定的本质特征多项式,至少有一连结到该双向异或门的数据输 入端,当该双向数字序列产生电路处于该第一状态时,该多个双向寄存器的 第二输出/入端、该第一双功能电路的第二输出/入端及该第二双功能电路的 第二输出/入端执行输入的功能,且该多个双向寄存器的第一输出/入端、该 第一双功能电路的第一输出/入端及该第二双功能电路的第一输出/入端执行 输出的功能,当该双向数字序列产生电路处于该第二状态时,该多个双向寄 存器的第一输出/入端、该第一双功能电路的第一输出/入端及该第二双功能 电路的第一输出/入端执行输入的功能,且该多个双向寄存器的第二输出/入 端、该第一双功能电路的第二输出/入端及该第二双功能电路的第二输出/入 端执行输出的功能。
6: 如权利要求5所述的指针产生器,其中该双向寄存器包含: 一寄存器,包含一输入端及一输出端; 一第一缓冲器,包含一输出端、一输入端及一选择输入端; 一第二缓冲器,包含一输出端、一输入端及一选择输入端; 一第三缓冲器,包含一输出端、一输入端及一选择输入端;以及 一第四缓冲器,包含一输出端、一输入端及一选择输入端; 其中,该寄存器的输入端连结到该第一缓冲器及该第三缓冲器的输出端, 该寄存器的输出端连结到该第二缓冲器及该第四缓冲器的输入端,该第一缓 冲器的输入端连结到该第四缓冲器的输出端及该双向寄存器的第二输出/入 端,该第三缓冲器的输入端连结到该第二缓冲器的输出端及该双向寄存器的 第一输出/入端,该第一缓冲器、该第二缓冲器、该第三缓冲器及该第四缓冲 器的选择输入端连结到该指针产生器的选择输入端。
7: 如权利要求6所述的指针产生器,其中该寄存器包含一D型触发器。
8: 如权利要求5所述的指针产生器,其中该第一双功能电路包含: 一异或门,包含一输出端、一第一输入端及一第二输入端; 一第一缓冲器,包含一输出端、一输入端及一选择输入端; 一第二缓冲器,包含一输出端、一输入端及一选择输入端;以及 一第三缓冲器,包含一输出端、一输入端及一选择输入端; 其中,该异或门的输出端连结到该第二缓冲器的输入端,该异或门的第 一输入端连结到该第一缓冲器的输出端,该异或门的第二输入端为该第一双 功能电路的输入端,该第三缓冲器的输出端连结到该第一缓冲器的输入端及 该第一双功能电路的第一输出/入端,该第三缓冲器的输入端连结到该第二缓 冲器的输出端及该第一双功能电路的第二输出/入端,该第一缓冲器、该第二 缓冲器及该第三缓冲器的选择输入端连结到该指针产生器的选择输入端。
9: 如权利要求5所述的指针产生器,其中该第二双功能电路包含: 一异或门,包含一输出端、一第一输入端及一第二输入端; 一第一缓冲器,包含一输出端、一输入端及一选择输入端; 一第二缓冲器,包含一输出端、一输入端及一选择输入端;以及 一第三缓冲器,包含一输出端、一输入端及一选择输入端; 其中,该异或门的输出端连结到该第二缓冲器的输入端,该异或门的第 一输入端连结到该第一缓冲器的输出端,该异或门的第二输入端连结到该第 二双功能电路的输入端,该第三缓冲器的输出端连结到该第一缓冲器的输入 端及该第二双功能电路的第二输出/入端,该第三缓冲器的输入端连结到该第 二缓冲器的输出端及该第二双功能电路的第一输出/入端,该第一缓冲器、该 第二缓冲器及该第三缓冲器的选择输入端连结到该指针产生器的选择输入 端。
10: 如权利要求3所述的指针产生器,其中该第一状态相对应于一第一本 质特征多项式运算的往上计数的该指针值,该第二状态相对应于一第二本质 特征多项式运算的往下计数的该指针值,该第一本质特征多项式与该第二本 质特征多项式彼此互补。
11: 如权利要求10所述的指针产生的方法,其中该第一本质特征多项式 为X 4 +X 3 +1,该第二本质特征多项式为X 4 +X+1。
12: 一种指针产生器,所产生的一指针值指向一堆栈,包含: 一选择输入端,用以响应存取该堆栈的一指令,输入一选择信号; 一双向运算电路,响应该选择信号,执行一特定的本质特征多项式的一 运算;以及 一双向数字序列产生电路,响应该选择信号与该特定的本质特征多项式 运算的一结果,产生相对应于该特定的本质特征多项式往上计数或往下计数 的该指针值。
13: 如权利要求12所述的指针产生器,其中该双向运算电路包含一双向 异或门,该双向异或门包含一第一输出/入端、一第二输出/入端、一第一输 入端及一第二输入端,响应该选择信号,以选择切换为一第一状态和一第二 状态,执行一异或门的功能,其中,当该双向异或门处于该第一状态时,该 第一输出/入端执行输入的功能,且该第二输出/入端执行输出的功能,当该 双向异或门处于该第二状态时,该第二输出/入端执行输入的功能,且该第一 输出/入端执行输出的功能。
14: 如权利要求13所述的指针产生器,其中该双向异或门包含: 一异或门,包含一输出端、一第一输入端及一第二输入端; 一第一缓冲器,包含一输出端、一输入端及一选择输入端; 一第二缓冲器,包含一输出端、一输入端及一选择输入端; 一第三缓冲器,包含一输出端、一输入端及一选择输入端;以及 一第四缓冲器,包含一输出端、一输入端及一选择输入端; 其中,该异或门的第一输入端连结到该第二缓冲器及该第四缓冲器的输 出端,该异或门的第二输入端为该双向异或门的输入端,该异或门的输出端 连结到该第一缓冲器及该第三缓冲器的输入端,该第一缓冲器的输出端连结 到该第四缓冲器的输入端及该双向异或门的第二输出/入端,该第二缓冲器的 输入端连结到该第三缓冲器的输出端及该双向异或门的第一输出/入端,该第 一缓冲器、该第二缓冲器、该第三缓冲器及该第四缓冲器的选择输入端连结 到该双向异或门的第二输入端,该双向异或门的第二输入端连结到该指针产 生器的选择输入端。
15: 如权利要求12所述的指针产生器,其中该双向数字序列产生电路包 含: N个双向寄存器串联,每个双向寄存器包含一第一输出/入端及一第二输 出/入端,响应该选择信号,以选择切换为该第一状态和该第二状态,执行一 寄存器的功能,其中N为一正整数; 一或非门,包含一输出端及N-1个输入端;以及 一第一双功能电路,包含一第一输出/入端、一第二输出/入端及一输入 端,响应该选择信号,以选择切换为该第一状态及该第二状态,执行一异或 门及一缓冲器的功能;以及 一第二双功能电路,包含一第一输出/入端、一第二输出/入端及一输入 端,响应该选择信号,以选择切换为该第一状态及该第二状态,执行一缓冲 器及一异或门的功能; 其中,该第一至第N-1双向寄存器的第二输出/入端连结到该或非门的 N-1个输入端,该或非门的输出端连结到该第一双功能电路及该第二双功能 电路的输入端,该第一双功能电路的第一输出/入端连结到该双向异或门的第 一输出/入端,该第一双功能电路的第二输出/入端连结到该第一双向寄存器 的第一输出/入端,该第N双向寄存器的第二输出/入端连结到该第二双功能 电路的第一输出/入端,该第二双功能电路的第二输出/入端连结到该双向异 或门的第二输出/入端,该N个双向寄存器的第二输出/入端响应该特定的本 质特征多项式,至少有一连结到该双向异或门的第一输入端,该双向数字序 列产生电路可产生2的N次方个该指针值; 其中,当该双向数字序列产生电路处于该第一状态时,该N个双向寄存 器的第二输出/入端、该第一双功能电路的第二输出/入端及该第二双功能电 路的第二输出/入端执行输入的功能,且该N个双向寄存器的第一输出/入端、 该第一双功能电路的第一输出/入端及该第二双功能电路的第一输出/入端执 行输出的功能,当该双向数字序列产生电路处于该第二状态时,该N个双向 寄存器的第一输出/入端、该第一双功能电路的第一输出/入端及该第二双功 能电路的第一输出/入端执行输入的功能,且该N个双向寄存器的第二输出/ 入端、该第一双功能电路的第二输出/入端及该第二双功能电路的第二输出/ 入端执行输出的功能。
16: 如权利要求13所述的指针产生器,其中该第一状态相对应于一第一 本质特征多项式运算的往上计数的该指针值,该第二状态相对应于一第二本 质特征多项式运算的往下计数的该指针值,该第一本质特征多项式与该第二 本质特征多项式彼此互补。
17: 如权利要求16所述的指针产生的方法,其中该第一本质特征多项式 为X 4 +X 3 +1,该第二本质特征多项式为X 4 +X+1。
18: 一种指针产生的方法,所产生的一指针值指向一堆栈,该指针产生方 法的步骤包括: (A).选择一第一模式或一第二模式;以及 (B).产生一指针值; 其中,该第一模式相对应于一第一本质特征多项式运算的往上计数的该 指针值,该第二模式相对应于一第二本质特征多项式运算的往下计数的该指 针值,该第一本质特征多项式与该第二本质特征多项式彼此互补。
19: 如权利要求14所述的指针产生的方法,其中该第一本质特征多项式 为X 4 +X+1,该第二本质特征多项式为X 4 +X 3 +1。
20: 如权利要求14所述的指针产生的方法,其步骤(A)还包含: (C).当数据写入堆栈时选择第一模式,数据读出堆栈时选择第二模式。

说明书


一种堆栈的指针产生器与指针产生的方法

    【技术领域】

    本发明涉及一种指针产生器与指针产生的方法,所产生的指针值指向一存储器的堆栈(stack)或后入先出存储器(LIFO memory)。

    背景技术

    在一般的系统和超大规模集成电路(VLSI)设计中,经常需要使用一种存储器,将最后写入的数据最先读出,这种存储器称为堆栈或后入先出存储器。这种存储器需要一个指针产生器,以产生一指针。当要写入或读出数据时,可正确地指向存储器的地址。

    现有技术是利用一上下计数器(up-down counter)来做为指针产生器。当写入一数据到堆栈时,指针值便加1,即指向下一个地址。当从堆栈读出一数据时,指针值便减1,即指向上一个地址。利用上下计数器来做为指针产生器虽可顺利完成任务,但使用上下计数器需占用很大的电路布局(layout)面积,同时由于电路较为复杂,工作频率也受到限制。因此,在现今电子产品讲求体积小且速度快的前提下,现有的指针产生器已不适合使用。

    【发明内容】

    本发明公开一种指针产生器,所产生的指针值指向一堆栈,指针产生器包含一选择输入端(selection input terminal)和一双向线性反馈移位寄存器(bi-direction linear feedback shift register)。选择输入端是响应存取堆栈的指令,选择输入一选择信号。双向线性反馈移位寄存器的基本架构为线性反馈移位寄存器,在接收其选择信号后,执行一本质特征多项式(primitive characteristic polynomial)的运算,以产生一数字序列,做为堆栈的指针值。当选择信号改变时,其双向线性反馈移位寄存器虽同样执行一线性反馈移位寄存器的功能,但其内含的本质特征多项式会随之改变,所产生的数字序列的顺序会与先前数字序列的顺序相反。因此,利用前一个本质特征多项式所产生的数字序列,可用来做为往上计数的指针值(当数据写入堆栈时)。而利用后一个本质特征多项式所产生地数字序列,可用来做为往下计数的指针值(当数据读出堆栈时)。

    本发明利用线性反馈移位寄存器,来设计适用于堆栈的指针产生器,以代替现有的上下计数器。其优点在于,可节省电路布局的面积、可工作于高频的环境下、可加强保密性等。

    并且,本发明还提供一种指针产生器,所产生的一指针值指向一堆栈,包含:一选择输入端,用以响应存取该堆栈的一指令,输入一选择信号;一双向运算电路,响应该选择信号,执行一特定的本质特征多项式的一运算;以及一双向数字序列产生电路,响应该选择信号与该特定的本质特征多项式运算的一结果,产生相对应于该特定的本质特征多项式往上计数或往下计数的该指针值。

    并且,本发明还提供一种指针产生的方法,所产生的一指针值指向一堆栈,该指针产生方法的步骤包括:(A).选择一第一模式或一第二模式;以及(B).产生一指针值;其中,该第一模式相对应于一第一本质特征多项式运算的往上计数的该指针值,该第二模式相对应于一第二本质特征多项式运算的往下计数的该指针值,该第一本质特征多项式与该第二本质特征多项式彼此互补。

    【附图说明】

    图1为本发明的指针产生器的方框图;

    图2为双向异或门的电路图;

    图3为双向寄存器的电路图;

    图4为第一双功能电路的电路图;

    图5为第二双功能电路的电路图;

    图6(a)为第一状态下的指针产生器的电路图;

    图6(b)为第二状态下的指针产生器的电路图;

    图7为计算机仿真的指针值图。

    附图符号说明

    101指针产生器    103选择输入端

    107双向运算电路

    109双向数字序列产生电路

    111双向异或门          113第一输出/入端

    115第二输出/入端       117数据输入端

    119选择输入端

    121、121-1、121-3、121-5、121-7双向寄存器

    129或非门              131第一双功能电路

    133第二双功能电路201异或门

    203第一缓冲器          205第二缓冲器

    207第三缓冲器          209第四缓冲器

    301寄存器              303第一缓冲器

    305第二缓冲器          307第三缓冲器

    309第四缓冲器          401异或门

    403第一缓冲器          405第二缓冲器

    407第三缓冲器          501异或门

    503第一缓冲器          505第二缓冲器

    【具体实施方式】

    本发明公开了一种指针产生器,它利用一线性反馈移位寄存器来完成,其所产生的指针值指向一堆栈。本发明的指针产生器包含一选择输入端和一双向线性反馈移位寄存器。选择输入端根据存取其堆栈的指令,选择输入一选择信号。双向线性反馈移位寄存器基本架构为一线性反馈移位寄存器,为根据选择信号,执行一特定的本质特征多项式的运算,以产生往上计数或往下计数的指针值。此处所指的往上计数或往下计数,并非依照数字顺序加1或减1,而是依照其本质特征多项式的运算所产生的特定序列计数。

    图1为本发明的一实施例。如图1所示,指针产生器101包含一选择输入端103和一双向线性反馈移位寄存器。双向线性反馈移位寄存器包含一双向运算电路(bi-direction computing circuit)107及一双向数字序列产生电路(bi-direction number sequence generation circuit)109。双向运算电路107用来执行某一特定的本质特征多项式的运算,在本例中本质特征多项式为X4+X+1与X4+X3+1。双向数字序列产生电路109响应选择信号选择(SELECTION)与双向运算电路107的运算结果,产生一指针值addr[0]~addr[3],用来指向一堆栈,供系统存取。

    双向运算电路107为一执行特定的本质特征多项式的运算,通常使用逻辑门组合,本例中使用一双向异或门(bi-direction XOR gate)111。双向运算电路107具有一第一输出/入端(firstI/O terminal)113、一第二输出/入端(secondI/O terminal)115、一数据输入端117及一选择输入端119。双向运算电路107响应选择信号SELECTION由选择输入端119选择切换为一第一状态和一第二状态。例如,当双向运算电路107处于第一状态时,第一输出/入端113执行输入的功能,并依据数据输入端117输入的数据运算后,由第二输出/入端115执行输出的功能。当双向运算电路107处于第二状态时,第二输出/入端115执行输入的功能,并依据数据输入端117输入的数据运算后,由第一输出/入端113执行输出的功能。

    该实施例中,双向运算电路107为一双向异或门。图2为图1中双向异或门111的电路图。如图2所示,双向异或门111包含一异或门201、一第一缓冲器203、一第二缓冲器205、一第三缓冲器207及一第四缓冲器209。异或门201包含一输出端OUT、一第一输入端1st及一第二输入端2nd。第一至第四缓冲器203、205、207及209各包含一输出端出(OUT)、一输入端入(IN)及一选择输入端SEL。其中,异或门201的第一输入端1st连结到第二缓冲器205及第四缓冲器209的输出端OUT,异或门201的第二输入端2nd为运算电路107的数据输入端117,异或门201的输出端OUT连结到第一缓冲器203及第三缓冲器207的输入端IN,第一缓冲器203的输出端OUT连结到第四缓冲器209的输入端IN及双向运算电路107的第二输出/入端115,第二缓冲器205的输入端IN连结到第三缓冲器207的输出端OUT及双向运算电路107的第一输出/入端113,第一至第四缓冲器203、205、207及209的选择输入端SEL连结到双向运算电路107的选择输入端119,双向运算电路107的选择输入端119连结到指针产生器101的选择输入端103。

    第一至第四缓冲器203、205、207及209的选择输入端SEL为该缓冲器的致能端。如图2所示,第一缓冲器203及第二缓冲器205为高电平致能缓冲器,第三缓冲器207及第四缓冲器209为低电平致能缓冲器。当双向运算电路107的选择输入端119为高电平时,第一缓冲器203及第二缓冲器205导通,且第三缓冲器207及第四缓冲器209关闭。因此电流路径会由双向运算电路107的第一输出/入端113经过第二缓冲器205、异或门201、第一缓冲器203,而输出到双向运算电路107的第二输出/入端115。当双向运算电路107的选择输入端119为低电平时,第一缓冲器203及第二缓冲器205关闭,且第三缓冲器207及第四缓冲器209导通。因此电流路径会由双向运算电路107的第二输出/入端115经过第四缓冲器209、异或门201、第三缓冲器207,而输出到双向运算电路107的第一输出/入端113;响应选择信号SELECTION的输入电平使双向运算电路107的输出端可由第一输出/入端113或第二输出/入端115输出。

    双向数字序列产生电路109用来产生指针值addr[0]~addr[3],以指向一堆栈。如图1所示,该实施例的双向数字序列产生电路109包含四个串联双向寄存器(bi-direction register)121-1、121-3、121-5及121-7、一或非门(NORgate)129、一第一双功能电路(first dual function circuit)131及一第二双功能电路133。每个双向寄存器121(即121-1、121-3、121-5及121-7)包含一第一输出/入端1st及一第二输出/入端2nd,响应该选择信号SELECTION,选择切换为第一状态或第二状态,以执行一寄存器的功能。或非门129包含一输出端OUT及三个输入端1st、2nd及3rd。第一双功能电路131及第二双功能电路133各包含一第一输出/入端1st、一第二输出/入端2nd及一输入端IN,响应选择信号SELECTION,以选择切换为第一状态或第二状态,执行一异或门或一缓冲器的功能。其中,第一至第三双向寄存器121-1、121-3及121-5的第二输出/入端2nd连结到或非门129的三个输入端1st、2nd及3rd,或非门129的输出端OUT连结到第一双功能电路131及第二双功能电路133的输入端IN,第一双功能电路131的第二输出/入端2nd连结到第一双向寄存器121-1的第一输出/入端1st,第四双向寄存器121-7的第二输出/入端2nd连结到第二双功能电路133的第一输出/入端1st。

    当双向数字序列产生电路109处于第一状态时,双向寄存器121的第二输出/入端2nd、第一双功能电路131的第二输出/入端2nd及第二双功能电路133的第二输出/入端2nd执行输入的功能。同时,双向寄存器121的第一输出/入端1st、第一双功能电路131的第一输出/入端1st及第二双功能电路133的第一输出/入端1st执行输出的功能。当双向数字序列产生电路109处于第二状态时,双向寄存器121的第一输出/入端1st、第一双功能电路131的第一输出/入端1st及第二双功能电路133的第一输出/入端1st执行输入的功能。同时,双向寄存器121的第二输出/入端2nd、第一双功能电路131的第二输出/入端2nd及第二双功能电路133的第二输出/入端2nd执行输出的功能。

    如图1所示,第一双功能电路131的第一输出/入端1st连结到双向异或门111的第一输出/入端113,第二双功能电路133的第二输出/入端2nd连结到双向异或门111的第二输出/入端115。该实施例中,当处于第一状态时,双向运算电路107执行第一本质特征多项式X4+X3+1的运算。当处于第二状态时,双向运算电路107执行第二本质特征多项式X4+X+1的运算。这两个本质特征多项式彼此互补,即由第一本质特征多项式所产生的序列会与第二本质特征多项式所产生的序列顺序相反,已完成向上计数与向下计数的功能。为了执行该二个本质特征多项式的运算,第三双向寄存器121-5的第二输出/入端2nd连结到双向运算电路107的数据输入端117。

    图3为图1中双向寄存器121的电路图。如图3所示,双向寄存器121包含一寄存器301、一第一缓冲器303、一第二缓冲器305、一第三缓冲器307及一第四缓冲器309。寄存器301包含一输入端IN及一输出端OUT。第一至第四缓冲器303、305、307及309各包含一输出端OUT、一输入端IN及一选择输入端SEL。其中,寄存器301的输入端IN连结到第一缓冲器303及第三缓冲器307的输出端OUT,寄存器301的输出端OUT连结到第二缓冲器305及第四缓冲器309的输入端IN,第一缓冲器303的输入端IN连结到第四缓冲器309的输出端OUT及双向寄存器121的第二输出/入端2nd,第三缓冲器307的输入端IN连结到第二缓冲器305的输出端OUT及双向寄存器121的第一输出/入端1st,第一缓冲器303、第二缓冲器305、第三缓冲器307及第四缓冲器309的选择输入端SEL均连结到指针产生器101的选择输入端103。

    第一缓冲器303、第二缓冲器305、第三缓冲器307及第四缓冲器309的选择输入端SEL为该缓冲器的致能端。如图3所示,第一缓冲器303及第二缓冲器305为高电平致能缓冲器,第三缓冲器307及第四缓冲器309为低电平致能缓冲器。当选择信号SELECTION为高电平时,第一缓冲器303及第二缓冲器305导通,且第三缓冲器307及第四缓冲器309关闭。因此电流路径会由双向寄存器121的第二输出/入端2nd经过第一缓冲器303、寄存器301、第二缓冲器305,而输出到双向寄存器121的第一输出/入端1st。当选择信号SELECTION为低电平时,第一缓冲器303及第二缓冲器305关闭,且第三缓冲器307及第四缓冲器309导通。因此电流路径会由双向寄存器121的第一输出/入端1st经过第三缓冲器307、寄存器301、第四缓冲器309,而输出到双向寄存器121的第二输出/入端2nd。

    该实施例中,寄存器301为一D型触发器(D flip-flop)。但寄存器301不限于D型触发器,任何一种电路组件具有类似功能均可使用。

    图4为图1中第一双功能电路131的电路图。如图4所示,第一双功能电路131包含一异或门401、一第一缓冲器403、一第二缓冲器405及一第三缓冲器407。异或门401包含一输出端OUT、一第一输入端1st及一第二输入端2nd。第一至第三缓冲器403、405及407各包含一输出端OUT、一输入端IN及一选择输入端SEL。其中,异或门401的输出端OUT连结到第二缓冲器405的输入端IN,异或门401的第一输入端1st连结到第一缓冲器403的输出端OUT,异或门401的第二输入端2nd为第一双功能电路131的输入端IN,第三缓冲器407的输出端OUT连结到第一缓冲器403的输入端IN及第一双功能电路131的第一输出/入端1st,第三缓冲器407的输入端IN连结到第二缓冲器405的输出端OUT及第一双功能电路131的第二输出/入端2nd,第一缓冲器403、第二缓冲器405及第三缓冲器407的选择输入端SEL连结到指针产生器101的选择输入端103。

    第一缓冲器403、第二缓冲器405及第三缓冲器407的选择输入端SEL为该缓冲器的致能端。如图4所示,第一缓冲器403及第二缓冲器405为低电平致能缓冲器,第三缓冲器407为高电平致能缓冲器。当选择信号SELECTION为高电平时,第一缓冲器403及第二缓冲器405关闭,且第三缓冲器407导通。因此电流路径会由第一双功能电路131的第二输出/入端2nd经过第三缓冲器407,而输出到第一双功能电路131的第一输出/入端1st,以执行一缓冲器的功能。当选择信号SELECTION为低电平时,第一缓冲器403及第二缓冲器405导通,且第三缓冲器407关闭。因此电流路径会由第一双功能电路131的第一输出/入端1st经过第一缓冲器403、异或门401、第二缓冲器405,而输出到第一双功能电路131的第二输出/入端2nd,以执行一异或门的功能。

    图5为图1中第二双功能电路133的电路图。如图5所示,第二双功能电路133包含一异或门501、一第一缓冲器503、一第二缓冲器505及一第三缓冲器507。异或门501包含一输出端OUT、一第一输入端1st及一第二输入端2nd。第一至第三缓冲器503、505及507包含一输出端OUT、一输入端IN及一选择输入端SEL。其中,异或门501的输出端OUT连结到第二缓冲器505的输入端IN,异或门501的第一输入端1st连结到第一缓冲器503的输出端OUT,异或门501的第二输入端2nd为第二双功能电路133的输入端IN,第三缓冲器507的输出端OUT连结到第一缓冲器503的输入端IN及第二双功能电路133的第二输出/入端2nd,第三缓冲器507的输入端IN连结到第二缓冲器505的输出端OUT及第二双功能电路133的第一输出/入端1st,第一缓冲器503、第二缓冲器505及第三缓冲器507的选择输入端SEL连结到指针产生器101的选择输入端103。

    第一缓冲器503、第二缓冲器505及第三缓冲器507的选择输入端SEL为该缓冲器的致能端。如图5所示,第一缓冲器503及第二缓冲器505为高电平致能缓冲器,第三缓冲器507为低电平致能缓冲器。当选择信号SELECTION为高电平时,第一缓冲器503及第二缓冲器505导通,且第三缓冲器507关闭。因此电流路径会由第二双功能电路133的第二输出/入端2nd经过第一缓冲器503、异或门501、第二缓冲器505,而输出到第二双功能电路133的第一输出/入端1st,以执行一异或门的功能。当选择信号SELECTION为低电平时,第一缓冲器503及第二缓冲器505关闭,且第三缓冲器507导通。因此电流路径会由第二双功能电路133的第一输出/入端1st经过第三缓冲器507,而输出到第二双功能电路133的第二输出/入端2nd,以执行一缓冲器的功能。

    图1的实施例中,选择信号SELECTION为高电平时,即为上述的第一状态。此时图1的指针产生器101可简化为图6(a)的电路,它是一线性反馈移位寄存器,可执行第一本质特征多项式X4+X3+1的运算,产生一个数字序列,做为指向堆栈的指针值。选择信号SELECTION为低电平时,即为上述的第二状态。此时图1的指针产生器101可简化为图6(b)的电路,它也是一线性反馈移位寄存器,执行第二本质特征多项式X4+X+1的运算,产生另一个数字序列,做为指向堆栈的指针值。值得注意的是,图6(a)与图6(b)的电路图其结构看似相同,但由于第一本质特征多项式与第二本质特征多项式彼此互补,因此指针值的位顺序彼此相反。图6(a)的指针值由左至右为addr[0]、addr[1]、addr[2]及addr[3],而图6(b)的指针值由左至右为addr[3]、addr[2]、addr[1]及addr[0],故图6(a)与图6(b)所产生的指针值顺序也相反。因此当其中的一状态定义为往上计数时,则另一状态为往下计数。

    图7为该实施例经计算机软件仿真的结果。图中信号updown即为图1中的选择信号SELECTION。信号clk与其它图中的信号clk相同,都是时钟脉冲控制信号。信号addr out[3:0]为图1、图6(a)、图6(b)的指针值addr[0]~addr[3],是一个四位输出信号,可产生16个位阶,以0123456789abcdef来表示。利用此16个位阶来做为堆栈的指针时,便可指向16个地址。如图7所示,当信号updown在一段时间内都为低电平时(表示不断有数据写入堆栈),指针addr out[3:0]便不断地往上计数,由1->0->8->4->2->9->c->6->b。信号updown由低电平转变为高电平时(表示不断有数据读出堆栈),指针addr out[3:0]便不断地往下计数,由6->c->9->2->4->8->0->1。该两个数字序列彼此顺序颠倒,故可准确地做为堆栈的指针值,完成堆栈读出或写入数据的动作。

    本发明并不限于仅使用四个串接的双向寄存器121。而应根据实际的需要,在本发明的范围内进行变化。例如,要产生2N个指针值(指向堆栈2N个地址),则需有N个串接的双向寄存器121。双向异或门111的数目也不是固定的,而依所选择的本质特征多项式而定。同样的,双向寄存器121的第二输出/入端2nd也依据其本质特征多项式,选择性地连接到双向运算电路107的数据输入端117。

    本发明利用线性反馈移位寄存器,来设计适用于堆栈的指针产生器。由于所需要的电路组件比现有技术的少,可节省电路布局的面积,以降低成本。同时线性反馈移位寄存器的结构简单,可工作于高频的环境下。此外,本发明的指针产生器所产生的指针值并非连续的数字串行,不同的本质特征多项式会产生不同的指针值序列。因此前后相关的数据并不一定储存在相邻的存储器地址中。故可增加其保密性,使储存在堆栈中的数据不易被窃取。

    由上述可知,本发明也是一种指针产生的方法,所产生的一指针值指向一堆栈,其指针产生方法的步骤包括:先选择一第一模式或一第二模式,以及产生一指针值。其中,第一模式(即上述的第一状态)相对应于一第一本质特征多项式运算的往上计数的指针值,第二模式(即上述的第二状态)相对应于一第二本质特征多项式运算的往下计数的指针值。第一本质特征多项式与第二本质特征多项式彼此互补,即产生的指针值顺序相反。在上述的实施例中,第一本质特征多项式为X4+X3+1,而第二本质特征多项式为X4+X+1。在选择第一或第二模式时,当数据需写入堆栈即选择第一模式,当数据需读出堆栈即选择第二模式。

    通过以上较佳具体实施例的详述,希望能更加清楚地描述本发明的特征与精神,而并非以上述所披露的较佳具体实施例来对本发明的范围加以限制。相反地,其目的是希望能涵盖各种改变及具等同性的安排在本发明所要申请的权利要求范围内。因此,本发明所申请的权利要求的范围应该根据上述的说明作最宽广的解释,以致使其涵盖所有可能的改变以及具等同性的安排。

一种堆栈的指针产生器与指针产生的方法.pdf_第1页
第1页 / 共22页
一种堆栈的指针产生器与指针产生的方法.pdf_第2页
第2页 / 共22页
一种堆栈的指针产生器与指针产生的方法.pdf_第3页
第3页 / 共22页
点击查看更多>>
资源描述

《一种堆栈的指针产生器与指针产生的方法.pdf》由会员分享,可在线阅读,更多相关《一种堆栈的指针产生器与指针产生的方法.pdf(22页珍藏版)》请在专利查询网上搜索。

本发明公开了一种指针产生器与指针产生的方法,所产生的一指针值指向一堆栈(后入先出存储器),包含一选择输入端和一双向线性反馈移位寄存器。选择输入端响应存取堆栈的指令,输入一选择信号。双向线性反馈移位寄存器的基本架构为线性反馈移位寄存器,在接收选择信号后,执行一特定本质特征多项式的运算,产生一数字序列。当选择信号改变时,所产生的数字序列与先前数字序列的顺序恰好相反,故可响应数据读出或写入堆栈,做为往上。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1