0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何用AI来写Verilog代码?

傅里叶的猫 来源:傅里叶的猫 作者:傅里叶的猫 2022-12-09 09:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

简单说,它是一个模型,一个语言模型!

它是以对话方式与人进行交互的AI语言模型!

但它能做的事情太多了,可以用它来写一封请假邮件:

ca08b8de-7761-11ed-8abf-dac502259ad0.pngimage-20221208210153673

还有人用它来学英语、向它提各种问题,甚至可以用它来写程序,很多软件工程师都尝试过用它来写PythonJava编程语言,这里我们就不再尝试了。

作为FPGA工程师,我们肯定想让它帮我们写Verilog!看看效果怎么样?

ca214c5a-7761-11ed-8abf-dac502259ad0.pngimage-20221208210533770

在代码后面甚至还有解释:

ca3e4c42-7761-11ed-8abf-dac502259ad0.pngimage-20221208210631379

完整代码如下:

//UARTReceiverModule
moduleuart_rx(
inputclk,
inputrx,
outputregrx_done,
outputreg[7:0]rx_data
);

//FSMstates
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;

//Initializeoutputs
always@*begin
rx_done=0;
rx_data=0;
end

//Statetransitionlogic
always@(posedgeclk)begin
state<= next_state;
end

//Statetransitionfunction
always@*begin
case(state)
IDLE:begin
if(rx)next_state=START;
elsenext_state=IDLE;
end
START:begin
if(rx)next_state=DATA;
elsenext_state=IDLE;
end
DATA:begin
if(bit_count==0)next_state=STOP;
elseif(rx)next_state=DATA;
elsenext_state=IDLE;
end
STOP:begin
if(rx)next_state=IDLE;
elsenext_state=STOP;
end
endcase
end

//Outputlogic
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抽取滤波器

ca5a0af4-7761-11ed-8abf-dac502259ad0.png

再写个稍微复杂一点但仍然是标准的协议:apb转axi-lite的bridge。

ca7b0cd6-7761-11ed-8abf-dac502259ad0.png

完整代码很长,我也并没有验过,但大概看下来,功能基本都有。

对于过于复杂的,就无能为力了,比如:以太网协议栈。

但有个更有意思的现象,当我第一次让它写以太网协议栈时,它提示太难了,写不出来。

把对话复位后,再让它写,它就会写一个大概的module,里面只有些接口,后面又复位对话后再重新让它写了,写出来的程序就更多了。

说明它的学习能力一直在增长。

可能现在它的功能还并不是很完善,但作为工程师,看到这么强大的功能,不禁有些感慨,我们的核心竞争力是什么?如果真的有一天,AI可以帮我们写代码了,我们该去做什么?

(抖个机灵:是不是到时候只需要验证工程师了?)

最后补充一点,这个网站的注册是需要一个国外的手机号,可能很多人弄不到,所以,如果你有什么有趣的功能想尝试,可以跟我联系,我来帮你试。


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Verilog
    +关注

    关注

    30

    文章

    1370

    浏览量

    114139
  • AI
    AI
    +关注

    关注

    89

    文章

    38091

    浏览量

    296580
  • 语言模型
    +关注

    关注

    0

    文章

    570

    浏览量

    11255

原文标题:如何用AI来写Verilog代码?

文章出处:【微信号:傅里叶的猫,微信公众号:傅里叶的猫】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    是德科技VPS如何用高精度仿真和AI工具重塑安全气囊开发流程

    精度,更加速创新,帮助制造商在智能化浪潮中抢占先机。本文将带你深入了解,是德科技VPS如何用高精度仿真和AI工具,重塑安全气囊开发流程。
    的头像 发表于 11-17 10:52 271次阅读
    是德科技VPS如<b class='flag-5'>何用</b>高精度仿真和<b class='flag-5'>AI</b>工具重塑安全气囊开发流程

    【「AI芯片:科技探索与AGI愿景」阅读体验】+AI芯片的需求和挑战

    AI的应用多种多样。比如:DALL-E2、Midjourney、Stable Diffusion等,不仅包括对话功能,还包括生成图像、视频、语音和程序代码等功能。 竟然连代码都可以生成,会取代程序员
    发表于 09-12 16:07

    代码如何重塑硬件设计,AI如何加速创新?

    “  TS Circuit 创始人 Sebe 与 Atopile 创始人 Matt 之间非常有意思的一段对话,讨论了代码如何重塑硬件设计及 AI 如何加速创新。非常值得完整的听一遍,用中文重塑了对话
    的头像 发表于 09-06 11:19 478次阅读

    AI的未来,属于那些既能写代码,又能焊电路的“双栖人才”

    AI的未来,属于那些既能写代码,又能焊电路的“双栖人才”——来自WAIC 2025的一线观察2025年7月,上海世博中心,**第七届世界人工智能大会(WAIC 2025)**上,我们看到一个格外清晰
    发表于 07-30 16:15

    HarmonyOS AI辅助编程工具(CodeGenie)代码智能解读

    本功能从DevEco CodeGenie 5.1.0 Beta版本开始支持。 CodeGenie提供智能AI能力对框选的代码片段进行逐条解释,总结代码段含义,帮助开发者提升阅读代码的速
    发表于 07-17 17:02

    HarmonyOS AI辅助编程工具(CodeGenie)代码续写

    利用AI大模型分析并理解开发者在代码编辑区的上下文信息或自然语言描述信息,智能生成符合上下文的ArkTS或C++代码片段。 一、使用约束 建议在编辑区内已有较丰富上下文,能够使模型对编程场景有一定
    发表于 07-15 16:15

    何用 C# 代码对 FX3/CX3 的 EEPROM 进行编程?

    /CyUSB-NET-manual/td-p/105011),我如何用 C# 代码对 FX3/CX3 的 EEPROM 进行编程? 我应该使用这个功能吗? \"4.9.1
    发表于 05-26 07:21

    何用FastMCP快速开发自己的MCP Server?

    作者:算力魔方创始人/英特尔创新大使刘力很多读者反馈:通过 《用MCP将百度地图能力轻松接入DeepSeek》 和 《如何用DeepSeek+MCP实现AutoGLM沉思的能力?》 的实战,真真切切
    的头像 发表于 05-07 16:07 2445次阅读
    如<b class='flag-5'>何用</b>FastMCP快速开发自己的MCP Server?

    FPGA Verilog HDL语法之编译预处理

    Verilog HDL语言和C语言一样也提供了编译预处理的功能。“编译预处理”是Verilog HDL编译系统的一个组成部分。Verilog HDL语言允许在程序中使用几种特殊的命令(它们不是一般
    的头像 发表于 03-27 13:30 1088次阅读
    FPGA <b class='flag-5'>Verilog</b> HDL语法之编译预处理

    AN-737: 如何用ADIsimADC完成ADC建模

    电子发烧友网站提供《AN-737: 如何用ADIsimADC完成ADC建模.pdf》资料免费下载
    发表于 01-13 14:54 1次下载
    AN-737: 如<b class='flag-5'>何用</b>ADIsimADC完成ADC建模

    Verilog 电路仿真常见问题 Verilog 在芯片设计中的应用

    在现代电子设计自动化(EDA)领域,Verilog作为一种硬件描述语言,已经成为数字电路设计和验证的标准工具。它允许设计师以高级抽象的方式定义电路的行为和结构,从而简化了从概念到硅片的整个设计流程
    的头像 发表于 12-17 09:53 1601次阅读

    Verilog 与 ASIC 设计的关系 Verilog 代码优化技巧

    Verilog与ASIC设计的关系 Verilog作为一种硬件描述语言(HDL),在ASIC设计中扮演着至关重要的角色。ASIC(Application Specific Integrated
    的头像 发表于 12-17 09:52 1438次阅读

    Verilog 测试平台设计方法 Verilog FPGA开发指南

    Verilog测试平台设计方法是Verilog FPGA开发中的重要环节,它用于验证Verilog设计的正确性和性能。以下是一个详细的Verilog测试平台设计方法及
    的头像 发表于 12-17 09:50 1558次阅读

    Verilog与VHDL的比较 Verilog HDL编程技巧

    Verilog 与 VHDL 比较 1. 语法和风格 VerilogVerilog 的语法更接近于 C 语言,对于有 C 语言背景的工程师来说,学习曲线较平缓。它支持结构化编程,代码
    的头像 发表于 12-17 09:44 2689次阅读

    腾讯申请注册“腾讯云AI代码助手”商标

    近日,腾讯科技(深圳)有限公司正式向相关机构申请注册了两枚“腾讯云AI代码助手”商标。这两枚商标的国际分类分别为科学仪器和网站服务,目前正处于等待实质审查的阶段。 据了解,腾讯云AI代码
    的头像 发表于 12-13 10:28 971次阅读