1、导言
在依据MCU的体系规划中,一般选用“MCU+PLD”的体系结构。PLD器材具有在体系现场可重复编程的才能,用来完结体系的I/O接口等外围功用。在这类体系中,绝大多数的数字逻辑可在PLD器材内部完结。在规划一个新体系时,应尽或许运用以往规划中已运用过的IP模块,这些模块的规划已老练、并经过时刻检测,可进步规划的重复运用率,并使体系功用和质量得到确保。 在长时间的规划作业中,人们已积累了很多的IP 模块,如在一个新的规划中加以运用,必定存在怎么办理这些模块的问题。为此可选用“集约式”的规划办法,以进步规划功率。硬件“集约式”的规划办法如图1所示,它类似于软件中高级言语的规划方法。先用HDL言语对各种不同功用的电路模块树立IP模块,创立电路单元IP库。然后依据规划规范的要求,从库中选取不同的电路单元组成描绘外围接口电路的HDL程序。终究,用相应的PLD 规划东西对HDL程序进行逻辑归纳,在PLD器材内部完结布局布线,生成终究的数字电路。因为这些电路单元是用HDL言语描绘的,而HDL言语的特色便是与工艺无关,因而用它描绘的电路单元的可移植性非常好,能够在选用不同工艺制作的PLD器材中运用。所以,电路单元库能够用在不同的体系中,避免了重复规划与资源糟蹋。
Xilinx公司和Altera公司的规划东西中,供给了一些HDL方法的电路库。不过库单元都是比较简单的小规模数字电路,如逻辑门、74系列器材等,对中、大规模和杂乱逻辑时序电路的规划协助不大。别的也有一些外围功用模块和杂乱逻辑的单元库供给如通用异步收发器、有限冲击呼应滤波器等,但不是以HDL的方法供给的,只适用于某些特定的PLD器材,移植性比较差。因而,在实践作业中编制了一个办理和组合HDL电路单元IP库的辅助规划软件–HAD软件。经过HAD软件,对规划好的HDL电路库进行办理,依照体系规划规范的要求从库中选取相应的电路单元并将它们组合起来,大大降低了体系规划和调试的难度,进步了体系的稳定性和可靠性,而且有利于体系日后的晋级。
2、HAD辅助规划软件功用
辅助规划(HAD)软件首要是对HDL言语的电路起一个辅助规划的作用。HAD软件的功用有两个:办理电路单元IP库以及生成所需外围电路的 HDL程序。
电路单元库的办理首要有两个方面:电路单元接口的办理以及电路单元HDL程序的办理。因而,电路单元库是由两个库组成的,一个是电路单元的接口库,别的一个是电路单元HDL程序库[7]。电路单元接口库里的根本单位是各个电路单元的接口信息,电路单元HDL程序库里的根本单位是描绘各种电路单元的HDL源程序。类似于规范芯片,如8255芯片,电路单元的接口信息描绘了这个规范芯片的输入输出以及它的功用,相当于8255的管脚和运用功用阐明;而电路单元HDL程序描绘了这个规范芯片内部的实践电路以及用何种电路结构完结相应功用的,这相当于8255芯片内部的电路组成和结构。关于办理一个库来说,根本的操作首要是新增、删去和批改库单元。
HAD软件的终究意图便是生成外围电路的HDL 程序。也便是依据体系规划规范的要求从IP库中选取适宜的电路单元,再以恰当的方法组合起来,成为一个完好的HDL程序。
3、电路模块HDL程序生成
HAD软件中最首要的功用便是电路模块HDL程序的生成。生成电路模块的HDL程序的进程,首要便是对电路单元IP库中的某些单元进行若干次例化的进程。
进行例化就必须具有两个条件:首要要有模块输入输出端口的列表,其次要知道的是与这些端口相衔接的信号列表。依据两者的对应联系,完结例化,然后将例化好的电路模块组合起来,成为一个HDL程序文件,生成电路模块HDL程序的流程如图2所示:
经过上面的剖析,首要创立两个数据库。一个寄存各种模块HDL程序的源文件,别的一个寄存与各个模块相对应的输入输出端口的信号列表。
寄存HDL程序的源文件的数据库比较简单,对它的操作仅限于对文件内容的仿制,因而这儿不作进一步的评论。
寄存端口信号列表的数据库结构,如表1所示。
表1中,最上面的一行是数据库的表头,字段名代表了每一个字段下面内容的详细意义。其间,module为电路单元模块名;detail为寄存模块端口详细信息的数据库名;PortN代表了模块中某个端口的姓名, N是自然数。
从表1中第二行开端的记载是不同的模块。例如,第二行记载所描绘的模块是带有一个异步清零端的D触发器,模块名是DFF,模块端口的详细信息寄存在DFF_D的数据库文件中,总共有4个端口,分别是CLK、CLR、D和Q。数据库文件 DFF_D中寄存的是每个端口的方向和宽度。
以DFF模块为例,其对应的数据库文件DFF_D 的内容如表2所示:
数据库文件DFF_D的字段有两类,前一半的字段都是以“Pn_io”的方法呈现,代表了这个端口的流向,是输入、输出仍是双向。后一半的字段都是以“Pn_bit”的方法呈现,代表了这个端口信号的宽度。
经过上面两类数据库,就能够完好地把握一个模块的一切接口信息。
在图1所示的流程图中,最重要的一步便是 “进行例化、组合”。依据上述几个数据库的界说和描绘,例化和组合的流程如图3所示。图中两个准备处理(六边形框)的作业是“例化组合”前的准备作业。依据体系规划规范的要求,确认所需功用模块的品种和数量,然后由规划者来确认一切模块及其输入输出信号的姓名。这些操作都能够经过键盘输入的方法来完结,从而将例化和组合进程中所需的信息传递给HAD软件。
确认好所需的模块之后,就能够逐个地对每个模块进行例化。首要翻开端口信号列表数据库,从中找到所选定的模块。接着,翻开寄存有模块端口详细信息的数据库,读取端口的类型和数量,依照指定的衔接信号名对模块进行例化。终究将例化后的HDL程序组组成一个文件。
4、办理电路单元库程序的规划思路
办理电路单元库的软件所具有的功用是对电路单元进行添加、删去和批改等操作,流程如图4所示。
图4中,办理流程首要由3个处理分支组成,分别是添加、删去和批改电路单元分支。
电路单元的添加功用便是将电路模块的HDL程序加入到电路单元库中。库中添加了一个新的电路单元,意味着又多了一个功用可供咱们挑选。跟着库中电路单元的日益增多,硬件规划中能够用HAD软件完结的比重就会越来越大,有利于体系规划。
添加电路单元处理分支的流程如图5所示。添加一个电路单元涉及到两个数据库的操作,一个是端口列表数据库,别的一个是端口详细信息数据库。首要,对端口列表数据库进行新增的操作,添加一条空记载,将新模块的I/O称号填入空记载中的相应字段里。然后,新建一个端口详细信息数据库文件。它的字段个数是新模块I/O个数的两倍,一半是用来指定I/O的方向,另一半是用来指定端口信号的宽度。终究,将I/O信号的方向以及宽度填入新建数据库的相应字段中。处理分支完毕之后再返回到办理流程的进口,从头挑选办理的内容。
删去电路单元处理分支的流程如图6所示。电路单元的删去功用便是将不再需求的电路单元从库中移掉。用程序完结时,只需将该电路单元在数据库中的记载删去,一同将对应的详细信息数据库一同删去即可。
批改电路单元处理分支的流程如图7所示。该单元的批改功用便是对库中的电路单元的信息进行批改。
5、完毕语
HAD软件选用了VB规划软件中的数据库办理控件,经过数据库办理控件完结数据库单元的添加、删去和批改等操作。该软件具有用户界面人性化、操作运用方便等长处。在多个嵌入式体系的规划中取得了很好的作用。
责任编辑:gt