0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

從有限狀態(tài)機圖片直接生成SV代碼

sanyue7758 ? 來源: EETOP ? 2023-10-30 11:07 ? 次閱讀

在當今快節(jié)奏的世界中,半導體設(shè)計的創(chuàng)新是一項永恒的需求。對更快、更準確、更創(chuàng)新的解決方案的需求為探索生成式人工智能(#GenerativeAI)在半導體設(shè)計開發(fā)領(lǐng)域的潛力鋪平了道路。能做到嗎?當然可以!在本系列文章中,我們將深入探討令人興奮的實驗,展示生成式人工智能如何徹底改變半導體設(shè)計。

實例 1 - 從 FSM 圖到 SV 代碼

第一個實驗通過將有限狀態(tài)機 (FSM) 圖轉(zhuǎn)換為 SystemVerilog (SV) 代碼,展示了生成式人工智能的非凡能力。

在本例中,谷歌的生成式人工智能模型--BARD 被用來生成一個自動售貨機 FSM 的 SystemVerilog 實現(xiàn)。

狀態(tài)機圖片:

cc8b23ee-76cf-11ee-939d-92fbcf53809c.jpg

cc9667cc-76cf-11ee-939d-92fbcf53809c.png

代碼如下:

// Vending machine FSM
// Disclaimer: This code is not tested for correctness


module vending_machine (
  input clk,
  input reset,
  input coin_inserted,
  input product_selected,
  input product_dispensed,


  output reg dispense_product,
  output reg return_coin
);


  // Define the states
  localparam [2:0] IDLE = 3'b000;
  localparam [2:0] COIN_INSERTED = 3'b001;
  localparam [2:0] PRODUCT_SELECTED = 3'b010;
  localparam [2:0] PRODUCT_DISPENSED = 3'b011;
  localparam [2:0] OUT_OF_STOCK = 3'b100;


  // Define the registers
  reg [2:0] current_state;


  // Transition logic
  always @(posedge clk or posedge reset) begin
    if (reset) begin
      current_state <= IDLE;
    end else begin
      case (current_state)
        IDLE: begin
          if (coin_inserted) begin
            current_state <= COIN_INSERTED;
          end else begin
            current_state <= IDLE;
          end
        end
        COIN_INSERTED: begin
          if (product_selected) begin
            current_state <= PRODUCT_SELECTED;
          end else begin
            current_state <= COIN_INSERTED;
          end
        end
        PRODUCT_SELECTED: begin
          if (product_dispensed) begin
            current_state <= PRODUCT_DISPENSED;
          end else if (out_of_stock) begin
            current_state <= OUT_OF_STOCK;
          end else begin
            current_state <= PRODUCT_SELECTED;
          end
        end
        PRODUCT_DISPENSED: begin
          current_state <= IDLE;
        end
        OUT_OF_STOCK: begin
          current_state <= IDLE;
        end
      endcase
    end
  end


  // Output logic
  always @(posedge clk) begin
    case (current_state)
      PRODUCT_DISPENSED: begin
        dispense_product <= 1'b1;
      end
      default: begin
        dispense_product <= 1'b0;
      end
    endcase
  end


  always @(posedge clk) begin
    case (current_state)
      OUT_OF_STOCK: begin
        return_coin <= 1'b1;
      end
      default: begin
        return_coin <= 1'b0;
      end
    endcase
  end


endmodule

有限狀態(tài)機在芯片設(shè)計中得到廣泛應用,以下是生成式人工智能如何發(fā)揮關(guān)鍵作用:

提高生產(chǎn)力:有了生成式人工智能,創(chuàng)建和更新圖表變得輕而易舉。設(shè)計人員現(xiàn)在可以專注于高級概念,讓人工智能來做基礎(chǔ)工作。這不僅加快了開發(fā)過程,還能在需要更改設(shè)計時迅速進行迭代。

更高的準確性:FSM 已經(jīng)成為硬件設(shè)計的標準化工具。生成式人工智能模型經(jīng)過大量數(shù)據(jù)集的訓練,能夠熟練地將這些圖表轉(zhuǎn)換為準確的 SV 代碼。減少了人為錯誤,提高了代碼質(zhì)量。

提高創(chuàng)新能力:生成式人工智能的速度和準確性為快速探索新的設(shè)計理念打開了大門。設(shè)計人員可以利用各種 FSM 圖表進行頭腦風暴和實驗,從而推動創(chuàng)新。這種靈活性使每一代半導體器件都能更快地集成先進功能。 雖然生成式人工智能前景廣闊,但必須謹慎行事。生成的代碼不一定總是完美的。在將人工智能生成的代碼部署到生產(chǎn)環(huán)境之前,設(shè)計人員必須對其進行審查和嚴格測試。徹底的驗證過程對于確保最終半導體設(shè)計的可靠性和功能性至關(guān)重要。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 半導體
    +關(guān)注

    關(guān)注

    334

    文章

    27367

    瀏覽量

    218753
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30896

    瀏覽量

    269107
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47279

    瀏覽量

    238510
  • 有限狀態(tài)機
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    10331

原文標題:用生成式AI設(shè)計芯片,實例1:從有限狀態(tài)機圖片直接生成SV代碼

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGA有限狀態(tài)機

    FPGA有限狀態(tài)機
    發(fā)表于 09-08 08:45

    有限狀態(tài)機有什么類型?

    在實際的應用中,根據(jù)有限狀態(tài)機是否使用輸入信號,設(shè)計人員經(jīng)常將其分為Moore型有限狀態(tài)機和Mealy型有限狀態(tài)機兩種類型。
    發(fā)表于 04-06 09:00

    什么是有限狀態(tài)機

    在嵌入式,機器人領(lǐng)域,由于多的復雜邏輯狀態(tài),我們編寫程序的時候不得不考慮很多種情況,容易造成功能間的沖突。有限狀態(tài)機(finite-state machine),簡稱狀態(tài)機,是一種表示有限
    發(fā)表于 12-20 06:51

    狀態(tài)機代碼生成工具

    狀態(tài)機代碼生成工具狀態(tài)機代碼生成工具狀態(tài)機
    發(fā)表于 11-19 15:12 ?9次下載

    有限狀態(tài)機_FSM_的實現(xiàn)

    本文主要介紹了IP模塊的有限狀態(tài)機的實現(xiàn)。
    發(fā)表于 03-22 15:42 ?0次下載

    有限狀態(tài)機的建模與優(yōu)化設(shè)計

    本文提出一種優(yōu)秀 、高效的 Verilog HDL 描述方式來進行有限狀態(tài)機設(shè)計 介紹了 有限狀態(tài)機的建模原則 并通過一個可綜合的實例 驗證了 該方法設(shè)計的有限狀態(tài)機在面積和功耗上的優(yōu)勢。
    發(fā)表于 03-22 15:19 ?1次下載

    VHDL有限狀態(tài)機設(shè)計-ST

    EDA的有限狀態(tài)機,廣義而言是指只要涉及觸發(fā)器的電路,無論電路大小都可以歸結(jié)為狀態(tài)機有限狀態(tài)機設(shè)計在學習EDA時是很重要的一章。
    發(fā)表于 06-08 16:46 ?3次下載

    初學者對有限狀態(tài)機(FSM)的設(shè)計的認識

    有限狀態(tài)機(FSM)是一種常見的電路,由時序電路和組合電路組成。設(shè)計有限狀態(tài)機的第一步是確定采用Moore狀態(tài)機還是采用Mealy狀態(tài)機。
    發(fā)表于 02-11 13:51 ?4307次閱讀
    初學者對<b class='flag-5'>有限狀態(tài)機</b>(FSM)的設(shè)計的認識

    如何使用FPGA實現(xiàn)序列檢測有限狀態(tài)機

    有限狀態(tài)機是絕大部分控制電路的核心結(jié)構(gòu), 是表示有限狀態(tài)以及在這些狀態(tài)之間轉(zhuǎn)移和動作等行為的數(shù)學模型。有限狀態(tài)機是指輸出取決于過去輸入部分
    發(fā)表于 11-04 17:17 ?12次下載
    如何使用FPGA實現(xiàn)序列檢測<b class='flag-5'>有限狀態(tài)機</b>

    有限狀態(tài)機設(shè)計是HDL Designer Series的關(guān)鍵應用

    ,導致狀態(tài)機性能不佳。 關(guān)鍵要素用戶對工具可用于生成HDL設(shè)計工具的成功應用充滿信心可預測的高性能有限狀態(tài)機HDL代碼
    發(fā)表于 04-08 10:05 ?6次下載

    基于事件驅(qū)動的有限狀態(tài)機介紹

    ? 一、介紹 EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機),是一個基于事件驅(qū)動的有限狀態(tài)機,主要應用于嵌入式設(shè)備的軟件系統(tǒng)中。 EFSM的設(shè)計原則是:簡單
    的頭像 發(fā)表于 11-16 15:29 ?2356次閱讀

    如何以面向?qū)ο蟮乃枷朐O(shè)計有限狀態(tài)機

    有限狀態(tài)機又稱有限狀態(tài)自動機,簡稱狀態(tài)機,是表示有限狀態(tài)以及在這些
    發(fā)表于 02-07 11:23 ?4次下載
    如何以面向?qū)ο蟮乃枷朐O(shè)計<b class='flag-5'>有限狀態(tài)機</b>

    基于事件驅(qū)動的有限狀態(tài)機介紹

    EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機),是一個基于事件驅(qū)動的有限狀態(tài)機,主要應用于嵌入式設(shè)備的軟件系統(tǒng)中。
    的頭像 發(fā)表于 02-11 10:17 ?1055次閱讀

    一個基于事件驅(qū)動的有限狀態(tài)機

    EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機),是一個基于事件驅(qū)動的有限狀態(tài)機,主要應用于嵌入式設(shè)備的軟件系統(tǒng)中。 EFSM的設(shè)計原則是:簡單!EFSM的使用者只需要關(guān)心:
    的頭像 發(fā)表于 08-30 09:28 ?865次閱讀
    一個基于事件驅(qū)動的<b class='flag-5'>有限狀態(tài)機</b>

    有限狀態(tài)機分割設(shè)計

    有限狀態(tài)機分割設(shè)計,其實質(zhì)就是一個狀態(tài)機分割成多個狀態(tài)機
    的頭像 發(fā)表于 10-09 10:47 ?646次閱讀