精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

用AI來寫Verilog代碼能行嗎

jf_78858299 ? 來源:傅里葉的貓 ? 作者:張大俠 ? 2023-05-05 16:02 ? 次閱讀

最近ChatGPT大火,成功破圈,到底是什么?怎么使用?

簡單說,它是一個模型,一個語言模型!

它是以對話方式與人進行交互的AI語言模型!

但它能做的事情太多了,可以用它來寫一封請假郵件:

圖片

image-20221208210153673

還有人用它來學英語、向它提各種問題,甚至可以用它來寫程序,很多軟件工程師都嘗試過用它來寫PythonJava編程語言,這里我們就不再嘗試了。

作為FPGA工程師,我們肯定想讓它幫我們寫Verilog!看看效果怎么樣?

,時長00:23

[ ]

圖片

image-20221208210533770

在代碼后面甚至還有解釋:

圖片

image-20221208210631379

完整代碼如下:

// UART Receiver Module
module uart_rx(
  input clk,
  input rx,
  output reg rx_done,
  output reg [7:0] rx_data
);

// FSM states
localparam [1:0]
  IDLE = 2'b00,
  START = 2'b01,
  DATA = 2'b10,
  STOP = 2'b11;

reg [1:0] state, next_state;
reg [3:0] bit_count;
reg [7:0] rx_shift_reg;

// Initialize outputs
always @* begin
  rx_done = 0;
  rx_data = 0;
end

// State transition logic
always @(posedge clk) begin
  state <= next_state;
end

// State transition function
always @* begin
  case (state)
    IDLE: begin
      if (rx) next_state = START;
      else next_state = IDLE;
    end
    START: begin
      if (rx) next_state = DATA;
      else next_state = IDLE;
    end
    DATA: begin
      if (bit_count == 0) next_state = STOP;
      else if (rx) next_state = DATA;
      else next_state = IDLE;
    end
    STOP: begin
      if (rx) next_state = IDLE;
      else next_state = STOP;
    end
  endcase
end

// Output logic
always @* begin
  case (state)
    IDLE: begin
      bit_count = 4;
      rx_shift_reg = 0;
    end
    START: begin
      bit_count = 3;
    end
    DATA: begin
      bit_count = bit_count - 1;
      rx_shift_reg = {rx_shift_reg[6:0], rx};
    end
    STOP: begin
      rx_done = 1;
      rx_data = rx_shift_reg;
    end
  endcase
end

endmodule

雖然沒有驗證這個功能是否正確,但這個代碼的邏輯看起來應該是沒有錯的。

于是又嘗試讓它寫一個信號處理方向的:FIR抽取濾波器

圖片

再寫個稍微復雜一點但仍然是標準的協議:apb轉axi-lite的bridge。

圖片

完整代碼很長,我也并沒有驗過,但大概看下來,功能基本都有。

對于過于復雜的,就無能為力了,比如:以太網協議棧。

但有個更有意思的現象,當我第一次讓它寫以太網協議棧時,它提示太難了,寫不出來。

把對話復位后,再讓它寫,它就會寫一個大概的module,里面只有些接口,后面又復位對話后再重新讓它寫了,寫出來的程序就更多了。

說明它的學習能力一直在增長。

可能現在它的功能還并不是很完善,但作為工程師,看到這么強大的功能,不禁有些感慨,我們的核心競爭力是什么?如果真的有一天,AI可以幫我們寫代碼了,我們該去做什么?

(抖個機靈:是不是到時候只需要驗證工程師了?)

最后補充一點,這個網站的注冊是需要一個國外的手機號,可能很多人弄不到,所以,如果你有什么有趣的功能想嘗試,可以跟我聯系,我來幫你試。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Verilog
    +關注

    關注

    28

    文章

    1345

    瀏覽量

    109996
  • AI
    AI
    +關注

    關注

    87

    文章

    30239

    瀏覽量

    268480
  • 代碼
    +關注

    關注

    30

    文章

    4753

    瀏覽量

    68369
  • ChatGPT
    +關注

    關注

    29

    文章

    1549

    瀏覽量

    7509
收藏 人收藏

    評論

    相關推薦

    普通運放+晶體管實現100V,4M的信號輸出能行嗎

    請問普通運放+晶體管實現100V,4M的信號輸出能行嗎
    發表于 09-04 06:17

    CC2530與5V供電超聲波測距,能行嗎

    我想用CC2530與5V供電的超聲波模塊相連來測距,能行嗎?2530芯片不會燒掉吧?
    發表于 03-15 16:46

    在家里自學單片機硬件設計能行嗎

    本帖最后由 dsl7410 于 2016-9-18 21:00 編輯 沒有工具可以把設計好的PCB圖做成實體的PCB,能行嗎
    發表于 09-18 20:22

    28069時鐘內部的晶振能行嗎

    在使用到DSP的CAN時,有些文檔提到,最好使用外接精確的晶振,最好不要使用內部晶振,在28069上存在這個問題嗎,如果使用28069的can模塊,內部的晶振能行嗎
    發表于 11-27 14:44

    LH560A“你能行嗎?祝你成功”語言集成電路圖

    LH560A“你能行嗎?祝你成功”語言集成電路圖
    發表于 03-31 17:06 ?1186次閱讀
    LH560A“你<b class='flag-5'>能行嗎</b>?祝你成功”語言集成電路圖

    verilog_代碼資料

    verilog_代碼資料,非常實用的代碼示例。
    發表于 02-18 15:00 ?37次下載

    verilog代碼規范

    verilog代碼規范,學會寫代碼還不行,我們需要更加的規范。
    發表于 03-25 14:43 ?24次下載

    8051 verilog代碼

    8051 verilog代碼分享,有需要的下來看看。
    發表于 05-24 09:45 ?0次下載

    Verilog 入門的實例代碼

    Verilog 入門的實例代碼,有需要的下來看看
    發表于 05-24 10:03 ?20次下載

    verilog_代碼

    verilog_代碼分享,有需要的朋友下來看看。
    發表于 05-24 10:03 ?12次下載

    Python國產庫推薦之musicpy:讓你代碼來寫音樂

    你想過代碼來寫音樂嗎?這里給大家介紹一個國人寫的庫 musicpy,讓你簡潔的語法通過樂理邏輯寫出優美的音樂。 這個庫可以讓你非常簡潔
    的頭像 發表于 12-16 11:26 ?1636次閱讀

    什么樣的Verilog代碼風格是好的風格?

    代碼是給別人和多年后的自己看的。 關于Verilog代碼設計的一些風格和方法之前也寫過一些Verilog有什么奇技淫巧?
    的頭像 發表于 10-24 15:23 ?1493次閱讀

    如何用AI來寫Verilog代碼

    可能現在它的功能還并不是很完善,但作為工程師,看到這么強大的功能,不禁有些感慨,我們的核心競爭力是什么?如果真的有一天,AI可以幫我們寫代碼了,我們該去做什么?
    的頭像 發表于 12-09 09:45 ?1733次閱讀

    如何在VScode中用AI補全V/SV代碼呢?

    昨天群里小伙伴說在VScode中用AIverilog效果很好。小編以前編輯代碼都是gvim。抱著學習的心態,我在linux下嘗試了下V
    的頭像 發表于 08-03 10:24 ?3280次閱讀
    如何在VScode中用<b class='flag-5'>AI</b>補全V/SV<b class='flag-5'>代碼</b>呢?

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發表于 11-05 11:45 ?211次閱讀
    如何自動生成<b class='flag-5'>verilog</b><b class='flag-5'>代碼</b>