FPGA小白学习日志二:利用LED实现2选1多路选择器

  在上一篇文章中,主播利用炒菜的比喻帮大家介绍了LED工程的建立,所以在读这一篇文章前,大家可以简要回顾以下LED工程的建立流程。本篇内容,主播主要向大家介绍数据选择器工程的实现方法。

  在开始之前,我们先来了解一下数据选择器是什么:所谓数据选择器,就是从多个输入的逻辑信号中选择一个逻辑信号输出,实现数据选择功能的逻辑电路就是数据选择器。我们用来打个比方,现在我们手中有两张电影票A和B,但这时我们是不知道到底哪张电影票是允许我们进入电影院的,这时候我们就要去问检票员,检票员说A,那就可以进;否则,B就可以进。通过这个比喻,我们就能理解数据选择器的大体思路了:这里的电影票A与B就相当于输入信号in1与in2,检票员就相当于数据选择信号sel(英文select),电影院就相当于输出信号out,注意这里的输出信号out只有一个。因此,我们就可以在Visio中设计出2-1数据选择器:

                           

  同样,我们给出2-1数据选择器的真值表:

            

  我们来分析以下这个真值表:当选择信号sel为0时,对应输入信号in1的通道开启,此时,无论输入信号in2怎么取值,输出信号out永远与输入信号in1相同。那反过来讲,选择信号sel为1时,对应输入信号in2的通道开启,此时,无论输入信号in1怎么取值,输出信号out永远与输入信号in2相同。

  接下来,我们新建工程,具体的步骤在上一章有讲,这里我们就不说了。我们来看看用Verilog语言怎么实现2-1数据选择器:

                            

  我们来分析一下这段代码的语法,in1、in2、sel信号前面都有加“wire”,而out前面却加了“reg”,那么wire和reg到底是什么,他们起什么作用呢?这里主播查阅了锆石科技的《HELLO FPGA》文档:reg和wire都是数据类型,其中reg是寄存器类型,wire是连线型类型。这里主播再打个比方,wire相当于导线,他只能传递信号,但不能记住信号,所以输入信号要使用wire类型;而reg相当于寄存器,他能够记住输入信号,而在always@(*)模块中,我们的输出信号out要持续循环“sel =1 →out = in2,sel =0 →out = in1”这个逻辑进程,所以输出信号就要使用reg寄存器类型,他不断记住输入信号,又根据逻辑进程不断输出信号。

  解释完了代码,我们就来打开RTL视图,验证电路的正确性:

                  

  可以看出,RTL视图和我们在Visio中的设计完全一样。接着我们再来仿真,具体的仿真步骤主播就不说了,这里直接放波形图进行分析;

   我们取第一组红线内的波形图:

  在这组红线内的波形图中,sel信号恒为0,无论in2信号怎么变(输入信号in2从1-0-1),输出信号out波形图是不是恒等于输入信号in1。

  再取第二组分析:

  此时在这组红线内的波形图中,sel信号恒为1,无论in1信号怎么变,输出信号out波形图是不是恒等于输入信号in2了。

  举了这两组的例子,相信大家不仅能会分析波形了,也能从波形图中验证我们RTL视图的正确性。大家有时间呢也可以自己做一下仿真取不同情况分析。不过主播在这里要提醒大家一句啊,在进行仿真前,大家打开“Assignment--Settings”的时候,尤其是“Tool name”选项卡中,一定要注意我们选的是“Modelsim”而不是“Modelsim-Altera”:

  不然就会出现“Can'tIaunchtheModelSim-Alterasoftware”报错:

              

  仿真完之后呢我们就要去分配引脚了,在上一篇文章呢,主播在引脚分配这里出错了,这里就回归到原理图带大家一起读引脚。首先我们打开官方EP4C最小系统板的原理图,找到按键引脚分配图:

                          

  图中我们可以看出,KEY1按键被分配到pin90引脚,KEY2按键被分配到pin89引脚,RESET按键被分配到pin88引脚。由于本工程中我们需要用到3个信号,这里我们就把KEY1按键发出的信号标记为输入信号in1,KEY2按键发出的信号标记为输入信号in2,RESET按键发出的信号标记为选择信号sel。

  再来看LED引脚分配图:

   

  LED0被分配到IO_73引脚,LED1被分配到IO_75引脚,LED2被分配到IO_74引脚。这里我们就选择LED1,将其作为输出信号out。但是我们在引脚分配的页面是找不到IO_75引脚的,这时候我们找到U5-5模块,找到IO_75引脚对应的pin75:

                        

  这样我们的引脚就配置好了:

                                 

  大家注意,在分配好引脚以后呢,还要对未使用管脚进行设置,一定一定要记得烧录到板子之前要进行一次全编译,这不仅是在提醒大家,也是在提醒主播。最后呢我们就来看一下效果图:       

  不按RESET按键时,sel信号持续为0,此时按与不按KEY1,LED1是没有任何反应的,那么按下KEY2,LED1亮,松开KEY2, LED1不亮。

                                         

  长按RESET按键时,sel信号持续为1,此时按与不按KEY2,LED1是没有任何反应的,那么按下KEY1,LED1亮,松开KEY1, LED1不亮。

                                       

  好了,以上这就是本篇文章的所有内容了,还请大家多多支持主播!

Read more

ToDesk推出ToClaw:让AI Agent真正走进你的日常工作流

ToDesk推出ToClaw:让AI Agent真正走进你的日常工作流

2026开年,中文互联网最热的AI关键词之一,非“OpenClaw”莫属。这款开源AI助手在技术圈掀起热潮,让越来越多人意识到:AI不该只负责聊天,它应该开始替人干活。但问题也随之而来——复杂的Python环境配置、繁琐的API部署、全英文的文档,将大多数普通用户挡在了门外。 就在今天,国民级远控软件ToDesk给出了自己的答案:ToClaw。它不是另一个需要单独下载的新软件,而是完全封装在最新版ToDesk里的AI助手。打开ToDesk,左侧AI入口就能找到它——免安装、免部署,可直接体验。 从“装环境”到“直接干活”,零门槛的AI助理 如果你折腾过OpenClaw,就会知道它的魅力和门槛几乎是同时出现的。魅力在于它真的是Agent,能执行任务而不只是聊天;门槛在于你要先理解安装、模型、渠道、权限、运行环境,甚至还得接受“先踩坑,再用起来”的现实。 ToClaw走的是另一条路。 打开之后,不是黑乎乎的终端,也不是一堆配置文件,而是一个非常直接的桌面助手界面:输入框、场景入口、技能页、

2026年8款AI大模型实测排名!国产杀入全球前10,最便宜只要2毛钱

2026年8款AI大模型实测排名!国产杀入全球前10,最便宜只要2毛钱

先说结论:按需求直接选 2026年大模型格局已经从"美国领跑、中国追赶"变成了真正的多极竞争。如果你不想看完全文,这是按场景给出的推荐: * 日常对话和写作:Claude Opus 4.6(综合体验最佳)、豆包 Seed 2.0 Pro(中文国产第一) * 写代码:Claude Opus 4.6 / Gemini 3.1 Pro(旗舰级)、GLM-5 / DeepSeek V3.2(开源最强) * 数学和推理:GPT-5.2(AIME 2025 满分)、豆包 Seed 2.0 Pro(IMO 金牌级)

[2026年03月15日] AI 深度早报

[2026年03月15日] AI 深度早报

📅 [2026年03月15日] AI 深度早报:GTC 开幕日,AI Agent 平台与具身世界模型双线引爆 👋 晨间导读 今天是 NVIDIA GTC 2026 的开幕日,也是本周 AI 圈最密集的一个爆发点。三件事同时发生:NVIDIA 用 NemoClaw 宣示进入 Agent 基础设施赛道;微软开源 AgentRx,把 AI Agent 的调试工程化带上台面;与此同时,来自中国的大晓机器人悄悄开源了一个端侧运行的具身世界模型,推理速度比前代快 72 倍。AI Coding 走向"平台化",具身智能走向"可部署"——变化正在加速,今天的早报将带你抓住最关键的信号。 1. 🚀 NVIDIA GTC

马上有钱,港大造了个AI打工人:给10块钱启动资金,7小时赚了1万美金!

$10变$10,000,AI时薪1500美元,这还是你认识的那个"小助手"吗? 昨天,香港大学数据科学实验室刚刚发布了一个让整个AI圈都炸锅的项目——ClawWork。 什么概念?就是给AI一张10美元的"创业资金",让它自己在真实的职业任务中打拼,自己赚钱养活自己。结果呢?顶级AI在7小时内赚了1万美金,时薪达到1500+美元。 这已经不是什么技术demo了,这是AI从"助手"彻底升级成"打工人"的分水岭。 🔥 这到底是个什么东西? 想象一下,如果你的AI助手突然变成了一个真正的"员工": * • 每句话都要花钱:每次调用大模型,都从它的工资里扣钱 * • 必须赚钱养活自己:只能通过完成真实工作任务获得收入 * • 一分钱都不能浪费:搜索一次网页要0.0008美元,写错了代码重新跑,钱就没了 这就像把一个刚毕业的大学生扔到北京,