麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種面向硬件設(shè)計(jì)及多層抽象中間語(yǔ)言的CIRCT方言形式語(yǔ)義構(gòu)建方法

文檔序號(hào):41765858發(fā)布日期:2025-04-29 18:35閱讀:3來源:國(guó)知局
一種面向硬件設(shè)計(jì)及多層抽象中間語(yǔ)言的CIRCT方言形式語(yǔ)義構(gòu)建方法

本發(fā)明涉及計(jì)算機(jī)編程語(yǔ)言技術(shù)以及形式化方法領(lǐng)域,尤其是一種面向硬件設(shè)計(jì)及多層抽象中間語(yǔ)言的circt方言形式語(yǔ)義構(gòu)建方法。


背景技術(shù):

1、現(xiàn)有形式語(yǔ)義構(gòu)建方法:對(duì)于一般的可執(zhí)行的編程語(yǔ)言(如c,java等),主要通過構(gòu)建相應(yīng)的內(nèi)存模型,然后在模型的基礎(chǔ)上構(gòu)建其操作語(yǔ)義。對(duì)于verilog等硬件設(shè)計(jì)語(yǔ)言,需要對(duì)硬件設(shè)計(jì)領(lǐng)域特征進(jìn)行單獨(dú)建模,然后將其形式語(yǔ)義表示為可模擬仿真的、有明確符號(hào)表示的操作語(yǔ)義。對(duì)于circt方言這種涵蓋多層抽象的硬件描述中間語(yǔ)言,尚無其它形式語(yǔ)義構(gòu)建技術(shù)和案例。

2、現(xiàn)有方法的缺陷在于:

3、目前形式語(yǔ)義的構(gòu)建方法和案例大多是面向可執(zhí)行的編程語(yǔ)言,硬件設(shè)計(jì)中間語(yǔ)言(circt方言)中包含了大量硬件設(shè)計(jì)領(lǐng)域特征,一般的面向編程語(yǔ)言的形式化語(yǔ)義定義方法難以涵蓋這些特征。

4、傳統(tǒng)的針對(duì)硬件描述語(yǔ)言(如verilog)的形式語(yǔ)義定義方法無法體現(xiàn)多層抽象設(shè)計(jì),在硬件設(shè)計(jì)利用高級(jí)編程語(yǔ)言逐步向更高級(jí)抽象層次發(fā)展的趨勢(shì)下,無法跟上形式化驗(yàn)證對(duì)于多層次硬件設(shè)計(jì)抽象的需求。

5、現(xiàn)代硬件設(shè)計(jì)編譯器框架circt將各種領(lǐng)域特征表示交由方言實(shí)現(xiàn),而且方言之間可以相互組合轉(zhuǎn)化,這要求其形式語(yǔ)義也是模塊化且可拓展、可組合的,現(xiàn)有形式語(yǔ)義定義方法往往只針對(duì)一種不會(huì)發(fā)生變化的特定語(yǔ)言,無法滿足需求。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明是針對(duì)現(xiàn)有面向硬件設(shè)計(jì)的多層抽象中間語(yǔ)言(circt方言)的形式語(yǔ)義構(gòu)建技術(shù)的不足,提出了一種面向硬件設(shè)計(jì)及多層抽象中間語(yǔ)言的circt方言形式語(yǔ)義構(gòu)建方法。利用k框架提供的編程語(yǔ)言定義方式,在k框架中定義circt方言語(yǔ)法,構(gòu)建可拓展的、多層抽象的、包含硬件設(shè)計(jì)領(lǐng)域特征的語(yǔ)義模型,在此基礎(chǔ)上將circt方言表示為可模擬執(zhí)行的、有明確符號(hào)表示的操作語(yǔ)義。

2、本發(fā)明公開了一種面向硬件設(shè)計(jì)及多層抽象中間語(yǔ)言的circt方言形式語(yǔ)義構(gòu)建方法,包括:

3、s1.對(duì)circt方言所使用的mlir語(yǔ)言的通用形式進(jìn)行建模,構(gòu)建其bnf文法;

4、s2.在k框架中定義circt方言使用的mlir語(yǔ)法的通用形式,將s1中所得到的bnf文法轉(zhuǎn)換為k框架中的語(yǔ)法類型定義,加上k框架內(nèi)置的類型定義,由此得到circt方言形式語(yǔ)義類型系統(tǒng);

5、s3.在s2所得到的circt方言形式語(yǔ)義類型系統(tǒng)的基礎(chǔ)上,構(gòu)建分層的circt方言語(yǔ)義模型,分為處理符號(hào)表等元數(shù)據(jù)信息的mlir層,處理硬件設(shè)計(jì)領(lǐng)域特征的circt層以及處理各方言下的操作語(yǔ)句的方言層;

6、s4.在s3所得到的分層的circt方言語(yǔ)義模型的基礎(chǔ)上,對(duì)其進(jìn)行細(xì)化,根據(jù)circt所使用的mlir元數(shù)據(jù)信息,構(gòu)建mlir層語(yǔ)義模型,并定義為k框架中的配置;

7、s5.在s4所得到的mlir層語(yǔ)義模型的基礎(chǔ)上,構(gòu)建mlir層形式語(yǔ)義,定義為k框架中的重寫規(guī)則;

8、s6.在s3所得到的分層的circt方言語(yǔ)義模型的基礎(chǔ)上,對(duì)其進(jìn)行細(xì)化,根據(jù)circt中涵蓋的硬件設(shè)計(jì)領(lǐng)域特征,構(gòu)建circt層語(yǔ)義模型,并定義為k框架中的配置;

9、s7.在s6所得到的circt層語(yǔ)義模型的基礎(chǔ)上,構(gòu)建circt層形式語(yǔ)義,定義為k中的重寫規(guī)則;

10、s8.在s3所得到的分層的circt方言語(yǔ)義模型的基礎(chǔ)上,對(duì)其進(jìn)行細(xì)化,根據(jù)circt各方言的特征,構(gòu)建方言層語(yǔ)義模型,并定義為k中的配置;

11、s9.在s8所得到的方言層語(yǔ)義模型的基礎(chǔ)上,構(gòu)建各方言下操作語(yǔ)句的形式語(yǔ)義,將circt文檔中的非形式描述轉(zhuǎn)化為k中的重寫規(guī)則;

12、s10.將s3-s9所得到的語(yǔ)義模型和形式語(yǔ)義進(jìn)行整合、編譯,得到面向circt方言的硬件設(shè)計(jì)模擬仿真環(huán)境;

13、s11.在s10所得到的硬件設(shè)計(jì)模擬仿真環(huán)境的基礎(chǔ)上,構(gòu)建數(shù)據(jù)集,對(duì)語(yǔ)義的正確性進(jìn)行測(cè)試,得到測(cè)試結(jié)果;

14、s12.在s10所得到的硬件設(shè)計(jì)模擬仿真環(huán)境的基礎(chǔ)上,構(gòu)建數(shù)據(jù)集,對(duì)語(yǔ)義的完整性進(jìn)行測(cè)試,得到測(cè)試結(jié)果;

15、s13.檢查s11和s12中的測(cè)試結(jié)果,均通過則說明circt方言形式語(yǔ)義構(gòu)造正確,否則從s3開始檢查、對(duì)語(yǔ)義進(jìn)行修正,得到circt方言形式語(yǔ)義。

16、作為進(jìn)一步地改進(jìn),本發(fā)明所述的步驟s1中,構(gòu)建其bnf文法的過程中,完全遵守bnf文法規(guī)則,避免使用ebnf中的寫法。

17、作為進(jìn)一步地改進(jìn),本發(fā)明所述的將s1中所得到的bnf文法轉(zhuǎn)換為k框架中的語(yǔ)法類型定義具體為:對(duì)于s1所得到的bnf文法中的終結(jié)符,應(yīng)當(dāng)在k中重新定義,而非在k中已有終結(jié)符類型基礎(chǔ)上進(jìn)行拓展,即避免利用k中已有的終結(jié)符類型。

18、作為進(jìn)一步地改進(jìn),本發(fā)明所述的構(gòu)建分層的circt方言語(yǔ)義模型具體采用編程語(yǔ)言框架k來做形式語(yǔ)義的建模,用k框架中的配置項(xiàng)來定義狀態(tài)量及語(yǔ)義模型,用k框架中的重寫規(guī)則來定義操作語(yǔ)義,在k框架的重寫引擎的驅(qū)動(dòng)下,對(duì)circt描述的硬件設(shè)計(jì)進(jìn)行模擬仿真。

19、作為進(jìn)一步地改進(jìn),本發(fā)明所述的步驟s3中的分層的circt方言語(yǔ)義模型中,每一層與上一層之間存在精化關(guān)系,上層不應(yīng)該對(duì)下層有依賴,下層以上層為基礎(chǔ),步驟s4,s5中的形式語(yǔ)義,應(yīng)僅涉及mlir層語(yǔ)義模型。

20、作為進(jìn)一步地改進(jìn),本發(fā)明所述的步驟s6,s7中的形式語(yǔ)義,應(yīng)僅涉及語(yǔ)義模型中的mlir層與circt層。

21、作為進(jìn)一步地改進(jìn),本發(fā)明所述的步驟s8中根據(jù)circt各方言的特征,構(gòu)建方言層語(yǔ)義模型中不同方言的形式語(yǔ)義應(yīng)該相對(duì)隔離的,不會(huì)相互影響的,沒有依賴關(guān)系的,即對(duì)應(yīng)重寫規(guī)則不應(yīng)操作其他方言空間下的語(yǔ)義模型狀態(tài)。

22、作為進(jìn)一步地改進(jìn),本發(fā)明所述的步驟s11中的數(shù)據(jù)集包含操作語(yǔ)句的各種可能形式,測(cè)試樣例中的mlir代碼輸入應(yīng)該是通用語(yǔ)法形式,且正常通過circt工具鏈的編譯并生成目標(biāo)verilog代碼。

23、作為進(jìn)一步地改進(jìn),本發(fā)明所述的步驟s11中的數(shù)據(jù)集保證在k中定義的每條重寫規(guī)則都有被覆蓋到,測(cè)試樣例中的激勵(lì)應(yīng)該是多時(shí)鐘的。

24、作為進(jìn)一步地改進(jìn),本發(fā)明所述的circt方言形式語(yǔ)義包括:

25、k框架,一個(gè)形式化編程語(yǔ)言框架,用于對(duì)circt方言做形式化建模;

26、circt方言的語(yǔ)義模型及語(yǔ)義規(guī)則,包含一個(gè)多層次的語(yǔ)義模型以及針對(duì)該模型的操作語(yǔ)義;

27、mlir語(yǔ)言通用形式的語(yǔ)法解析器,在k框架中完成,用于解析circt方言,生成語(yǔ)法樹;

28、circt硬件設(shè)計(jì)模擬仿真環(huán)境,在k框架中完成,用于對(duì)circt硬件設(shè)計(jì)做語(yǔ)義層面上的仿真執(zhí)行,可以接收多時(shí)鐘的激勵(lì)輸入并輸出各個(gè)硬件模塊的各時(shí)鐘狀態(tài);

29、circt硬件設(shè)計(jì)語(yǔ)義模擬執(zhí)行結(jié)果分析器,用于分析仿真執(zhí)行結(jié)果,生成vcd文件。

30、本發(fā)明的有益效果如下:

