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
    +关注

    关注

    31

    文章

    1374

    浏览量

    114725
  • AI
    AI
    +关注

    关注

    91

    文章

    41156

    浏览量

    302619
  • 语言模型
    +关注

    关注

    0

    文章

    575

    浏览量

    11343

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Vibe Coding AI全栈开发实战

    ”或“直觉编程”,它并非某种具体的编程语言或框架,而是一种融合了AI辅助开发、直觉化编程和高效迭代的实战思维方式。在这种模式下,开发者不再需要逐行编写代码,而是通过自然语言描述需求,AI则根据这些描述
    发表于 04-15 16:02

    Token烧了几十亿,代码还是一团乱!AI原生开发该怎么管理?

    你与大模型聊天干活的记录,或许可用于做一次新的“MBTI”性格测试。当驾驭工程的不少事儿都能交给 AI 工具去做,我们只需要“观测”与“控制”,迎接“人人都是技术管理者”的时代。以前,写代码的都是
    发表于 04-14 19:50

    嵌入式AI开发必看:杜绝幻觉,才是工业级IDE的核心底气

    AI浪潮正在重塑嵌入式开发范式,代码生成效率大幅提升的同时,“AI幻觉”问题却成为工业场景落地的核心阻碍——看似合规的代码暗藏时序错误、硬件逻辑冲突等隐性风险,传统 IDE 缺乏工业级
    发表于 03-18 13:49

    AI辅助编程设计之道:从Spec到Code工程实践

    大语言模型正在重塑软件开发的日常。从Copilot到各种编程助手,AI生成代码的能力已经渗透到许多开发者的工作流中。但在实际应用中,一个现象值得注意:不少团队在使用AI编程时,陷入了“需求描述-
    发表于 03-16 13:33

    还在手动拼接 AI 代码?你的 IDE 早就该升级了

    进度,更可能因操作繁琐引发代码错误,直接影响工业控制系统的稳定性与安全性。传统IDE的AI应用模式,早已无法适配嵌入式开发的高效、高可靠需求。 我们真正需要的,是一款深度适配嵌入式开发、AI工作流内嵌
    发表于 03-11 10:25

    Transformer 入门:从零理解 AI 大模型的核心原理

    : 身高:175cm 体重:70kg 年龄:25岁 我们可以把这些数字排成一排:[175, 70, 25],这就是一个向量! arduino 体验AI代码助手 代码解读 复制代码
    发表于 02-10 16:33

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

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

    TI DMD代码

    最近要开发DLPLCRC410EVM,想问问大家有没示例HDL代码,最好是verilog代码,从翻网页也发现实际上是有的,但是不知道为啥官网没有下载代码的地方,求求
    发表于 09-29 17:40

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

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

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

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

    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 3059次阅读
    如<b class='flag-5'>何用</b>FastMCP快速开发自己的MCP Server?