CN104536772B - 实现高速缓存一致性协议表达转换的方法及系统 - Google Patents
实现高速缓存一致性协议表达转换的方法及系统 Download PDFInfo
- Publication number
- CN104536772B CN104536772B CN201510050812.1A CN201510050812A CN104536772B CN 104536772 B CN104536772 B CN 104536772B CN 201510050812 A CN201510050812 A CN 201510050812A CN 104536772 B CN104536772 B CN 104536772B
- Authority
- CN
- China
- Prior art keywords
- data
- hardware description
- description language
- cell
- sentences
- 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
- 230000001427 coherent effect Effects 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000012800 visualization Methods 0.000 claims 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000001072 colon Anatomy 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明披露了实现高速缓存一致性协议表达转换的方法及系统,其中方法包括:用应用程序可视化语言针对描述高速缓存一致性协议的记录表格中的原始数据编写宏处理工具;用宏处理工具将记录表格中的原始数据处理成符合硬件描述语言格式的单元格数据;将符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据。本发明满足了将复杂的高速缓存一致性协议用硬件实现的需求,且能够在改变高速缓存一致性协议的同时及时、准确地用硬件描述语言Verilog实现。
Description
技术领域
本发明涉及数据处理中格式转换的技术领域,尤其涉及实现高速缓存一致性协议表达转换的方法及系统。
背景技术
随着服务器应用领域的不断发展,高端服务器的应用需求已经进入了一个重要阶段。复杂的体系结构支持高端服务器系统实现高性能指标、高安全性、高可用性以及高可靠性等特点。为了提高每台服务器的性能,在每台服务器中所包含的处理器(CPU)也越来越多,随着处理器的增加,如何管理如此多的处理器就成为服务器的一个问题。在一个服务器里,这些处理器之间的数据传输、修改以及交换等数据处理就变得复杂。如何处理好这些问题,就是高速缓存(Cache)一致性协议所要做的内容。
随着服务器里处理器的数量不断增加,cache一致性协议也越来越复杂。在设计cache一致性协议时为了方便记忆与书写,工程师在设计cache一致性协议时,将所用到的标记字符(状态标记)先写到excel表格中,这种书写方式便于对cache一致性协议的阅读和理解,同时将协议的修改也变得容易些。为了将cache一致性协议设计成硬件电路,先将由存储于excel表格中表达的一致性协议转化成为硬件描述语言Verilog的表达形式,最后借助于电子设计自动化(EDA,Electronic Design Automatic)工具将硬件描述语言Verilog表达的电路形式转化为物理电路。而由于Cache一致性协议的复杂性,使得将存储于excel表格中表达的该协议转化成硬件描述语言Verilog的表达形式,变得很困难。目前常用的做法是通过人工一行一行的进行转化,它使得转化的速度非常缓慢,耗费了大量的人工不说,且极容易出错。并且当Cache一致性协议修改后,对于通过人工将其修改为Verilog格式亦非常困难,也极容易出错。
综上可以看出,现有技术需要提供一种实现高速缓存一致性协议表达的转换方法,能够自动将高速缓存一致性协议由excel表达形式转化成硬件描述语言的格式。
发明内容
本发明所要解决的技术问题是提供一种实现高速缓存一致性协议表达转换的方法及系统,能够自动将高速缓存一致性协议由记录表格的表达形式转化成硬件描述语言格式的数据。
为了解决上述技术问题,本发明提供了一种实现高速缓存一致性协议表达转换的方法,包括:
用应用程序可视化语言针对描述高速缓存一致性协议的记录表格中的原始数据编写宏处理工具;
用宏处理工具将记录表格中的原始数据处理成符合硬件描述语言格式的单元格数据;
将符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据。
进一步地,应用程序可视化语言即应用程序的可视化BASIC语言。
进一步地,用宏处理工具将记录表格中的原始数据处理成符合硬件描述语言格式的单元格数据,具体包括:
用split语句将记录表格文件中原始数据进行拆分,取消条件相同的合并,使所有单元格都成为独立的单元格;
用hidden语句将数据表格文件中隐藏的数据取消隐藏属性变成显性数据;
用insert语句将数据表格文件中多行具有相同条件不同结果的数据进行合并;
用find语句将数据表格文件中所有的条件语句针对每一条件拆分成符合该条件的语句或值的单元格。
进一步地,用宏处理工具将所述记录表格中的原始数据处理成符合硬件描述语言格式的单元格数据,还具体包括:
用replace语句对单元格中不符合硬件描述语言格式的字符替换成符合硬件描述语言格式的字符;
用insert语句在结果的每一列后边增加状态列,以记录结果单元格中的值是操作值还是无关项;然后用fill语句将记为无关项的空格填充符合硬件描述语言格式的无关值。
进一步地,将符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据,即用应用程序的可视化BASIC语言编写的宏语句将经过宏处理的excel表格文件转换成为硬件描述语言所接受的Verilog文件。
为了解决上述技术问题,本发明提供了一种实现高速缓存一致性协议表达转换的系统,包括存储装置、宏处理工具以及转换器,其中:
存储装置,用于存储描述高速缓存一致性协议的记录表格文件、符合硬件描述语言格式的单元格数据以及硬件描述语言格式的数据文件;
宏处理工具,用于将记录表格文件中的原始数据处理成符合硬件描述语言格式的单元格数据,并存入存储装置;
转换器,用于将符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据文件,并存入存储装置。
进一步地,宏处理工具是用应用程序的可视化BASIC语言编写的。
进一步地,宏处理工具包括原始数据拆分模块、数据消隐模块、数据合并模块以及条件语句拆分模块,其中:
原始数据拆分模块,用于用split语句将记录表格文件中原始数据进行拆分,取消条件相同的合并,使所有单元格都成为独立的单元格;
数据消隐模块,用于用hidden语句将数据表格文件中隐藏的数据取消隐藏属性变成显性数据;
数据合并模块,用于用insert语句将数据表格文件中多行具有相同条件不同结果的数据进行合并;
条件语句拆分模块,用于用find语句将数据表格文件中所有的条件语句针对每一条件拆分成符合该条件的语句或值的单元格。
进一步地,宏处理工具还包括字符替换模块以及空格填充模块,其中:
字符替换模块,用于用replace语句对单元格中不符合硬件描述语言格式的字符替换成符合硬件描述语言格式的字符;
空格填充模块,用于用insert语句在结果的每一列后边增加状态列,以记录结果单元格中的值是操作值还是无关项;然后用fill语句将记为无关项的空格填充符合硬件描述语言格式的无关值。
进一步地,转换器用应用程序的可视化BASIC语言编写的宏语句将经过宏处理的excel表格文件转换成为硬件描述语言所接受的Verilog文件。
本发明基于VBA和Cache一致性协议模型,用具有VBA语言的宏操作工具对表达在Excel表格中Cache一致性协议的原始数据进行处理,并轻松地将处理后的数据转换成硬件描述语言格式的输出,由此满足了将复杂的Cache一致性协议用硬件实现的需求。此外,由于数据处理的速度和准确性大幅度提高,因而能够在改变Cache一致性协议的同时及时、准确地用硬件描述语言Verilog实现。
附图说明
图1是表达Cache一致性协议的记录表格中原始数据的结构;
图2为本发明的实现高速缓存一致性协议表达转换的方法实施例的流程图;
图3为图2中步骤120的具体实施的流程图。
具体实施方式
以下结合附图和优选实施例对本发明的技术方案进行详细地阐述。应该理解,以下列举的实施例仅用于说明和解释本发明,而不构成对本发明技术方案的限制。
如图2所示,表示了本发明的实现高速缓存一致性协议表达的转换方法实施例的流程,包括如下步骤:
110:用应用程序可视化语言针对描述高速缓存一致性协议的记录表格中的原始数据编写宏处理工具;
在此,为了以下进一步举例说明,需要对描述高速缓存一致性协议的记录表格中的原始数据的一般结构进行介绍,请参见图1。其中,单元格A,B,C,D属于各个条件列,单元格E,F,G属于各个结果列;A2、B1、E1均为合并单元格,是连续单元格存储相同的数据的单元合并。
本实施例优选用应用程序的可视化BASIC语言(VBA,Visual Basic forApplications)来编写宏处理工具。此外,也可以用VC++语言来编写宏处理工具。
120:用编写的宏处理工具将记录表格中的原始数据处理成符合硬件描述语言格式的单元格数据;
130:将符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据。
在上述方法实施例中,步骤120的具体实施步骤反映在图3的流程图中,它是用宏处理工具的各个语句在记录表格中进行的操作,包括如下步骤:
1201:用宏处理工具(以下简称宏处理)的split语句将原始数据进行拆分,取消条件相同的合并,使所有单元格都成为独立的单元格;
拆分后的单元数据如下表1所示。对照图1,可以看出合并单元格A2、B1、E1已经拆分成四个独立的单元格A2、三个独立的单元格B1以及三个独立的单元格E1。
表1
1202:将隐藏的数据取消隐藏属性变成显性数据,并将多行具有相同条件不同结果的数据进行合并,以及将不符合硬件描述语言格式的字符替换成符合该格式的字符;
用宏处理的hidden语句进行上述显性化数据处理,处理后的记录表格如表2所示,对照表1可看出第四行是被显性化的单元格数据。
表2
在原始的记录表格中的高速缓存一致性协议,相同的初始条件(A2,B2,C2,D2)得到有两个记录结果(E2,F2)和(E2_,F2_),显然这不符合硬件描述语言的语法格式,必须将它们一一化成单一的结果。
用宏处理的insert语句进行步骤1202中的单元格的行合并化处理,处理后的记录表格如表3所示,对照表2可看出通过增加一列,将第3行的列内容合并到上一行的新增加列中。
表3
用宏处理的replace语句对单元格中不符合硬件描述语言格式的字符(例如逗号、冒号等)替换成符合硬件描述语言格式的字符(例如下划线)。
1203:将所有的条件语句针对每一条件拆分成符合该条件的语句或值的单元格;
用宏处理的find语句对记录表格的单元格中的条件语句内表达的条件全部列出来,针对每一条件拆分成符合该条件的语句或值的单元格。请参见表4,上述表格中的条件语句:IF(B5=true)Then 1;Else 0;多增加一行将B5所有的可能值true和false全部列出,条件是true的行对应填写1,条件是false的行对应填写0。
表4
A1 | B1 | B1 | B1 | E1 | E1 | E1 | ||
A2 | B2 | C2 | D2 | E2 | E2_ | F2 | F2_ | |
A2 | B3 | C3 | D3 | E3 | F3 | G3 | ||
A2 | B4 | C4 | D4 | E4 | F4 | G4 | ||
A2 | true(B5) | C5 | D5 | 1(B5=true) | ||||
A2 | false(B5) | C5 | D5 | 0(B5=false) |
1204:将结果列中的空格填充符合硬件描述语言格式的无关值。
首先用宏处理的insert语句在结果的每一列后边增加状态列,用于记录结果单元格中的值是操作值(记为OP)还是无关项(记为NOP);
用宏处理的fill语句将记为无关项的空格填充符合硬件描述语言格式的无关值,譬如填充0。请参见表5。
表5
A1 | B1 | B1 | B1 | E1 | OP | 0 | NOP | E1 | OP | 0 | NOP | E1 | OP |
A2 | B2 | C2 | D2 | E2 | OP | E2_ | OP | F2 | OP | F2_ | OP | 0 | NOP |
A2 | B3 | C3 | D3 | E3 | OP | 0 | NOP | F3 | OP | 0 | NOP | G3 | OP |
A2 | B4 | C4 | D4 | E4 | OP | 0 | NOP | F4 | OP | 0 | NOP | G4 | OP |
A2 | true(B5) | C5 | D5 | 1(B5=true) | OP | 0 | NOP | 0 | NOP | 0 | NOP | 0 | NOP |
A2 | false(B5) | C5 | D5 | 0(B5=false) | OP | 0 | NOP | 0 | NOP | 0 | NOP | 0 | NOP |
经过用本发明编写的宏处理工具对记录表格中的原始数据进行上述一系列处理后,形成符合硬件描述语言格式的单元格数据。通过一个转换器将符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据,即通过VBA语言的宏语句将上述经过宏处理的excel表格文件转换成为硬件描述语言所接受的Verilog文件。
本发明针对上述方法实施例,相应地还提供了实现高速缓存一致性协议表达转换的系统实施例,包括存储装置、宏处理工具以及转换器,其中:
存储装置,用于存储描述高速缓存一致性协议的记录表格文件、符合硬件描述语言格式的单元格数据以及硬件描述语言格式的数据文件;
宏处理工具,用于将记录表格文件中的原始数据处理成符合硬件描述语言格式的单元格数据,并存入存储装置;
转换器,用于将符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据文件,并存入存储装置。
在上述系统实施例中,宏处理工具包括原始数据拆分模块、数据消隐模块、数据合并模块以及条件语句拆分模块,其中:
原始数据拆分模块,用于用split语句将记录表格文件中原始数据进行拆分,取消条件相同的合并,使所有单元格都成为独立的单元格;
数据消隐模块,用于用hidden语句将数据表格文件中隐藏的数据取消隐藏属性变成显性数据;
数据合并模块,用于用insert语句将数据表格文件中多行具有相同条件不同结果的数据进行合并;
条件语句拆分模块,用于用find语句将数据表格文件中所有的条件语句针对每一条件拆分成符合该条件的语句或值的单元格。
上述系统实施例的宏处理工具还包括字符替换模块以及空格填充模块,其中:
字符替换模块,用于用replace语句对单元格中不符合硬件描述语言格式的字符替换成符合硬件描述语言格式的字符;
空格填充模块,用于用insert语句在结果的每一列后边增加状态列,以记录结果单元格中的值是操作值还是无关项;然后用fill语句将记为无关项的空格填充符合硬件描述语言格式的无关值。
Claims (8)
1.一种实现高速缓存一致性协议表达转换的方法,包括:
用应用程序可视化语言针对描述高速缓存一致性协议的记录表格中的原始数据编写宏处理工具;
用所述宏处理工具将所述记录表格中的原始数据处理成符合硬件描述语言格式的单元格数据;
将所述符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据;
其中,用所述宏处理工具将所述记录表格中的原始数据处理成符合硬件描述语言格式的单元格数据,具体包括:
用split语句将记录表格文件中原始数据进行拆分,取消条件相同的合并,使所有单元格都成为独立的单元格;
用hidden语句将数据表格文件中隐藏的数据取消隐藏属性变成显性数据;
用insert语句将数据表格文件中多行具有相同条件不同结果的数据进行合并;
用find语句将数据表格文件中所有的条件语句针对每一条件拆分成符合该条件的语句或值的单元格。
2.按照权利要求1所述的方法,其特征在于,所述应用程序可视化语言即应用程序的可视化BASIC语言。
3.按照权利要求1所述的方法,其特征在于,用所述宏处理工具将所述记录表格中的原始数据处理成符合硬件描述语言格式的单元格数据,还具体包括:
用replace语句对单元格中不符合硬件描述语言格式的字符替换成符合硬件描述语言格式的字符;
用insert语句在结果的每一列后边增加状态列,以记录结果单元格中的值是操作值还是无关项;然后用fill语句将记为无关项的空格填充符合硬件描述语言格式的无关值。
4.按照权利要求2所述的方法,其特征在于,将所述符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据,即用所述应用程序的可视化BASIC语言编写的宏语句将所述符合硬件描述语言格式的单元格数据转换成为硬件描述语言所接受的Verilog文件。
5.一种实现高速缓存一致性协议表达转换的系统,包括存储装置、宏处理工具以及转换器,其中:
存储装置,用于存储描述高速缓存一致性协议的记录表格文件、符合硬件描述语言格式的单元格数据以及硬件描述语言格式的数据文件;
宏处理工具,用于将记录表格文件中的原始数据处理成符合硬件描述语言格式的单元格数据,并存入存储装置;
转换器,用于将符合硬件描述语言格式的单元格数据转换为硬件描述语言格式的数据文件,并存入存储装置;
所述宏处理工具包括原始数据拆分模块、数据消隐模块、数据合并模块以及条件语句拆分模块,其中:
原始数据拆分模块,用于用split语句将所述记录表格文件中原始数据进行拆分,取消条件相同的合并,使所有单元格都成为独立的单元格;
数据消隐模块,用于用hidden语句将所述数据表格文件中隐藏的数据取消隐藏属性变成显性数据;
数据合并模块,用于用insert语句将所述数据表格文件中多行具有相同条件不同结果的数据进行合并;
条件语句拆分模块,用于用find语句将所述数据表格文件中所有的条件语句针对每一条件拆分成符合该条件的语句或值的单元格。
6.按照权利要求5所述的系统,其特征在于,所述宏处理工具是用应用程序的可视化BASIC语言编写的。
7.按照权利要求5所述的系统,其特征在于,所述宏处理工具还包括字符替换模块以及空格填充模块,其中:
字符替换模块,用于用replace语句对单元格中不符合硬件描述语言格式的字符替换成符合硬件描述语言格式的字符;
空格填充模块,用于用insert语句在结果的每一列后边增加状态列,以记录结果单元格中的值是操作值还是无关项;然后用fill语句将记为无关项的空格填充符合硬件描述语言格式的无关值。
8.按照权利要求6所述的系统,其特征在于,所述转换器用所述应用程序的可视化BASIC语言编写的宏语句将所述符合硬件描述语言格式的单元格数据转换成为硬件描述语言所接受的Verilog文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510050812.1A CN104536772B (zh) | 2015-01-30 | 2015-01-30 | 实现高速缓存一致性协议表达转换的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510050812.1A CN104536772B (zh) | 2015-01-30 | 2015-01-30 | 实现高速缓存一致性协议表达转换的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104536772A CN104536772A (zh) | 2015-04-22 |
CN104536772B true CN104536772B (zh) | 2017-12-12 |
Family
ID=52852304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510050812.1A Active CN104536772B (zh) | 2015-01-30 | 2015-01-30 | 实现高速缓存一致性协议表达转换的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104536772B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446950B (zh) * | 2015-12-29 | 2018-08-14 | 山东海量信息技术研究院 | 一种excel文件数据的输出方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475000B2 (en) * | 2002-04-25 | 2009-01-06 | Arc International, Plc | Apparatus and method for managing integrated circuit designs |
US8578307B2 (en) * | 2009-09-16 | 2013-11-05 | Viasat, Inc. | Control/monitor automation for ASICs and programmable logic |
-
2015
- 2015-01-30 CN CN201510050812.1A patent/CN104536772B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838653A (zh) * | 2012-11-27 | 2014-06-04 | 上海华虹集成电路有限责任公司 | 基于vmm ral的寄存器自动化验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104536772A (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107885499A (zh) | 一种接口文档生成方法及终端设备 | |
US7783971B2 (en) | Graphic object themes | |
CN110020006A (zh) | 查询语句的生成方法及相关设备 | |
CN105706092A (zh) | 四值模拟的方法和系统 | |
CN111352697B (zh) | 灵活的物理功能和虚拟功能映射 | |
CN109582948A (zh) | 评价观点抽取的方法及装置 | |
CN113408222B (zh) | 文件生成方法、装置、电子设备及存储介质 | |
CN106610931A (zh) | 话题名称的提取方法及装置 | |
Bella et al. | A major wordnet for a minority language: Scottish gaelic | |
CN113672494A (zh) | 用于软件开发的智能回归测试选择 | |
WO2023087720A1 (zh) | 小程序生成方法、装置、设备及存储介质 | |
CN103020258A (zh) | 一种采用多核集群的lda模型的训练方法及系统 | |
CN108228606A (zh) | 数据的写入方法及装置 | |
CN104536772B (zh) | 实现高速缓存一致性协议表达转换的方法及系统 | |
CN113836947A (zh) | 机器翻译译后的术语翻译方法、装置、设备及存储介质 | |
US9542523B2 (en) | Method and apparatus for selecting data path elements for cloning | |
US8191019B2 (en) | Non-predicated to predicated conversion of asynchronous representations | |
CN117331835A (zh) | 数据集的处理和sql-自然语言翻译模型的测试的方法和装置 | |
CN103914437A (zh) | 一种基于dom模型的xml文本定位方法 | |
CN108255521B (zh) | 一种用于实现线路速度互连结构的方法 | |
Barker-Plummer et al. | Openproof-a flexible framework for heterogeneous reasoning | |
Ivanyi | Parallel conversion of finite element meshes | |
CN111625368A (zh) | 一种分布式计算系统、方法及电子设备 | |
Muradoğlu et al. | Modelling verbal morphology in Nen | |
US11836426B1 (en) | Early detection of sequential access violations for high level synthesis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |