CN116128448B - Fpga工程项目的设计数据处理方法、装置、电子设备 - Google Patents
Fpga工程项目的设计数据处理方法、装置、电子设备 Download PDFInfo
- Publication number
- CN116128448B CN116128448B CN202310026386.2A CN202310026386A CN116128448B CN 116128448 B CN116128448 B CN 116128448B CN 202310026386 A CN202310026386 A CN 202310026386A CN 116128448 B CN116128448 B CN 116128448B
- Authority
- CN
- China
- Prior art keywords
- engineering
- target
- design data
- project
- information
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种FPGA工程项目的设计数据处理方法、装置、电子设备。该方法包括:响应FPGA工程项目的设计数据的输入指令,调用设计数据的命令解释器,进入命令解释器的显示页面;在显示页面中,响应目标项目的创建指令,创建目标项目,以及目标项目与工程信息包之间的映射关系,工程信息包包括工程项目流程的工程步骤和信息;根据映射关系执行工程项目流程,生成当前输入设计数据的目标步骤的前缀信息,前缀信息显示在输入的目标步骤的设计数据的预设位置。解决了相关技术中FPGA工程项目在设计过程中,设计人员无法轻易知晓设计数据所属的设计流程和设计步骤,需要人为查阅和判定,存在效率低,准确率差的问题。
Description
技术领域
本申请涉及设计辅助领域,具体而言,涉及一种FPGA工程项目的设计数据处理方法、装置、电子设备。
背景技术
利用Tcl(Tool Command Language,一种脚本语言)Shell,即Tcl的命令解释器,使用Tcl命令来控制开发设计流程,从而方便的对FPGA(Field Programmable Gate Array,现场可编程门阵列)开发的项目的多阶段和步骤进行管理。
对于 FPGA 开发的一个项目,往往会有多个阶段,一般有两种做法,一种是使用GUI(Graphical User Interface,用户图形界面),即使用图形界面的方式来进行管理,一种是使用script(脚本)来管理。前者的缺陷是使用过于复杂,后者是可编辑性的提示性不好,无法准确了解当前的执行步骤。
针对相关技术中FPGA工程项目在设计过程中,设计人员无法轻易知晓设计数据所属的设计流程和设计步骤,需要人为查阅和判定,存在效率低,准确率差的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种FPGA工程项目的设计数据处理方法、装置、电子设备,以解决相关技术中FPGA工程项目在设计过程中,设计人员无法轻易知晓设计数据所属的设计流程和设计步骤,需要人为查阅和判定,存在效率低,准确率差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种FPGA工程项目的设计数据处理方法,所述方法包括:响应FPGA工程项目的设计数据的输入指令,调用所述设计数据的命令解释器,进入所述命令解释器的显示页面,其中,所述设计数据为预设格式语言的数据;在所述显示页面中,响应目标项目的创建指令,创建所述目标项目,以及所述目标项目与工程信息包之间的映射关系,其中,所述工程信息包包括工程项目流程的工程步骤和信息;根据所述映射关系执行所述工程项目流程,生成当前输入设计数据的目标步骤的前缀信息,其中,所述目标步骤的前缀信息包括所述目标项目的项目标识,以及所述目标步骤的步骤标识,所述前缀信息显示在输入的目标步骤的设计数据的预设位置。
可选的,在所述显示页面中,响应目标项目的创建指令,创建所述目标项目,以及所述目标项目与工程信息包之间的映射关系包括:显示所述命令解释器的默认的前缀信息;接收在所述默认的前缀信息之后写入的创建指令;响应所述创建指令,创建所述目标项目,并根据所述目标项目的项目标识,生成所述目标项目的前缀信息;确定所述目标项目的工程信息包,创建所述目标项目与所述工程信息包之间的映射关系。
可选的,确定所述目标项目的工程信息包包括:在所述目标项目为已有项目的情况下,获取所述目标项目的工程信息包,其中,所述工程信息包还用于记录所述工程项目流程中已写入步骤;在所述目标项目为新项目的情况下,根据预设模板生成所述目标项目的工程信息包。
可选的,根据所述映射关系执行所述工程项目流程,生成当前输入设计数据的目标步骤的前缀信息包括:执行所述工程项目流程,确定当前输入设计数据的目标步骤,其中,所述工程项目流程包括不同层级的多个步骤;根据所述映射关系从所述工程信息包中获取所述目标步骤的步骤标识;根据所述项目标识和所述步骤标识,生成所述目标步骤的前缀信息,并显示在所述目标步骤的设计数据中的预设位置。
可选的,根据所述项目标识和所述步骤标识,生成所述目标步骤的前缀信息,并显示在所述目标步骤的设计数据中的预设位置之前,所述方法还包括:显示所述目标项目的前缀信息,其中,所述目标项目的前缀信息包括所述目标项目的项目标识;接收在所述目标项目的前缀信息之后写入的添加命令,其中,所述添加命令用于添加设计文件;响应所述添加命令创建设计文件,其中,所述设计文件用于记录工程项目流程的步骤中写入的设计数据。
可选的,响应所述添加命令创建设计文件之后,所述方法还包括:根据所述设计文件的设计标识,生成设计开始的前缀信息,并在设计数据的写入区域中的预设位置进行显示,其中,所述生成设计开始的前缀信息之后,输入所述工程项目流程的目标步骤的步骤标识,以开始写入所述目标步骤的设计数据;所述预设位置为每行字段的行首位置。
可选的,所述方法还包括:响应写入的退出命令,退出对所述目标项目的工程项目流程的执行;显示所述命令解释器的默认的前缀信息。
为了实现上述目的,根据本申请的另一方面,提供了一种FPGA工程项目的设计数据处理装置,包括:调用模块,用于响应FPGA工程项目的设计数据的输入指令,调用所述设计数据的命令解释器,进入所述命令解释器的显示页面,其中,所述设计数据为预设格式语言的数据;创建模块,用于在所述显示页面中,响应目标项目的创建指令,创建所述目标项目,以及所述目标项目与工程信息包之间的映射关系,其中,所述工程信息包包括工程项目流程的工程步骤和信息;生成模块,用于根据所述映射关系执行所述工程项目流程,生成当前输入设计数据的目标步骤的前缀信息,其中,所述目标步骤的前缀信息包括所述目标项目的项目标识,以及所述目标步骤的步骤标识,所述前缀信息显示在输入的目标步骤的设计数据的预设位置。
为了实现上述目的,根据本申请的另一方面,提供了一种计算机可读存储介质,所述存储介质用于存储程序,其中,所述程序执行上述中任意一项所述的FPGA工程项目的设计数据处理方法。
为了实现上述目的,根据本申请的另一方面,提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述中任意一项所述的FPGA工程项目的设计数据处理方法。
本申请通过响应输入指令,调用命令解释器,在命令解释器的显示页面中,创建目标项目,与目标项目和工程信息包之间的映射关系。并根据映射关系执行工程项目流程,并生成当前的目标步骤的前缀信息,并显示在目标步骤的预设位置。以提示目标步骤的设计者,目标步骤在工程项目流程中对应的步骤信息。达到了在进行FPGA工程项目的设计数据输入时,时刻提示输入设计数据对应的步骤信息,不需要人为查阅和根据设计数据的信息进行判定,进而实现了提高设计数据的步骤信息提示的准确性,使得设计者可以时刻、快速便捷、准确地了解到当前输入的设计数据所属的流程步骤,进而解决了相关技术中FPGA工程项目在设计过程中,设计人员无法轻易知晓设计数据所属的设计流程和设计步骤,需要人为查阅和判定,存在效率低,准确率差的问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种FPGA工程项目的设计数据处理方法的流程图;
图2是根据本申请实施方式提供的FPGA设计步骤管理方法的示意图;
图3是根据本申请实施方式提供的Tcl shell命令解释器的显示页面的示意图;
图4是根据本申请实施例提供的一种FPGA工程项目的设计数据处理装置的示意图;
图5是根据本申请实施例提供的一种电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例提供的一种FPGA工程项目的设计数据处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,响应FPGA工程项目的设计数据的输入指令,调用设计数据的命令解释器,进入命令解释器的显示页面,其中,设计数据为预设格式语言的数据;
步骤S102,在显示页面中,响应目标项目的创建指令,创建目标项目,以及目标项目与工程信息包之间的映射关系,其中,工程信息包包括工程项目流程的工程步骤和信息;
步骤S103,根据映射关系执行工程项目流程,生成当前输入设计数据的目标步骤的前缀信息,其中,目标步骤的前缀信息包括目标项目的项目标识,以及目标步骤的步骤标识,前缀信息显示在输入的目标步骤的设计数据的预设位置。
上述步骤通过响应输入指令,调用命令解释器,在命令解释器的显示页面中,创建目标项目,与目标项目和工程信息包之间的映射关系。并根据映射关系执行工程项目流程,并生成当前的目标步骤的前缀信息,并显示在目标步骤的预设位置。以提示目标步骤的设计者,目标步骤在工程项目流程中对应的步骤信息。达到了在进行FPGA工程项目的设计数据输入时,时刻提示输入设计数据对应的步骤信息,不需要人为查阅和根据设计数据的信息进行判定,进而实现了提高设计数据的步骤信息提示的准确性,使得设计者可以时刻、快速便捷、准确地了解到当前输入的设计数据所属的流程步骤,进而解决了相关技术中FPGA工程项目在设计过程中,设计人员无法轻易知晓设计数据所属的设计流程和设计步骤,需要人为查阅和判定,存在效率低,准确率差的问题。
上述步骤的执行主体可以为FPGA的设计工具,该设计工具可以设置在处理器、计算器或控制器上进行数据处理,来执行上述步骤中的数据处理操作,例如步骤S101-步骤S103。上述设计工具可以为一般的代码编写工具,通过设计工具,将设计数据按照固定格式的语言进行编写,并生成不同格式的文件,来为不同的设计场景提供设计数据。
在步骤S101中,响应FPGA工程项目流的设计数据的输入指令,调用设计数据的命令解释器,进入命令解释器的显示页面,设计数据为预设格式语言的数据。上述FPGA工程项目可以为设计FPGA的工程项目,不同的工程项目对应有不同的设计标准,其对应的设计流程步骤也是不同的。具体的一个FPGA工程项目可以有多个层级的多个步骤,通过工程项目流程Flow的形式进行表述。
例如,一个工程项目流程Flow包括合成synthesis,执行implement两个一级步骤,合成synthesis的一级步骤包括技术地图tech_map,试运行run_implement两个二级步骤。执行implement的一级步骤包括执行bitgen程序指令的二级步骤。由此可看,上述Flow包括两个层级的三个步骤。
此处需要说明的是,步骤的数量视具体执行的步骤数量,通常可以理解为最低一层的步骤的数量,例如,技术地图tech_map,试运行run_implement,执行bitgen程序指令的步骤。而对于非底层的步骤,例如上述合成synthesis,执行implement的一级步骤,主要起划分作用,而非执行。
上述输入指令可以为开始编写FPGA工程项目的指令,响应该输入指令,调用命令解释器,进入命令解释器的显示页面。需要说明的是,进入命令解释器后,设计数据的输入都是在命令解释器的显示页面中进行的,也即是进入命令解释器的显示页面后,也就进入了命令解释器的环境中。
按照预设格式输入对FPGA工程项目的设计数据,在命令解释器中,会根据映射关系,自动生成设计数据对应的项目标识,以及步骤标识,从而时刻提示设计人员输入的设计数据对应的工程项目流程中的目标步骤。
在进入显示页面中后,显示页面处于初始状态,可以显示一些预定的内容。例如,欢迎使用等礼貌用语,还可以包括一些使用说明的内容。在正式可以输入编辑的位置可以显示默认的前缀信息,该前缀信息具体的内容可以进行编辑,包括将项目标识和步骤标识编辑到前缀信息里边,进行显示。
需要说明的是,前缀信息不修改的情况下,在输入的每一行都会进行显示,采用换行操作时,前缀信息会自动显示在行首端,以提示设计人员当前设计数据所对应的工程项目和设计步骤。
可选的,步骤S102,在显示页面中,响应目标项目的创建指令,创建目标项目,以及目标项目与工程信息包之间的映射关系包括:显示命令解释器的默认的前缀信息;接收在默认的前缀信息之后写入的创建指令;响应创建指令,创建目标项目,并根据目标项目的项目标识,生成目标项目的前缀信息;确定目标项目的工程信息包,创建目标项目与工程信息包之间的映射关系。
在进入显示页面之后,默认显示命令解释器的默认的前缀信息。如图3所示,默认的前缀信息为“Eccad>”。考虑到不同的FPGA工程项目对应的工程项目流程中的步骤可能不同,在编辑设计数据时,需要体现出不同工程项目的区别来,以防止在多个FPGA工程项目在穿插着进行设计的时候,会出现混淆的情况。
具体的,在默认的前缀信息后,输入创建指令,例如“open project test001”,也即是创建工程项目“test001”,其中的“test001”为该工程项目的项目标识,该项目标识可以人为输入,输入后也可以进行修改,在某一行的前缀中修改了其项目标识,命令解释器会自动更新该项目的所有行的前缀中的项目标识。
响应创建指令,创建目标项目,并根据目标项目的项目标识,生成目标项目的前缀信息。也即是在输入创建指令之后,可以通过确认操作进行确认,例如,点击回车进行换行,就默认完成了该创建指令的输入。然后自动生成该工程项目test001,并生成其目标项目的前缀信息“Eccad | test001>”。
在项目创建后,确定目标项目的工程信息包,创建目标项目与工程信息包之间的映射关系。一个工程项目对应一个工程信息包,在一些情况下,上述工程项目可能是已经编辑和设计了一部分的工程项目。尤其是设计流程比较复杂的情况下,可能需要多次进行设计。
这种情况下,创建的工程项目的工程信息包是已经有的,只需要进行获取和映射即可。若创建的项目是从未编辑过的新的工程项目,则可以在创建工程项目的同时创建其工程项目的工程信息包。
可选的,确定目标项目的工程信息包包括:在目标项目为已有项目的情况下,获取目标项目的工程信息包,其中,工程信息包还用于记录工程项目流程中已写入步骤;在目标项目为新项目的情况下,根据预设模板生成目标项目的工程信息包。
创建的工程项目是否为新的工程项目,可以通过检测工程信息包是否存在的方式进行检测。同一个工程项目的项目标识是相同的,其项目标识对应的工程信息包的标识,或者存储路径都可以是相同的。
这样在创建一个工程项目后,可以其项目标识查找是否存在对应的工程信息包。若存在说明该工程项目为已经编辑和设计过的工程项目,并将创建的工程项目通过项目标识与该工程信息包进行映射。若不存在,则说明该工程项目为新的工程项目,并创建该工程项目的工程信息包。
需要说明的是,在创建工程信息包时,可以按照预设的模板进行创建,模板中包括需要的数据,以及数据格式,来生成对应的工程信息包。
可选的,根据映射关系执行工程项目流程,生成当前输入设计数据的目标步骤的前缀信息包括:执行工程项目流程,确定当前输入设计数据的目标步骤,其中,工程项目流程包括不同层级的多个步骤;根据映射关系从工程信息包中获取目标步骤的步骤标识;根据项目标识和步骤标识,生成目标步骤的前缀信息,并显示在目标步骤的设计数据中的预设位置。
上述执行工程项目流程,也即是按照工程项目流程的步骤进行逐步设计,以执行工程项目的设计流程。在执行过程中,确定当前的目标步骤,根据映射关系从工程信息包中获取目标步骤的步骤标识,并根据项目标识和步骤标识,生成目标步骤的前缀信息,并显示在目标步骤的设计数据中的预设位置。
在上述项目标识为“test001”的情况下,若目标步骤的步骤标识为Synthesis,则生成的目标步骤的前缀信息为“Eccad | test001 | Synthesis>”显示在设计数据中每行的行首位置。从而方便直接的提示设计者当前设计的步骤,在工程项目流程中的位置。
可选的,根据项目标识和步骤标识,生成目标步骤的前缀信息,并显示在目标步骤的设计数据中的预设位置之前,方法还包括:显示目标项目的前缀信息,其中,目标项目的前缀信息包括目标项目的项目标识;接收在目标项目的前缀信息之后写入的添加命令,其中,添加命令用于添加设计文件;响应添加命令创建设计文件,其中,设计文件用于记录工程项目流程的步骤中写入的设计数据。
需要说明的是,在正式进入目标步骤的设计数据的输入之前,也即是正式进入目标步骤的设计之前,需要创建一个设计文件,来记录这些输入的设计数据,一方面是为了降低命令解释器的存储压力,另一方面是为了方便设计数据的迁移和存储。通过设计文件采用设定格式记录设计数据,还可以为对应的设计工具提供数据支持。
具体的,显示目标项目的前缀信息之后,在目标项目的前缀信息之后写入添加命令,响应添加命令创建设计文件。添加的设计文件可以记为test.v,此文件类型为verilog:添加命令可以为“add_files test.v”。
可选的,响应添加命令创建设计文件之后,方法还包括:根据设计文件的设计标识,生成设计开始的前缀信息,并在设计数据的写入区域中的预设位置进行显示,其中,生成设计开始的前缀信息之后,输入工程项目流程的目标步骤的步骤标识,以开始写入目标步骤的设计数据;预设位置为每行字段的行首位置。
添加设计文件之后提示前缀会追加RTLDesign (*)的标识,也即是设计开始的前缀信息。之后可以对设计文件进行操作,如编译、映射、布局、布线。例如:
Eccad | test001 | RTLDesign(*)>synthesis_parse
Eccad | test001 | Synthesis>tech_map
可选的,方法还包括:响应写入的退出命令,退出对目标项目的工程项目流程的执行;显示命令解释器的默认的前缀信息。
在设计完成,或者需要中断的情况下,可以通过退出命令,退出该工程项目的设计,则对应的完成本次对该工程项目的设计,最终会生成一个设计文件记录该工程项目在本次设计的设计数据。
在结束前最后一个步骤的前缀信息之后,输入退出指令,“exit_project”,则自动退出该项目工程。退出该工程项目后,前缀信息恢复到默认状态,“Eccad>”。以便之后对其他的工程项目进行设计。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以不同于此处的顺序执行所示出或描述的步骤。
需要说明的是,本申请还提供了一种可选的实施方式,下面对该实施方式进行详细说明。
本实施方式提供了利用Tcl实现FPGA工程项目,进行EDA开发的工程步骤管理方法,采用Tcl Shell来快速创建项目,通过Shell的提示前缀来展现项目和关键的步骤信息,能达到随时能了解工程的执行步骤和状态的目标。
图3是根据本申请实施方式提供的Tcl Shell命令解释器的显示页面的示意图,如图3所示,具体步骤如下:
1:进入Tcl Shell:
图2是根据本申请实施方式提供的FPGA设计步骤管理方法的示意图,如图3所示,打开Tcl Shell之后,不需操作即默认出现Welcome信息和默认的提示符的前缀信息”Eccad>”。
2:进入工程:
创建工程 test001,同时创建含有工程信息的XML(eXtensible MarkupLanguage,可扩展标记语言)文件,也即是工程信息包,用于存储工程信息,在前缀信息上加上项目标识进行标识,使用户感知到当前正在工作的工程项目。
Eccad>create project test001
按下回车之后,确认并执行创建指令,默认的前缀信息,更新为:
Eccad | test001>
打开工程:读入test001工程的工程信息包,并在前缀信息上加上项目标识进行标识的具体过程如下:
Eccad>open project test001
Eccad | test001>
3:执行FPGA的EDA(Electronic design automation,即电子设计自动化,涵盖了电子设计、仿真、验证、制造全过程的所有技术)flow(工程项目流程),便于对FPGA的芯片进行设计。执行flow的目的是通过前缀信息的标识可以了解到当前所在的工程和当前的运行步骤在哪一个阶段。
目标项目的前缀信息表示当前正在操作项目标识为test001的目标工程,命令的含义是添加设计文件test.v,此文件类型为verilog:
Eccad | test001>add_files test.v
添加设计文件之后提示前缀会追加RTLDesign (*)的标识,之后可以对设计文件进行操作,如编译、映射、布局、布线。
Eccad | test001 | RTLDesign(*)>synthesis_parse
Eccad | test001 | Synthesis>tech_map
以上标识清楚当前工程和运行步骤。
4:退出工程,退出当前工作目录,修改上下文状态,更改提示符并进入 non-project 模式,从而可以进行non-project模式下的一些操作或是进入一个新的工程。
Eccad | test001 | TechMap>exit_project
退出工程后前缀信息回到初始状态:
Eccad>
例如,用户在使用command模式进行FPGA设计时,在工程模式下可以方便的项目进行管理,完成一些预制好的流程,但以往的command模式无法使工程信息被用户感知到,用户通常无法通过command界面得知当前正在工作的工程和flow的执行状态(即上一个完成的步骤),通过将信息加入到提示前缀可以使用户方便的感知到这些信息,提高使用者的开发效率。
对test001工程执行最简的完整的flow:
Eccad>open project test001
Eccad | test001>add_files test.v
Eccad | test001 | RTLDesign(*)>synthesis_parse
Eccad | test001 | Synthesis>tech_map
Eccad | test001 | Synthesis>run_implement
Eccad | test001 | Implement>bitgen
Eccad | test001 | Bitgen>exit_project
本实施方式可以在 command 模式下方便的进行 EDA flow 的项目设计,提升开发人员的开发效率。
图4是根据本申请实施例提供的一种FPGA工程项目的设计数据处理装置的示意图,如图4所示,本申请实施例还提供了一种FPGA工程项目的设计数据处理装置,需要说明的是,本申请实施例的FPGA工程项目的设计数据处理装置可以用于执行本申请实施例所提供的用于FPGA工程项目的设计数据处理方法。以下对本申请实施例提供的FPGA工程项目的设计数据处理装置进行介绍。该装置包括:调用模块41,创建模块42,生成模块43,具体如下。
调用模块41,用于响应FPGA工程项目的设计数据的输入指令,调用设计数据的命令解释器,进入命令解释器的显示页面,其中,设计数据为预设格式语言的数据;创建模块42,与上述调用模块41相连,用于在显示页面中,响应目标项目的创建指令,创建目标项目,以及目标项目与工程信息包之间的映射关系,其中,工程信息包包括工程项目流程的工程步骤和信息;生成模块43,与上述创建模块42相连,用于根据映射关系执行工程项目流程,生成当前输入设计数据的目标步骤的前缀信息,其中,目标步骤的前缀信息包括目标项目的项目标识,以及目标步骤的步骤标识,前缀信息显示在输入的目标步骤的设计数据的预设位置。
上述FPGA工程项目的设计数据处理装置,通过响应输入指令,调用命令解释器,在命令解释器的显示页面中,创建目标项目,与目标项目和工程信息包之间的映射关系。并根据映射关系执行工程项目流程,并生成当前的目标步骤的前缀信息,并显示在目标步骤的预设位置。以提示目标步骤的设计者,目标步骤在工程项目流程中对应的步骤信息。达到了在进行FPGA工程项目的设计数据输入时,时刻提示输入设计数据对应的步骤信息,不需要人为查阅和根据设计数据的信息进行判定,进而实现了提高设计数据的步骤信息提示的准确性,使得设计者可以时刻、快速便捷、准确地了解到当前输入的设计数据所属的流程步骤,进而解决了相关技术中FPGA工程项目在设计过程中,设计人员无法轻易知晓设计数据所属的设计流程和设计步骤,需要人为查阅和判定,存在效率低,准确率差的问题。
所述FPGA工程项目的设计数据处理装置包括处理器和存储器,上述调用模块41,创建模块42,生成模块43等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决了相关技术中非电容屏原配的电容笔在使用时,用户无法确定是否适配的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述FPGA工程项目的设计数据处理方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述FPGA工程项目的设计数据处理方法。
图5是根据本申请实施例提供的一种电子设备的示意图,如图5所示,本申请实施例提供了一种电子设备50,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述FPGA工程项目的设计数据处理方法的步骤:
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在FPGA工程项目的设计数据处理设备上执行时,适于执行初始化有上述任一方法步骤的程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程FPGA工程项目的设计数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程FPGA工程项目的设计数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程FPGA工程项目的设计数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程FPGA工程项目的设计数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种FPGA工程项目的设计数据处理方法,其特征在于,所述方法包括:
响应FPGA工程项目的设计数据的输入指令,调用所述设计数据的命令解释器,进入所述命令解释器的显示页面,其中,所述设计数据为预设格式语言的数据;
在所述显示页面中,响应目标项目的创建指令,创建所述目标项目,以及所述目标项目与工程信息包之间的映射关系,其中,所述工程信息包包括工程项目流程的工程步骤和信息;
根据所述映射关系执行所述工程项目流程,生成当前输入设计数据的目标步骤的前缀信息,其中,所述目标步骤的前缀信息包括所述目标项目的项目标识,以及所述目标步骤的步骤标识,所述前缀信息显示在输入的目标步骤的设计数据的预设位置。
2.根据权利要求1所述的方法,其特征在于,在所述显示页面中,响应目标项目的创建指令,创建所述目标项目,以及所述目标项目与工程信息包之间的映射关系包括:
显示所述命令解释器的默认的前缀信息;
接收在所述默认的前缀信息之后写入的创建指令;
响应所述创建指令,创建所述目标项目,并根据所述目标项目的项目标识,生成所述目标项目的前缀信息;
确定所述目标项目的工程信息包,创建所述目标项目与所述工程信息包之间的映射关系。
3.根据权利要求2所述的方法,其特征在于,确定所述目标项目的工程信息包包括:
在所述目标项目为已有项目的情况下,获取所述目标项目的工程信息包,其中,所述工程信息包还用于记录所述工程项目流程中已写入步骤;
在所述目标项目为新项目的情况下,根据预设模板生成所述目标项目的工程信息包。
4.根据权利要求2所述的方法,其特征在于,根据所述映射关系执行所述工程项目流程,生成当前输入设计数据的目标步骤的前缀信息包括:
执行所述工程项目流程,确定当前输入设计数据的目标步骤,其中,所述工程项目流程包括不同层级的多个步骤;
根据所述映射关系从所述工程信息包中获取所述目标步骤的步骤标识;
根据所述项目标识和所述步骤标识,生成所述目标步骤的前缀信息,并显示在所述目标步骤的设计数据中的预设位置。
5.根据权利要求4所述的方法,其特征在于,根据所述项目标识和所述步骤标识,生成所述目标步骤的前缀信息,并显示在所述目标步骤的设计数据中的预设位置之前,所述方法还包括:
显示所述目标项目的前缀信息,其中,所述目标项目的前缀信息包括所述目标项目的项目标识;
接收在所述目标项目的前缀信息之后写入的添加命令,其中,所述添加命令用于添加设计文件;
响应所述添加命令创建设计文件,其中,所述设计文件用于记录工程项目流程的步骤中写入的设计数据。
6.根据权利要求5所述的方法,其特征在于,响应所述添加命令创建设计文件之后,所述方法还包括:
根据所述设计文件的设计标识,生成设计开始的前缀信息,并在设计数据的写入区域中的预设位置进行显示,其中,所述生成设计开始的前缀信息之后,输入所述工程项目流程的目标步骤的步骤标识,以开始写入所述目标步骤的设计数据;
所述预设位置为每行字段的行首位置。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
响应写入的退出命令,退出对所述目标项目的工程项目流程的执行;
显示所述命令解释器的默认的前缀信息。
8.一种FPGA工程项目的设计数据处理装置,其特征在于,包括:
调用模块,用于响应FPGA工程项目的设计数据的输入指令,调用所述设计数据的命令解释器,进入所述命令解释器的显示页面,其中,所述设计数据为预设格式语言的数据;
创建模块,用于在所述显示页面中,响应目标项目的创建指令,创建所述目标项目,以及所述目标项目与工程信息包之间的映射关系,其中,所述工程信息包包括工程项目流程的工程步骤和信息;
生成模块,用于根据所述映射关系执行所述工程项目流程,生成当前输入设计数据的目标步骤的前缀信息,其中,所述目标步骤的前缀信息包括所述目标项目的项目标识,以及所述目标步骤的步骤标识,所述前缀信息显示在输入的目标步骤的设计数据的预设位置。
9.一种计算机可读存储介质,其特征在于,所述存储介质用于存储程序,其中,所述程序执行权利要求1至7中任意一项所述的FPGA工程项目的设计数据处理方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的FPGA工程项目的设计数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310026386.2A CN116128448B (zh) | 2023-01-09 | 2023-01-09 | Fpga工程项目的设计数据处理方法、装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310026386.2A CN116128448B (zh) | 2023-01-09 | 2023-01-09 | Fpga工程项目的设计数据处理方法、装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116128448A CN116128448A (zh) | 2023-05-16 |
CN116128448B true CN116128448B (zh) | 2023-10-17 |
Family
ID=86294001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310026386.2A Active CN116128448B (zh) | 2023-01-09 | 2023-01-09 | Fpga工程项目的设计数据处理方法、装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116128448B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226776B1 (en) * | 1997-09-16 | 2001-05-01 | Synetry Corporation | System for converting hardware designs in high-level programming language to hardware implementations |
CN1577274A (zh) * | 2003-07-01 | 2005-02-09 | 华为技术有限公司 | 自动化仿真方法及系统 |
US7913203B1 (en) * | 2007-11-23 | 2011-03-22 | Altera Corporation | Method and apparatus for designing a system on multiple field programmable gate array device types |
US8555217B1 (en) * | 2011-06-20 | 2013-10-08 | Lattice Semiconductor Corporation | Integrated circuit design software with cross probing between tool graphical user interfaces (GUIs) |
CN104216831A (zh) * | 2014-09-09 | 2014-12-17 | 上海北大方正科技电脑系统有限公司 | 一种基于Tcl的FPGA交互式仿真方法 |
US9183337B1 (en) * | 2014-08-08 | 2015-11-10 | Xilinx, Inc. | Circuit design with predefined configuration of parameterized cores |
CN107741846A (zh) * | 2017-09-22 | 2018-02-27 | 深圳航天科技创新研究院 | Fpga工程过程管理优化设计方法、系统及存储介质 |
CN108984421A (zh) * | 2018-06-27 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种信息提示方法及装置 |
CN110069892A (zh) * | 2019-05-08 | 2019-07-30 | 山东浪潮人工智能研究院有限公司 | 一种fpga引脚分配设计方法及装置 |
WO2020215852A1 (zh) * | 2019-04-26 | 2020-10-29 | 福建皮皮跳动科技有限公司 | 信息处理方法、装置、终端设备及服务器 |
CN112099877A (zh) * | 2020-10-27 | 2020-12-18 | 上海无线电设备研究所 | 一种远程烧写加载fpga和dsp的方法 |
CN112230873A (zh) * | 2020-10-14 | 2021-01-15 | 天津津航计算技术研究所 | 一种基于dsp的显示处理方法 |
CN113706110A (zh) * | 2021-08-30 | 2021-11-26 | 航天中认软件测评科技(北京)有限责任公司 | 一种fpga测试工具一体化测试管理平台 |
CN114462859A (zh) * | 2022-02-10 | 2022-05-10 | 中国工商银行股份有限公司 | 工作流处理方法、装置、计算机设备和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030217353A1 (en) * | 2002-05-15 | 2003-11-20 | Bebout Don W. | Method and system for an adaptable user interface in a debugger |
US8898523B2 (en) * | 2009-08-31 | 2014-11-25 | Red Hat, Inc. | Generating imperative test tasks from declarative test instructions |
US8443335B2 (en) * | 2009-12-09 | 2013-05-14 | Agnisys, Inc. | Apparatus and method for circuit design |
US8972923B2 (en) * | 2011-02-08 | 2015-03-03 | Maxeler Technologies Ltd. | Method and apparatus and software code for generating a hardware stream processor design |
US8818935B2 (en) * | 2011-11-21 | 2014-08-26 | Fluor Technologies Corporation | Collaborative data management system for engineering design and construction projects |
US9075624B2 (en) * | 2013-06-24 | 2015-07-07 | Xilinx, Inc. | Compilation of system designs |
DE102017106023A1 (de) * | 2016-03-22 | 2017-09-28 | Tata Consultancy Services Limited | Verfahren und System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken |
US10055223B1 (en) * | 2017-02-13 | 2018-08-21 | Coupa Software Incorporated | Method of automatically invoking application program functions for a defined project and generating activity and report data for progress in the project |
US11048837B2 (en) * | 2019-05-02 | 2021-06-29 | SiFive, Inc. | Generation of dynamic design flows for integrated circuits |
-
2023
- 2023-01-09 CN CN202310026386.2A patent/CN116128448B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226776B1 (en) * | 1997-09-16 | 2001-05-01 | Synetry Corporation | System for converting hardware designs in high-level programming language to hardware implementations |
CN1577274A (zh) * | 2003-07-01 | 2005-02-09 | 华为技术有限公司 | 自动化仿真方法及系统 |
US7913203B1 (en) * | 2007-11-23 | 2011-03-22 | Altera Corporation | Method and apparatus for designing a system on multiple field programmable gate array device types |
US8555217B1 (en) * | 2011-06-20 | 2013-10-08 | Lattice Semiconductor Corporation | Integrated circuit design software with cross probing between tool graphical user interfaces (GUIs) |
US9183337B1 (en) * | 2014-08-08 | 2015-11-10 | Xilinx, Inc. | Circuit design with predefined configuration of parameterized cores |
CN104216831A (zh) * | 2014-09-09 | 2014-12-17 | 上海北大方正科技电脑系统有限公司 | 一种基于Tcl的FPGA交互式仿真方法 |
CN107741846A (zh) * | 2017-09-22 | 2018-02-27 | 深圳航天科技创新研究院 | Fpga工程过程管理优化设计方法、系统及存储介质 |
CN108984421A (zh) * | 2018-06-27 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种信息提示方法及装置 |
WO2020215852A1 (zh) * | 2019-04-26 | 2020-10-29 | 福建皮皮跳动科技有限公司 | 信息处理方法、装置、终端设备及服务器 |
CN110069892A (zh) * | 2019-05-08 | 2019-07-30 | 山东浪潮人工智能研究院有限公司 | 一种fpga引脚分配设计方法及装置 |
CN112230873A (zh) * | 2020-10-14 | 2021-01-15 | 天津津航计算技术研究所 | 一种基于dsp的显示处理方法 |
CN112099877A (zh) * | 2020-10-27 | 2020-12-18 | 上海无线电设备研究所 | 一种远程烧写加载fpga和dsp的方法 |
CN113706110A (zh) * | 2021-08-30 | 2021-11-26 | 航天中认软件测评科技(北京)有限责任公司 | 一种fpga测试工具一体化测试管理平台 |
CN114462859A (zh) * | 2022-02-10 | 2022-05-10 | 中国工商银行股份有限公司 | 工作流处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116128448A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102915242B (zh) | 一种利用图形化操作实现代码编程的方法 | |
US7971175B2 (en) | Method and system for implementing cached parameterized cells | |
CN106354483B (zh) | 一种数据处理方法、装置及电子设备 | |
CN111666740A (zh) | 流程图生成方法、装置、计算机设备和存储介质 | |
CN104049974A (zh) | 控件动态组装方法和系统 | |
CN110851206A (zh) | 一种车型配置文件拓展方法、装置、设备及可读存储介质 | |
CN103150456B (zh) | 一种matlab环境下gui制作方法及系统 | |
CN110659197B (zh) | 应用程序的测试用例生成方法、装置和软件测试系统 | |
CN107562710B (zh) | 一种图表处理装置及方法 | |
CN116128448B (zh) | Fpga工程项目的设计数据处理方法、装置、电子设备 | |
CN102519514B (zh) | 电子测试仪器一键式自动测试的实现方法 | |
CN105718434A (zh) | 一种自然语言公式编辑方法和系统 | |
CN105446788B (zh) | 一种信息处理方法及电子设备 | |
CN113485746B (zh) | 应用程序接口文档的生成方法及装置 | |
CN108255688A (zh) | 应用程序日志的显示方法、存储介质、电子设备及系统 | |
CN112631585A (zh) | 基于xml的快速参数界面配置方法 | |
CN105302788A (zh) | 用于编辑表格的方法及装置 | |
CN112559318A (zh) | 一种测试用例生成方法、装置及电子设备和存储介质 | |
CN111813673A (zh) | 硬盘填充测试方法及系统 | |
JP2009526337A (ja) | オブジェクト保存メモリに基づいたユーザー定義オブジェクトの処理方法とシステム | |
CN110955813A (zh) | 一种数据爬取方法及装置 | |
CN113821437B (zh) | 一种页面测试方法、装置、设备及介质 | |
CN111488150B (zh) | 页面处理的方法和装置 | |
CN116402026B (zh) | 应用内容批注方法、装置、设备以及存储介质 | |
CN114168480A (zh) | 管理类软件中属性页的处理方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |