HDL开发中的智能工具

人工智能时代,程序员如何保持核心竞争力?

随着AIGC(如chatgpt、midjourney、claude等)大语言模型接二连三的涌现,AI辅助编程工具日益普及,程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工作,也有人认为AI是提高效率的得力助手。面对这一趋势,程序员应该如何应对?是专注于某个领域深耕细作,还是广泛学习以适应快速变化的技术环境?又或者,我们是否应该将重点转向AI无法轻易替代的软技能?让我们一起探讨程序员在AI时代如何保持并提升自身的核心竞争力吧!

智能工具的作用

  1. 智能地解决问题
    很多时候,解决一个问题需要将问题分解为多个问题,然后进行逐个解决。而智能工具提供的往往是一站式的解决方案,可以大幅缩短解决问题的时间。
  2. 提供工具化地使用方法
    和直接询问他人解决不同,智能工具大部分时候还是一个工具,只能作为参考。和人的沟通中存在盲区的互补,而使用工具则只需要考虑效果。这种单向的解决方案必然存在合理性问题,需要慎重使用。

百度AI使用

使用感受

本人目前接触最多的就是百度的AI,在百度搜索的时候自动弹出。从直接感受来看,主要分为以下几个类型:

  1. 对于知识类的问题,效果约等于快速翻阅电子书。
  2. 对于操作类的问题,如果有关联度较高的博客,基本上是几篇博客的融合,操作基本上说的通。但是如果没有较高的关联度,那就会出现关键字被替换导致的错误教程。这一点在比较小众的软件的使用教程上尤为明显。
  3. 对于纠错类的问题,大部分时候给出的结果就是下面几篇博客中的解决方法的列举,类似试错法不断地解决。
module divider #(parameter N = 10)(
    input clk_in,
    input rst,
    output reg clk_out
);
 
reg [31:0] counter; // 使用32位计数器
 
always @(posedge clk_in, posedge rst) begin
    if (rst) begin
        counter <= 0;
        clk_out <= 0;
    end else begin
        if (counter < N - 1) begin
            counter <= counter + 1;
        end else begin
            counter <= 0;
            clk_out <= ~clk_out; // 切换时钟输出状态
        end
    end
end
 
endmodule

从上面百度AI生成地分频器来看,其结构可能是从几个博客里面拿出来的,然后变量名用关键字替换了。整体上就是将问题的答案整合为一个标准答案。这个对于有关相关设计经验但是忘记了相关的知识点的情况,会提供一个非常好的复习提纲。
博客内的分频器

使用优化

除了直接搜索对应的问题,还可以利用关键字强化问题的关联性,以免出现多义的名词导致的结果错误。比如解决语法问题:
搜索–TCL的正则表达式
得到正则表达式的基本语法
搜索–TCL正则表达式匹配所有字符
得到能够匹配所有字符的符号

这里效率的提高体现在问题越详细,答案越准确。和手动解决问题的差异就在这,手动解决问题时希望每个步骤越简单越好,解决起来越快。而AI工具希望问题越全面越好,这样参考的资料就越多。在这里,可以总结出一条使用规律:
对于智能工具:关键字要比问题描述逻辑要重要

全自动编程可能性

自动化+人工

现阶段,在HDL编程中,效率最高的还是自动化加上人工实现。自动化提供高效的执行验证流程,人工负责搭建模型,交由自动化模块进行验证和输出。
这种方法的成本是最低的,自动化对于程序员来说基本上就是脚本+操作系统。只要掌握的脚本足够多,完全可以实现重复性工作只做一遍。人工的注意力集中在分析问题和解决问题的方案搭建上。

bat + tcl + vivado,可以实现FPGA的流程自动化

智能AI+人工

目前感觉,智能工具集中在文档搜索上。对于懒于做笔记的工程师而言,智能AI的效果尤为显著。不过,随着AI技术的告诉迭代,人工的比例必然会不断下降。这里我感觉人工的工作量下降必然带来其重要性的提高。毕竟,在AI筛选之后,只有需要仔细分析决策的部分才会被保留到人工。

智能AI+自动化

这个更多倾向于工厂生产,而不是技术研发。从目前的开发经验来看,技术研发中不是很注重产品的产出速度,更多是关注新出现的问题。而工厂则是更关注整个的生产效率,需要利用自动化来保证收益。

小结

由于技术市场足够大,不会因为AI技术的发展,就立马改变整个技术开发的生态,就像计算机的文字存储不会取代纸张一样,AI技术也无法取代传统的技术开发工作。更多的情况是上述各种技术的随机组合,形成各种独特的开发环境。

在AI时代的发展展望

在刚接触AI技术的时候,确实非常震撼,感觉自己已经被AI超越。比如学生时代就想过AI会做的事以后是不是都不需要人工去做。但是在了解过AI技术从早期的自动化中脱离出来,经过机器学习和深度学习的发展,最后走向现在的实际应用,整个的技术脉络还是有迹可循的。作为一项技术,AI无疑会带来生产生活的改变,正如信息时代计算机所带来的改变一样。这种改变对于个人发展而言,机遇是大于风险的。作为码农,用镰刀收割永远不如收割机。

  1. 技术发展是渐变的,逐步接触和使用AI技术,是跟上技术发展的好方法。
  2. 开拓技术视野,直到做什么永远要比直到怎么做要重要
  3. 提高效率,无论技术如何迭代发展,效率始终是生产力的唯一标准。如果有一种可以提高效率的工具,没有道理不使用。脚本如此、软件如此、智能AI亦如此。

最后,自我安慰一下,技术的下沉是必然的趋势,向上看才是人的价值所在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值