新闻中心

EEPW首页>EDA/PCB>设计应用> FCSR原理及其VHDL语言的实现

FCSR原理及其VHDL语言的实现

作者: 时间:2012-10-12 来源:网络 收藏

2序列发生器的实现

以n=10为例来设计参数可变的序列发生器。

2.1功能描述及外部引脚

由图1可知,进位反馈移位寄存器由加法器、进位寄存器和一组(n级)D触发器组成。加法器实现的反馈运算;进位寄存器保存前一时刻运算结果除2后的状态mn-1,并为下一运算提供输入;n级D触发器构成移位寄存器,在时钟控制下实现右移,依次输出其内部状态。同时某些触发器的输出反馈回来,与进位寄存器的输出进行运算,和模2反馈至寄存器输入端,和除2反馈至进位寄存器。

式(1)中qi∈GF(2) ,(i=1,2,…,r-1)在实际电路中为抽头的连接状态,决定哪一级输出反馈至加法器,qi=0表示断开,qi=1表示连接。

FCSR序列发生器的外部引脚定义如图2所示。

其中,CLK为时钟信号;RESET为置数信号;PRN为初态置数端;SEL为抽头置数端;Q为输出端。该FCSR序列发生器的特点在于可以通过设定SEL[9…0]的值来改变抽头数、抽头位置和发生器的有效级数n(1~10级);当RESET为低电平时,通过设定PR N[9…0]的值改变FCSR的初态,从而可以改变输出序列周期,分析各种状态下输出 序列的变化。

2.2可变参数部分的设计

本设计通过手动或软件自动设定SEL[9…0]的值来改变抽头数、抽头位置和发生器的有效级数3个参数,其中改变最高抽头位置可使有效长度可变。具体电路中,由SEL[9…0]设定值作为加法器的输入,输出结果进行下一步运算,因此需要设计输入变量较多、延迟时间较短的加法器电路。

这里的求和运算可以等效为计算输入变量中“1”的个数。对此有多种实现方案,如计数法、逻辑函数法、查表法、求和网络法等。单纯使用一种方法,在输入变量较多的情况下会有占用资源太多、延迟时间太大或表达式太繁琐等问题,因此需要综合使用这些方法。该加法器综合使用逻辑函数-求和网络法,由1位累加器和3位串行加法器实现。

由于n=10,则抽头数至多为10,可以分2组进行求和。因此首先设计5输入、3位输出的累加器。用卡诺图简化后,写逻辑表达式如下:

3位串行加法器的设计比较简单,不再赘述,则10输入变量、3位输出的加法器电路图如图3所示。

这里求和网络只有1级,不难由此扩充成多级。该电路延迟至多为8级逻辑门的延迟时间,占用资源也较少。

2.3主程序

根据FCSR序列产生的,采用语言的混合描述方式对该逻辑进行硬件描述。主程序l_seq如下:

其中元件例化语句中所引用的元件已经作为组件在compONents.vhd用户包进行定义,在主程序中调用即可。

负离子发生器相关文章:负离子发生器原理


关键词:FCSRVHDL原理

评论


相关推荐

技术专区

关闭