CN118153496A - A FPGA Architecture Visualization Method - Google Patents
A FPGA Architecture Visualization Method Download PDFInfo
- Publication number
- CN118153496A CN118153496A CN202410568254.7A CN202410568254A CN118153496A CN 118153496 A CN118153496 A CN 118153496A CN 202410568254 A CN202410568254 A CN 202410568254A CN 118153496 A CN118153496 A CN 118153496A
- Authority
- CN
- China
- Prior art keywords
- instruction
- file
- architecture
- information
- module
- 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.)
- Granted
Links
- 238000007794 visualization technique Methods 0.000 title claims abstract description 6
- 238000013507 mapping Methods 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000010276 construction Methods 0.000 claims abstract description 24
- 239000011159 matrix material Substances 0.000 claims abstract description 24
- 230000002452 interceptive effect Effects 0.000 claims description 9
- 238000009877 rendering Methods 0.000 claims description 7
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 2
- 238000012800 visualization Methods 0.000 abstract description 10
- 238000013461 design Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013070 change management Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种FPGA架构可视化方法,涉及FPGA设计领域,所述方法包括:获取第一加载指令,加载用于描述FPGA架构的目标架构文件以及映射硬件资源的资源映射文件,基于目标架构文件和资源映射文件,构建第一二维数组,基于第一二维数组,对每一基本构造单元进行实例化,生成第一矩阵后,释放第一二维数组的资源,基于第一矩阵,构建第一键值映射字典,生成第一键值映射字典后,释放第一矩阵的资源,根据第一键值映射字典中的信息,生成可视化文件,有助于用户提高工作效率。
The present invention provides an FPGA architecture visualization method, which relates to the field of FPGA design. The method comprises: obtaining a first loading instruction, loading a target architecture file for describing the FPGA architecture and a resource mapping file for mapping hardware resources, constructing a first two-dimensional array based on the target architecture file and the resource mapping file, instantiating each basic construction unit based on the first two-dimensional array, releasing resources of the first two-dimensional array after generating a first matrix, constructing a first key-value mapping dictionary based on the first matrix, releasing resources of the first matrix after generating the first key-value mapping dictionary, and generating a visualization file according to information in the first key-value mapping dictionary, so as to help users improve work efficiency.
Description
技术领域Technical Field
本发明涉及FPGA设计领域,特别是涉及一种FPGA架构可视化方法。The present invention relates to the field of FPGA design, and in particular to a FPGA architecture visualization method.
背景技术Background technique
随着技术的快速发展,芯片设计的规模和复杂性呈指数级增长。传统的可视化工具在性能和效率上难以满足现代芯片设计的需求,尤其是在处理超大规模FPGA设计时,设计师和工程师面临着内存管理不足、交互体验差和数据处理慢的问题,这极大地限制了芯片设计的工作效率。针对大规模芯片缺乏高效可视化工具,亟需一种能够处理日益增长的芯片设计规模的解决方案。With the rapid development of technology, the scale and complexity of chip design are growing exponentially. Traditional visualization tools are difficult to meet the needs of modern chip design in terms of performance and efficiency. Especially when dealing with ultra-large-scale FPGA designs, designers and engineers face problems such as insufficient memory management, poor interactive experience, and slow data processing, which greatly limits the efficiency of chip design. In view of the lack of efficient visualization tools for large-scale chips, a solution that can handle the growing scale of chip design is urgently needed.
发明内容Summary of the invention
针对上述技术问题,本发明采用的技术方案为:In view of the above technical problems, the technical solution adopted by the present invention is:
一种FPGA架构可视化方法,方法包括如下步骤:A method for visualizing an FPGA architecture, the method comprising the following steps:
S1:获取第一加载指令,加载用于描述FPGA架构的目标架构文件以及映射硬件资源的资源映射文件。S1: Obtain a first loading instruction to load a target architecture file for describing an FPGA architecture and a resource mapping file for mapping hardware resources.
S2:基于所述目标架构文件和资源映射文件,构建第一二维数组,其中,所述第一二维数组用于按顺序记录每一基本构造单元的位置信息和类型信息。S2: Based on the target architecture file and the resource mapping file, construct a first two-dimensional array, wherein the first two-dimensional array is used to record the location information and type information of each basic construction unit in sequence.
S3:基于第一二维数组中记录的每一基本构造单元的位置信息和类型信息,对每一基本构造单元进行实例化,生成与每一基本构造单元对应的实例,并生成第一矩阵,第一矩阵中包括每一基本构造单元的位置信息、颜色信息、站点信息以及时钟信息。S3: Based on the position information and type information of each basic construction unit recorded in the first two-dimensional array, each basic construction unit is instantiated, an instance corresponding to each basic construction unit is generated, and a first matrix is generated, wherein the first matrix includes the position information, color information, site information and clock information of each basic construction unit.
S4:释放所述第一二维数组的资源。S4: Release the resources of the first two-dimensional array.
S5:基于所述第一矩阵,构建第一键值映射字典;其中,所述第一键值映射字典的键为每一基本构造单元的位置信息,所述第一键值映射字典的值为与每一基本构造单元相对应的实例。S5: constructing a first key-value mapping dictionary based on the first matrix; wherein the key of the first key-value mapping dictionary is the location information of each basic construction unit, and the value of the first key-value mapping dictionary is the instance corresponding to each basic construction unit.
S6:释放所述第一矩阵的资源。S6: Release the resources of the first matrix.
S7:根据所述第一键值映射字典中的信息,生成可视化文件。S7: Generate a visualization file according to the information in the first key-value mapping dictionary.
本发明至少具有以下有益效果:The present invention has at least the following beneficial effects:
当对目标架构文件进行可视化时,首先获取第一加载指令,根据第一加载指令加载目标架构文件和用于映射硬件资源的资源映射文件,并根据目标架构文件和资源映射文件构建第一二维数组,之后根据第一二维数组生成第一矩阵,并释放第一二维数组的资源,减少内存资源压力。之后根据第一矩阵生成第一键值映射字典,并释放第一矩阵的内存资源,减少内存资源压力,最后根据第一键值映射字典中的信息,构建可视化文件,减少了内存的资源浪费,可视化方式较为便捷,提高了工作效率。When visualizing the target architecture file, first obtain the first loading instruction, load the target architecture file and the resource mapping file for mapping hardware resources according to the first loading instruction, and construct the first two-dimensional array according to the target architecture file and the resource mapping file, then generate the first matrix according to the first two-dimensional array, and release the resources of the first two-dimensional array to reduce the pressure of memory resources. Then generate the first key-value mapping dictionary according to the first matrix, and release the memory resources of the first matrix to reduce the pressure of memory resources, and finally construct the visualization file according to the information in the first key-value mapping dictionary, which reduces the waste of memory resources, and the visualization method is more convenient and improves work efficiency.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
图1为本发明实施例提供的一种FPGA架构可视化方法流程图。FIG1 is a flow chart of a method for visualizing an FPGA architecture according to an embodiment of the present invention.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
参照图1,本发明实施例提供了一种FPGA架构可视化方法,包括以下步骤:1 , an embodiment of the present invention provides a method for visualizing an FPGA architecture, comprising the following steps:
S1:获取第一加载指令,加载用于描述FPGA架构的目标架构文件以及映射硬件资源的资源映射文件。S1: Obtain a first loading instruction to load a target architecture file for describing an FPGA architecture and a resource mapping file for mapping hardware resources.
具体的,第一加载指令为对软件中“加载架构信息”的按钮进行选择的指令,选择之后,本领域技术人员根据实际需要对目标架构文件进行确定。第一加载指令可通过鼠标、键盘、触摸屏等人机交互设备进行输入,此处不再赘述。Specifically, the first loading instruction is an instruction to select the "load architecture information" button in the software. After the selection, the technicians in this field determine the target architecture file according to actual needs. The first loading instruction can be input through a human-computer interaction device such as a mouse, keyboard, touch screen, etc., which will not be repeated here.
具体的,资源映射文件用于描述后续各个模块的颜色、大小等信息。Specifically, the resource mapping file is used to describe the color, size and other information of each subsequent module.
S1包括以下步骤:S1 includes the following steps:
S11:获取到所述第一加载指令后,定位至第一预设文件夹,其中,所述第一预设文件夹包含待加载的架构文件。S11: After acquiring the first loading instruction, locate to a first preset folder, wherein the first preset folder contains the architecture file to be loaded.
具体的,第一预设文件夹为本领域技术人员自行设置的用于存放架构文件的文件夹,本领域技术人员可根据自身需要对第一预设文件夹的路径自行进行更改,本实施例中默认的第一预设文件夹的路径为软件的根目录下的resource文件夹,本领域技术人员也可选择其他文件夹。Specifically, the first preset folder is a folder set by technical personnel in the field for storing architecture files. Technical personnel in the field can change the path of the first preset folder according to their own needs. In this embodiment, the default path of the first preset folder is the resource folder under the root directory of the software. Technical personnel in the field can also choose other folders.
S12:获取用户输入的第一选择指令,将第一选择指令选择的架构文件作为目标架构文件。S12: Obtain a first selection instruction input by the user, and use the architecture file selected by the first selection instruction as the target architecture file.
S12包括以下步骤:S12 includes the following steps:
S121:触发文件选择对话框。S121: Triggering a file selection dialog box.
S122:通过过滤器过滤掉所述第一预设文件夹中与所述待加载的架构文件格式不同的文件,使得所述文件选择对话框仅显示与所述待加载的架构文件格式相同的文件。S122: Filter out files in the first preset folder that are in a format different from that of the architecture file to be loaded through a filter, so that the file selection dialog box only displays files in the same format as that of the architecture file to be loaded.
S123:获取用户选择的架构文件。S123: Obtain the architecture file selected by the user.
S124:判断用户选择的所述架构文件是否为正确的架构文件,如是,则将用户选择的架构文件作为目标架构文件。S124: Determine whether the architecture file selected by the user is a correct architecture file. If so, use the architecture file selected by the user as the target architecture file.
S125:当判断用户选择的架构文件为错误的架构文件生成错误提示信息,并重新执行S123。S125: When it is determined that the architecture file selected by the user is an incorrect architecture file, an error prompt message is generated and S123 is re-executed.
具体的,上述过滤与所述待加载的架构文件格式不同的文件的功能通过Qt的文件对话组件QFileDialog及过滤器实现。Specifically, the function of filtering files having a format different from that of the architecture file to be loaded is implemented through Qt's file dialogue component QFileDialog and a filter.
上述,仅显示预设的固定类型的文件,减少用户选错文件类型的概率,提高了鲁棒性。As described above, only preset fixed-type files are displayed, which reduces the probability of users selecting the wrong file type and improves robustness.
具体的,本实施例中架构文件格式为json格式。Specifically, in this embodiment, the architecture file format is in json format.
上述,json格式清晰易读,可以直接在代码编辑器中打开并进行查看或编辑,便于开发者和用户查看和理解数据内容,几乎所有编程语言都提供了json解析库,这意味着无论其他用户擅长哪种语言,都可以很容易地读取和处理json数据。且json的解析速度快,可以高效地加载和处理数据。json格式的数据很容易修改和扩展,无需改变现有数据结构,就可以增加新的属性。为支持新的芯片或新的资源类型,只需添加或更新json文件中的相关条目即可。json是前后端通信的标准格式之一,即使需要将服务部署在云端,服务器和客户端也可以轻松地通过json交换数据,方便服务器与客户端之间的数据同步。json文件是文本文件,这使得它们非常方便在不同的系统和网络之间移植,在不同的软件和工具之间共享数据,促进了工具链的互操作性和可移植性。架构资源的数据结构和属性被标准化,其他开发者可以集中精力在软件的其他关键功能上,而不是处理数据格式的兼容性问题。在多人协作的项目中,标准化的数据结构有助于减少沟通成本,提高开发效率。json文件易于纳入版本控制系统,如Git,便于追踪历史变更和协同工作,对文件的修改可以通过差异比较清晰地显示出来,便于代码审查和变更管理。json对象通常是自描述的,含有键值对,其中键描述了值的用途,这使得数据结构的目的和用法更加明显。无需额外的元数据或架构定义,开发者可以直接从json数据中理解数据的结构和意图。As mentioned above, the json format is clear and easy to read. It can be opened and viewed or edited directly in the code editor, which is convenient for developers and users to view and understand the data content. Almost all programming languages provide json parsing libraries, which means that no matter which language other users are good at, they can easily read and process json data. And json has a fast parsing speed and can load and process data efficiently. Data in json format is easy to modify and expand, and new attributes can be added without changing the existing data structure. To support new chips or new resource types, just add or update the relevant entries in the json file. json is one of the standard formats for front-end and back-end communication. Even if the service needs to be deployed in the cloud, the server and client can easily exchange data through json, which facilitates data synchronization between the server and the client. json files are text files, which makes them very convenient to port between different systems and networks, share data between different software and tools, and promote the interoperability and portability of the tool chain. The data structure and attributes of the architecture resources are standardized, and other developers can focus on other key functions of the software instead of dealing with compatibility issues of data formats. In multi-person collaborative projects, standardized data structures help reduce communication costs and improve development efficiency. JSON files are easy to incorporate into version control systems, such as Git, to facilitate tracking of historical changes and collaborative work. Modifications to files can be clearly displayed through differences, which facilitates code review and change management. JSON objects are usually self-describing, containing key-value pairs, where the key describes the purpose of the value, which makes the purpose and usage of the data structure more obvious. Without the need for additional metadata or schema definition, developers can understand the structure and intent of the data directly from the JSON data.
具体的,第一选择指令的输入方式可采用鼠标、触摸屏或其他可与计算机进行信息交互的设备,此处不再赘述。Specifically, the first selection instruction may be inputted by a mouse, a touch screen or other devices capable of performing information interaction with a computer, which will not be described in detail herein.
上述,当本领域技术人员选择到非json格式的架构文件时,生成错误提示信息,对本领域技术人员进行提醒,减少加载错误架构文件的概率,提高工作效率。As described above, when a technician in this field selects an architecture file that is not in json format, an error prompt message is generated to remind the technician in this field, thereby reducing the probability of loading an erroneous architecture file and improving work efficiency.
S2:基于目标架构文件和资源映射文件,构建第一二维数组,第一二维数组用于按顺序记录每一基本构造单元的位置信息和类型信息。S2: Based on the target architecture file and the resource mapping file, a first two-dimensional array is constructed, where the first two-dimensional array is used to sequentially record the location information and type information of each basic construction unit.
S3:基于第一二维数组中记录的每一基本构造单元的位置信息和类型信息,对每一基本构造单元进行实例化,生成与每一基本构造单元对应的实例,并生成第一矩阵,第一矩阵中包括每一基本构造单元的位置信息、颜色信息、站点信息以及时钟信息。S3: Based on the position information and type information of each basic construction unit recorded in the first two-dimensional array, each basic construction unit is instantiated, an instance corresponding to each basic construction unit is generated, and a first matrix is generated, wherein the first matrix includes the position information, color information, site information and clock information of each basic construction unit.
S4:释放第一二维数组的资源。S4: Release the resources of the first two-dimensional array.
上述,在第一矩阵完成构建后,释放第一二维数组所占用的内存资源,减少对内存资源的占用,从而优化内存的使用效率。As described above, after the first matrix is constructed, the memory resources occupied by the first two-dimensional array are released, thereby reducing the occupation of memory resources and optimizing the memory usage efficiency.
S5:基于第一矩阵,构建第一键值映射字典,第一键值映射字典的键为每一基本构造单元的位置信息,第一键值映射字典的值为与每一基本构造单元相对应的实例。S5: Based on the first matrix, construct a first key-value mapping dictionary, where the key of the first key-value mapping dictionary is the location information of each basic construction unit, and the value of the first key-value mapping dictionary is the instance corresponding to each basic construction unit.
上述,根据第一矩阵构建第一键值映射字典,能够优化访问速度,便于后续快速检索和对基本构造单元的状态进行更新。As described above, constructing the first key-value mapping dictionary according to the first matrix can optimize the access speed and facilitate subsequent rapid retrieval and updating of the status of the basic construction unit.
S6:释放第一矩阵的资源。S6: Release the resources of the first matrix.
上述,在第一键值映射字典完成构建后,释放第一矩阵所占用的内存资源,进一步减少了对内存资源的占用,优化了使用效率。In the above, after the first key-value mapping dictionary is constructed, the memory resources occupied by the first matrix are released, which further reduces the occupation of memory resources and optimizes the usage efficiency.
S7:根据第一键值映射字典中的信息,生成可视化文件。S7: Generate a visualization file according to the information in the first key-value mapping dictionary.
具体的,本实施例采用Qt5图形界面进行可视化,Qt5图形界面将根据第一键值映射字典中存储的基本构造单元以及相对应的实例,绘制出FPGA的物理布局,并结合资源映射文件对目标架构文件的尺寸、颜色等视觉特征进行生成,使得图形化界面较为直观,便于本领域技术人员高效地处理复杂的FPGA结构,提高了工作效率。Specifically, this embodiment uses the Qt5 graphical interface for visualization. The Qt5 graphical interface will draw the physical layout of the FPGA based on the basic construction units and corresponding instances stored in the first key-value mapping dictionary, and generate visual features such as size and color of the target architecture file in combination with the resource mapping file, so that the graphical interface is more intuitive, which is convenient for technical personnel in this field to efficiently process complex FPGA structures and improve work efficiency.
S8:根据所述可视化文件对芯片架构进行可视化显示,包括:S8: Visually displaying the chip architecture according to the visualization file, including:
分析所述可视化文件,得到芯片的架构信息,所述架构信息包括芯片的维度和尺寸数据。The visualization file is analyzed to obtain architecture information of the chip, wherein the architecture information includes dimension and size data of the chip.
根据所述芯片的架构信息,自动调整显示界面上的视图布局,使得整个芯片架构在显示界面上合适地显示。According to the architecture information of the chip, the view layout on the display interface is automatically adjusted so that the entire chip architecture is properly displayed on the display interface.
上述,根据芯片的架构信息,对显示界面上的视图布局进行合适地显示,有利于用户在设计过程中对芯片的架构进行把控。As described above, the view layout on the display interface is appropriately displayed according to the architecture information of the chip, which is helpful for the user to control the architecture of the chip during the design process.
S9:根据调整指令对芯片架构在显示界面上的视图进行手动调整。S9: Manually adjust the view of the chip architecture on the display interface according to the adjustment instruction.
S9包括以下步骤:S9 includes the following steps:
S91:获取调整指令,所述调整指令包括交互式缩放指令、视图旋转指令、模块高亮与信息提示指令、动态渲染指令。S91: Acquire adjustment instructions, which include interactive zoom instructions, view rotation instructions, module highlighting and information prompting instructions, and dynamic rendering instructions.
S92:当所述调整指令为交互式缩放指令时,根据所述交互式缩放指令切换显示界面上的宏观概览和微观细节,其中所述交互式缩放指令包括用户滑动鼠标滚轮放大或缩小视图。S92: When the adjustment instruction is an interactive zoom instruction, switching the macro overview and micro details on the display interface according to the interactive zoom instruction, wherein the interactive zoom instruction includes the user sliding a mouse wheel to zoom in or out the view.
S93:当所述调整指令为视图旋转指令时,根据所述视图旋转指令旋转显示界面上的芯片视图,从不同角度展示架构布局。S93: When the adjustment instruction is a view rotation instruction, the chip view on the display interface is rotated according to the view rotation instruction to display the architecture layout from different angles.
S94:当所述调整指令为模块高亮与信息提示指令时,根据所述模块高亮与信息提示指令在显示界面上高亮显示特定模块以及该特定模块的名称,其中,所述模块高亮与信息提示指令包括用户将鼠标悬停在该特定模块上。S94: When the adjustment instruction is a module highlighting and information prompting instruction, a specific module and the name of the specific module are highlighted on the display interface according to the module highlighting and information prompting instruction, wherein the module highlighting and information prompting instruction includes the user hovering the mouse over the specific module.
S95:当所述调整指令为动态渲染指令时,动态渲染所述显示界面上的芯片视图。S95: When the adjustment instruction is a dynamic rendering instruction, dynamically render the chip view on the display interface.
上述,采用动态渲染的方式进行渲染时,随着用户的操作,显示区域上的视图会动态渲染。这意味着用户的每一个动作——无论是缩放、旋转还是模块查询——都会即时反映在界面上,无需等待长时间的加载,进一步提高了工作效率。As mentioned above, when rendering is performed in a dynamic rendering manner, the view on the display area will be dynamically rendered as the user operates. This means that every action of the user - whether it is zooming, rotating or module querying - will be reflected instantly on the interface, without waiting for a long time to load, further improving work efficiency.
具体的,还包括:Specifically, it also includes:
当监测到用户通过鼠标聚焦于芯片某处位置时,动态计算用户缩放级别:When it is detected that the user focuses on a certain position of the chip with the mouse, the user zoom level is dynamically calculated:
当放大到第一预设倍数时,显示当前显示界面范围内的模块名称。When zoomed in to a first preset multiple, the module names within the current display interface are displayed.
具体的,显示当面显示界面范围内的模块名称的步骤包括:Specifically, the steps of displaying the module names within the current display interface include:
获取到模块名称隐藏指令时,对显示区域内的模块名称进行隐藏。When the module name hiding instruction is obtained, the module name in the display area is hidden.
当获取到模块名称显示指令时,对显示区域内隐藏的模块名称进行显示。When the module name display instruction is obtained, the module name hidden in the display area is displayed.
上述,根据实际需求对显示区域内的模块名称进行显示或隐藏,便于设计人员对芯片布局进行设计。As described above, the module names in the display area are displayed or hidden according to actual needs, which is convenient for designers to design chip layout.
此外,还包括以下步骤:Additionally, the following steps are included:
当获取到内部模块显示指令并且放大至第二预设倍数时,显示逻辑资源的内部站点信息,其中,该站点信息在架构文件中及资源映射文件中预先进行定义。When the internal module display instruction is obtained and the image is enlarged to a second preset multiple, the internal site information of the logical resource is displayed, wherein the site information is pre-defined in the architecture file and the resource mapping file.
当获取到内部模块隐藏指令时,对显示区域内的显示的内部模块的站点信息进行隐藏。When the internal module hiding instruction is obtained, the site information of the internal module displayed in the display area is hidden.
其中,第一预设倍数和第二预设倍数均由本领域技术人员根据实际需求自行进行设置,此处不再赘述。Among them, the first preset multiple and the second preset multiple are set by technicians in this field according to actual needs, and will not be repeated here.
本实施例提供的一种FPGA架构可视化方法,当对目标架构文件进行可视化时,首先获取第一加载指令,根据第一加载指令加载目标架构文件和用于映射硬件资源的资源映射文件,并根据目标架构文件和资源映射文件构建第一二维数组,之后根据第一二维数组生成第一矩阵,并释放第一二维数组的资源,减少内存资源压力。之后根据第一矩阵生成第一键值映射字典,并释放第一矩阵的内存资源,减少内存资源压力,最后根据第一键值映射字典中的信息,构建可视化文件,减少了内存的资源浪费,可视化方式较为便捷,提高了工作效率。The present embodiment provides a method for visualizing an FPGA architecture. When visualizing a target architecture file, first obtain a first loading instruction, load the target architecture file and a resource mapping file for mapping hardware resources according to the first loading instruction, and construct a first two-dimensional array according to the target architecture file and the resource mapping file. Then, generate a first matrix according to the first two-dimensional array, and release the resources of the first two-dimensional array to reduce the pressure of memory resources. Then, generate a first key-value mapping dictionary according to the first matrix, and release the memory resources of the first matrix to reduce the pressure of memory resources. Finally, construct a visualization file according to the information in the first key-value mapping dictionary, thereby reducing the waste of memory resources, and the visualization method is more convenient and improves work efficiency.
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员还应理解,可以对实施例进行多种修改而不脱离本发明的范围和精神。本发明开的范围由所附权利要求来限定。Although some specific embodiments of the present invention have been described in detail by way of example, it will be appreciated by those skilled in the art that the above examples are provided for illustration only and are not intended to limit the scope of the present invention. It will also be appreciated by those skilled in the art that various modifications may be made to the embodiments without departing from the scope and spirit of the present invention. The scope of the present invention is defined by the appended claims.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410568254.7A CN118153496B (en) | 2024-05-09 | 2024-05-09 | FPGA architecture visualization method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410568254.7A CN118153496B (en) | 2024-05-09 | 2024-05-09 | FPGA architecture visualization method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118153496A true CN118153496A (en) | 2024-06-07 |
CN118153496B CN118153496B (en) | 2024-09-13 |
Family
ID=91290511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410568254.7A Active CN118153496B (en) | 2024-05-09 | 2024-05-09 | FPGA architecture visualization method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118153496B (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103163450A (en) * | 2011-12-16 | 2013-06-19 | 中国科学院微电子研究所 | Navigation mapping method applied to testing of FPGA with specific structure |
CN103678745A (en) * | 2012-09-18 | 2014-03-26 | 中国科学院微电子研究所 | Cross-platform multi-level integrated design system for FPGA |
CN112269611A (en) * | 2020-10-12 | 2021-01-26 | 深圳数设科技有限公司 | Method and system for realizing product visual display based on micro-service architecture |
US20210049205A1 (en) * | 2015-01-14 | 2021-02-18 | Viralocity Software, LLC | Data structure visualization and management for real-time data |
CN117749615A (en) * | 2024-02-19 | 2024-03-22 | 成都九洲电子信息系统股份有限公司 | Method, system and device for constructing mining management and control communication link based on object combination |
CN117873614A (en) * | 2023-12-18 | 2024-04-12 | 北京时代民芯科技有限公司 | Method for visualizing internal resources of FPGA chip |
-
2024
- 2024-05-09 CN CN202410568254.7A patent/CN118153496B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103163450A (en) * | 2011-12-16 | 2013-06-19 | 中国科学院微电子研究所 | Navigation mapping method applied to testing of FPGA with specific structure |
CN103678745A (en) * | 2012-09-18 | 2014-03-26 | 中国科学院微电子研究所 | Cross-platform multi-level integrated design system for FPGA |
US20210049205A1 (en) * | 2015-01-14 | 2021-02-18 | Viralocity Software, LLC | Data structure visualization and management for real-time data |
CN112269611A (en) * | 2020-10-12 | 2021-01-26 | 深圳数设科技有限公司 | Method and system for realizing product visual display based on micro-service architecture |
CN117873614A (en) * | 2023-12-18 | 2024-04-12 | 北京时代民芯科技有限公司 | Method for visualizing internal resources of FPGA chip |
CN117749615A (en) * | 2024-02-19 | 2024-03-22 | 成都九洲电子信息系统股份有限公司 | Method, system and device for constructing mining management and control communication link based on object combination |
Also Published As
Publication number | Publication date |
---|---|
CN118153496B (en) | 2024-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10198425B2 (en) | Methods and apparatus for reusing report design components and templates | |
US6944622B1 (en) | User interface for automated project management | |
KR101811464B1 (en) | Spin control user interface for selecting options | |
US8745581B2 (en) | Method and system for selectively copying portions of a document contents in a computing system (smart copy and paste | |
US8086955B2 (en) | Methods and apparatus for modifying process control data | |
US10127021B1 (en) | Storing logical units of program code generated using a dynamic programming notebook user interface | |
JP5416983B2 (en) | Folder management apparatus, folder management method, and folder management program | |
US8417728B1 (en) | User interfaces, methods, and systems for developing computer applications using artwork | |
US9292190B2 (en) | Methods and apparatus for displaying thumbnails while copying and pasting | |
US7720809B2 (en) | Application integration using XML | |
US20070250295A1 (en) | Multidimensional modeling system and related method | |
JP2016224923A (en) | Method and system for automated generation of user form interface | |
US11036806B2 (en) | Search exploration using drag and drop | |
JP6813634B2 (en) | WEB reporting design system for programming event behavior based on graphic interface | |
CN115576974A (en) | Data processing method, device, equipment and medium | |
CN112631585B (en) | XML-based rapid parameter interface configuration method | |
WO2007081017A1 (en) | Document processor | |
CN116627418A (en) | Multi-level form interface visual generation method and device based on recursion algorithm | |
CA2686367A1 (en) | Dynamic native editor code view facade | |
CN116028062A (en) | Target code generation method, NPU instruction display method and device | |
EP1909170A1 (en) | Method and system for automatically generating a communication interface | |
CN118153496B (en) | FPGA architecture visualization method | |
WO2018103223A1 (en) | Method and device for operating database | |
CN114297443A (en) | Processing method, device and equipment for graph data query statement and storage medium | |
US7823079B2 (en) | Computer readable recording medium recorded with graphics editing program, and graphics editing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |