大规模数字逻辑电路进化的方法及实践探析

时间:2022-10-28 04:55:56

大规模数字逻辑电路进化的方法及实践探析

【摘 要】大规模逻辑电路的进化是当前工程应用的主要研究领域,也是当前工程研究的重点与关键。本文基于这种背景,分析了铁路信号区间、车站计算机联锁系统相关逻辑电路在进化过程中的主要技术及其基本难点。

【关键词】大规模;逻辑电路;进化

进化硬件,在铁路信号特有的运送流程内,得到了广泛的应用,随着铁路信号特有的工程进展,线路的相关研究不仅要解决当前的线路评测评估的困难还要解决进化实验中成功率不高的情形,进而解决当前的线路实验中急需解决的线路进化的问题。

1 大规模数字电路演化设计的方法

1.1 函数级进化硬件

铁路信号联锁动作依托进化硬件,在实现数字电路的设计过程中,在电路的每条染色体中的每个基因为中均包含了PFU功能及其硬件的连接关系信息,所以在函数级别的硬件遗传操作中,其可能以及会产生的变异包括:

电路板特有的数字处理,应当明辨PFU输入引脚的变更。PFU的变更指的是在PFU自带的八种运算功能中的进行随机的选择或者是临时性的变更;输入的工程中可以根据实际情况对几者进行随机的选择与变更。如果在输入的过程中出现了变异之后的染色体中产生了原染色体中不包含PFU这一功能,那么在变异之后的染色体中将会相应的出现基因位。在PFU输入的过程中可供选择的输入接口包括前列PFU输出、外部的输入以及常数发生器三者。

1.2 使用函数型可编程器件来实现硬件的演化

函数型的可编程器件具有树形结构的特点,并且也正是因为这种结构的特点与优势使得可编程器件实现了外部进化的实验,这种进化的基础是数据选择器作为了函数几倍的FPGA的单元来的进行电路的进化与设计的。实现线路进化的函数器件的可编程模型为:

T=f(X,C),X=X1,X2......Xn,C=C1,,,Xj,Cj ∈(0,1)

在模型中X是输入进来的矢量,C是控制的矢量,控制矢量C相当于染色体的结构位串,也就是说在C取的数值不同的时候便具有不要的表达式,从而也就同期的减少了可编程逻辑器件所能够最终实现的基本功能。

1.3 基于函数级的FPGA原型的硬件的内部进化的进行与实现

数字信号的运送,要依托拟定出来的逻辑函数。在最小项的编码公式中,每一个最小项与变量的组合能够实现一一的对应关系,在硬件进化过程中出现的基于函数变换的“最小项”编码公式。逻辑函数的最小型是通过对全部的变量进行相“与”来实现的,所以每个变量便能够以原变量或者是反变量的形式出现在模型公式中。

在表达式中存在着n个变量的模型的逻辑函数的“最小项表达式”的一般形式中,mi是第i个变量组合对应的最小项,Ci是其相对于的系数,Ci的取值仅为0或者1,并且最小项的集合{mi}具有正交且完备的性质。

这样我们便能够得到系数组{ci}构成的矢量空间中所包含的所有的变量的逻辑系数,并且在这个矢量空间中的点是与其相应的逻辑系数一一对应的。这样从硬件进化的角度来看,这个矢量的空间便是能够得到的最小的搜索空间,而系数组{ci}对应的编码长度则是最小的,也就是能够通过对SPLD以及CPLD及其各自的与阵列,便能够按照“最小项的表达式”的方式来对组合函数进行表达,同时通过触发器以及极性控制的配置位{ki}等组合的使用,便能够得到最终的染色体,同时能够对其进行二值的编码:

CS=C0.....Ci.....CM-1K0.....KJ-1

在对模型进行评估以及编程的过程中,需要再次的将染色体翻译成与其相对应的实际配置的位串,这样相应的CSi表示的便是数值为i 的n位二值位串,也就是ci=1或者是存在着n位的全零位串,即ci=0的情况。此时的染色体的长度仅为直接进行编码工作的1/n,同时进化设计的运算量也仅能够达到直接进行编码时候的1/n2的水平。

基于RAM查找表格的函数级别的FPGA模型的基本原理与构造过程为:因为主流的PLD器件结构对于上述的编码方案都能够很好的提供支持,所以在模型的构建过程中可以将SRAM的地址线作为输入,并将其数据线作为输出,这样的设置所构成的查找表能够实现任意的n输入以及k输出的组合逻辑,这种模型的基本运算原理可以表示为:

Fj=

j=0,1,......,k-1

模型中的Di以及j表示的是SRAM在第i个单元的第j位,Ai代表的是第i个地址,与编号为i的变量组合以及最小项的mi具有一一对应的基本关系。在模型构建以及基本结果计算的过程中,需要将RAM查找表作为基本的核心,并参照主流的PLD结构使得系统的每一个输出的断开都能够与一个逻辑宏单元相对应,进而保证输出的形式及其积极性,同时将各种OLMC的输出反馈到RAM 的查找表中去,便能够实现组合的逻辑同时获得函数级的FPGA 的原型。

2 电路板处理特有的分解进化

铁路信号特有的分解进化,密切关联着电路板处理。分化的过程中以及分解的标准决定了分解的过程所采用的门级都是最基本的层级与形式,同时也能够保证这种进化能够快速的进行与实现。在对电路进行多级的分解进化的过程中,需要首先将复杂的逻辑电路系统分解为若干的不同的子系统。

如果被分解出来的子系统中仍然存在着较大规模的电路系统结构,则需要继续对电路系统进行分解,直至所有的分解出来的子系统均足够的简单,分解工作便能够停止了。在进化的过程中,通过对实际输出与期望输出的逐个染色的比较与分析以及对系统输出的相同位数的相加与统计,便能够将统计结果的大小作为评价系统优劣程度的适应度函数了。在数字电路的多级分解进化的过程中,每一级的进化在电路的编码方面都与门级的电路编码的方式具有高度的相似性,在分解进化的过程中,适应度的函数在不同的进化级别上采用的都是将输入的信号以组合输入的方式来实现系统演化的。

3 多位加法器的分级进化的实现

3.1 一位全加法器进化的实现

门级进化的一位全加法器的实现不仅需要输入缓冲列还需要输出锁存列,我们设定演化区域的大小为m×n,也就是说压花区域的行数为m,演化区域的列数为n,将两输入一输出的逻辑们作为基本的演化单位,表征电路结构的染色体的长度则为2mn+L+mn,公式中的L表示的是实现功能电路的输出引脚的数目。

这样在进化实现的过程中便有了mn个逻辑门参与到了进程中来,并且每个逻辑门上都有两个输入的引脚,加上实现功能单元的输出的引脚的数目,便能够得到染色体A。

在一位全加法器进化的实现过程中,演化区域的大小决定了表征电路的结构及其染色体的长度,我们设定了染色体结构的基本长度并对每个区域分别进行了50次的实验仿真,如果在进化的过程中,超过了100,000代的实验仍没能得到最优解,那么便可以认为当次的进化实验失败了,也就可以与此同时终止进化的实验了。

3.2 多位加法器的二级进化的实现

上一篇:数控车床教学中订单生产与项目教学结合探索 下一篇:建筑工程水电安装质量问题与对策分析