31、1)使用k框架作為circt方言形式語(yǔ)義的實(shí)現(xiàn)基礎(chǔ)。k框架中的配置項(xiàng)可以方便的定義語(yǔ)義模型及狀態(tài)量;k框架中的重寫規(guī)則可以方便的定義基于狀態(tài)量的操作語(yǔ)義;k框架中的匹配邏輯是并行的,可以很好的適配硬件設(shè)計(jì)中各電路實(shí)例的并發(fā)模擬;k框架中允許定義豐富的類型與規(guī)則,可以用于添加調(diào)試信息或者控制執(zhí)行流程;同時(shí)k框架提供了python接口,可以簡(jiǎn)化批量測(cè)試流程,并為形式語(yǔ)義的模擬仿真以及與外部接口之間的交互提供封裝;k框架提供了內(nèi)置的定理證明器,可以直接用于后續(xù)基于形式語(yǔ)義的形式化驗(yàn)證工作,增強(qiáng)了形式語(yǔ)義的可用性與應(yīng)用潛力。

32、2)為circt方言設(shè)計(jì)了分層語(yǔ)義模型,可以捕捉circt方言中不同抽象層級(jí)的特征,各層之間存在精化關(guān)系,使得方言形式語(yǔ)義的構(gòu)建脫離對(duì)上層抽象特征的考慮,轉(zhuǎn)化為對(duì)模型狀態(tài)的操作語(yǔ)義,從而簡(jiǎn)化了方言形式語(yǔ)義構(gòu)建過程中需要考慮的因素,也為方言形式語(yǔ)義構(gòu)建提供了一條明確的路線,提高了方言形式語(yǔ)義的可拓展性。

33、3)在語(yǔ)義模型中設(shè)計(jì)mlir層元數(shù)據(jù)模型,用于捕捉mlir語(yǔ)法結(jié)構(gòu)固有的特征,可以讓在此基礎(chǔ)上的硬件設(shè)計(jì)抽象和方言語(yǔ)義實(shí)現(xiàn)脫離對(duì)mlir特征的依賴,使mlir信息對(duì)后續(xù)精化層模型保持透明。

34、4)在語(yǔ)義模型中設(shè)計(jì)circt層語(yǔ)義模型,用于體現(xiàn)硬件設(shè)計(jì)領(lǐng)域特征,可以為circt方言中與硬件設(shè)計(jì)領(lǐng)域特征相關(guān)的操作語(yǔ)句提供基礎(chǔ)設(shè)施,將方言中的硬件設(shè)計(jì)領(lǐng)域特征抽象上移,減少了方言之間的依賴性與耦合性,使方言語(yǔ)義的實(shí)現(xiàn)相對(duì)獨(dú)立,增加了方言語(yǔ)義的可拓展性。

35、5)在語(yǔ)義模型中設(shè)計(jì)方言層語(yǔ)義模型,用于具體實(shí)現(xiàn)方言操作語(yǔ)句的形式語(yǔ)義為針對(duì)語(yǔ)義模型的操作語(yǔ)義,在其中只訪問上層模型暴露的模型操作接口,從而使方言之間沒有耦合和依賴,增加了方言之間的可組合性以及方言的模塊化特征。

36、6)采用雙向仿真比較的方式進(jìn)行測(cè)試,不僅可以有效對(duì)方言形式語(yǔ)義的正確性與完整性進(jìn)行驗(yàn)證,同時(shí)也可以檢測(cè)circt工具鏈中存在的問題。

37、7)使用k框架作為circt方言形式語(yǔ)義的實(shí)現(xiàn)基礎(chǔ),在試驗(yàn)評(píng)估中可以獲取k框架提供的運(yùn)行信息,方便定位錯(cuò)誤以及修復(fù)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
主站蜘蛛池模板: 文水县| 宾川县| 肇庆市| 红原县| 青岛市| 黑山县| 襄樊市| 翁牛特旗| 元氏县| 闵行区| 依安县| 融水| 宕昌县| 广宁县| 曲靖市| 嵊州市| 阳朔县| 辽源市| 六安市| 炎陵县| 裕民县| 鹿泉市| 集贤县| 兴和县| 封丘县| 双桥区| 奎屯市| 建昌县| 广德县| 赤壁市| 隆回县| 定日县| 金阳县| 葵青区| 秦皇岛市| 丹江口市| 大邑县| 射阳县| 抚远县| 静安区| 特克斯县|