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

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

3天内不再提示

在友晶DE1-SOC开发板实现数独谜题求解器

友晶FPGA ? 来源:友晶FPGA ? 2025-07-16 16:14 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天继续常春藤名校之一——康奈尔大学的FPGA课程ECE 5760典型案例分享:基于DE1-SOC开发板的FPGA数独谜题求解器。

1. 项目概述

项目说明

介绍项目之前先介绍数独游戏。

数独游戏是一种广受欢迎的数学游戏。在其基本且被广泛认可的形式中,数独包含一个 9 × 9 的网格,其中某些方格已填入数字。该游戏的目的是通过填入剩余的方格来完成网格,同时确保每一行、每一列以及九个 3 × 3 子网格都恰好包含数字 1 到 9 各一次。解决该游戏的诀窍在于利用网格中包含的数字作为线索来推导出可能的解。下图是世界最难的数独谜题之一示例。

它极具挑战性,因为只有一种解法,而提供的线索非常有限。如果您感兴趣,不妨尝试自行解决这个谜题,并将结果与本文的FPGA实现结果进行对比。

该项目是在友晶DE1-SOC开发板实现数独谜题求解器,用户可以使用鼠标和键盘控制Sudoku网格。我们利用FPGA上的反向追踪算法高效解决谜题。片上CPU在FPGA的帮助下,在VGA屏幕上显示Sudoku网,用户可以输入数字并直观地看到谜题。FPGA实时处理解题过程,更新网格并提供即时反馈。

求解器的速度取决于数独谜题的难度和解的数量。对于一个简单的数独谜,求解者可以在几百微秒内完成。然而,对于一个较难的谜题,或者如果第一个空格的解是一个较大的数字,可能需要大约10000微秒才能完成。

2. 反向追踪算法

从第一个空格开始,依次测试从1到9的数字。如果一个数字满足所有三个条件——这意味着它没有出现在同一行、列或块中——就将该数字放入该格中。然后继续到下一个空格,并使用更新的Sudoku棋盘重复这个过程。继续时可能会遇到一个在1到9之间的数字不匹配的格。当这种情况发生时就返回到之前的格并尝试替代数字。鉴于一个Sudoku谜题只有一个解,系统将不断拒绝无效解,直到找到一个符合所有条件的正确解。

3. 硬件设计

硬件设计分为四个模块:控制单元、数独寄存器、更新器和检查器,如下图所示。每个模块具有不同的功能,并通过图中指示的信号进行通信

749b9fbe-608a-11f0-baa5-92fbcf53809c.png

4. 软件设计

该项目使用运行在HPS上的Linux操作系统来编译和执行Sudoku谜题解法所必需的C程序。

C程序的主要目标包括:

在VGA显示器上绘制数独网格。

通过鼠标和键盘处理用户的输入和交互。

将数独谜题数据发送到FPGA进行处理。

从FPGA接收解决方案并将其显示在VGA上。

5. 源码下载

https://github.com/dengyutu/CU-Project-FPGA-Sudoku-Solver

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

    关注

    1646

    文章

    22069

    浏览量

    619728
  • 寄存器
    +关注

    关注

    31

    文章

    5440

    浏览量

    124947
  • 开发板
    +关注

    关注

    25

    文章

    5725

    浏览量

    105605

原文标题:【开源项目分享】基于DE1-SOC开发板的FPGA数独谜题求解器

文章出处:【微信号:友晶FPGA,微信公众号:友晶FPGA】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于DE1-SOC开发板的oneAPI实验教程(2)

    上一期我们从oneAPI CLI Samples Browser复制保存的Simple DMA是基于Quartus Pro的Nios V示例,无法直接用在DE1-SoC开发板上,因此这一节我们用
    的头像 发表于 06-23 11:17 ?645次阅读
    基于<b class='flag-5'>DE1-SOC</b><b class='flag-5'>开发板</b>的oneAPI实验教程(2)

    求购de1-soc开发版。有的请联系我。急求呢。QQ:528369266

    求购de1-soc开发版。有的请联系我。急求呢。QQ:528369266
    发表于 12-15 16:00

    DE1-SOC新货转让

    本人研究生,暑假期间参加了一个比赛,获得了一块DE1-SOC作为比赛奖品,于2015年12月26日拿到奖品,淘宝官网上卖价1575,现在想低价转售,暂定价格1200,可议价,开发套件还未拆封,保证
    发表于 12-27 10:43

    DE1-SoC官方自带ControlPanel代码解读与AV图像采集处理?

    DE1-SoC一段时间了,官方给的controlPanel那个示例给出了工具链的安装方式,而且给了用这块板开发QT界面的一套流程,目前想在该代码上修改,想结合AV端采集图像,通过Opencv进行图像处理,可如何与Opencv进行衔接?是否有人做过这方面的?希望各位指点?
    发表于 05-06 22:18

    DE1-Soc用户手册

    DE1-Soc用户手册
    发表于 08-05 16:08

    小弟求购Altera DE1-SOC开发板,哪位大神玩剩下了传承一下,多谢!

    小弟想自学FPGA,预购Altera DE1-SOC。哪位大神玩过了,技术了熟于胸。也别冷落了板子,赠人玫瑰手有余香,请联系小弟,让技术继续发挥余热,价格可谈。 联系方式:***注:10.22不能入手就在淘宝买了,之后就不用耽误大神时间了。非常感谢!
    发表于 11-18 15:00

    de1-soc FPGA(Quartus工程含Qsys系统) + HPS 操作步骤

    原谅我记忆力不好。。。花了好久弄明白的东西才十个小时不到就忘记了,所以趁现在记得赶紧记录下来。本文内容:重建de1-soc中HPS-FPGA工程。 PS:原工程http
    发表于 07-03 08:10

    如何在DE1-SOC开发板上搭建NIOS II处理运行UCOS

    介绍了如何在DE1-SOC开发板上搭建NIOS II处理运行UCOS II,一步一步指导的,特此上传,希望能帮点忙。
    发表于 06-14 15:29 ?12次下载

    51开发板实现计算

    51开发板实现计算,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-23 16:06 ?13次下载

    DE1-SoC开发工具包的详细用户和使用手册资料免费下载

    带宽互连主干与FPGA结构无缝连接。DE1-SoC开发板配备了高速DDR3存储、视频和音频能力、以太网
    发表于 10-16 16:55 ?99次下载
    <b class='flag-5'>DE1-SoC</b><b class='flag-5'>开发</b>工具包的详细用户和使用手册资料免费下载

    算法概述和数的计算机和并行求解

    本文档的主要内容详细介绍的是算法概述和数的计算机和并行求解主要内容包括了:1.
    发表于 12-21 10:37 ?8次下载
    <b class='flag-5'>数</b><b class='flag-5'>独</b>算法概述和数<b class='flag-5'>独</b>的计算机和并行<b class='flag-5'>求解</b>

    ALTERA公司的DE1 SoC FPGA开发板的培训教程免费下载

    本文档的主要内容详细介绍的是ALTERA公司的DE1 SoC FPGA开发板的培训教程免费下载包括了:第1DE1-SOC 快速入门,第2
    发表于 07-08 08:00 ?34次下载
    ALTERA公司的<b class='flag-5'>DE1</b> <b class='flag-5'>SoC</b> FPGA<b class='flag-5'>开发板</b>的培训教程免费下载

    DE1-SoC结构及电路图

    DE1-SoC结构及电路图免费下载。
    发表于 04-07 11:33 ?39次下载

    DE1-SOC进行硬件加速的2D N-Body重力模拟设计

    该项目的目标是创建一个用DE1-SOC进行硬件加速的2D N-Body重力模拟
    的头像 发表于 04-09 11:08 ?1010次阅读
    用<b class='flag-5'>DE1-SOC</b>进行硬件加速的2D N-Body重力模拟<b class='flag-5'>器</b>设计

    DE1-SOC开发板实现Chirikov标准映射求解

    该项目是DE1-SOC开发板实现Chirikov标准映射的求解
    的头像 发表于 07-07 15:22 ?1000次阅读
    <b class='flag-5'>在</b><b class='flag-5'>友</b><b class='flag-5'>晶</b><b class='flag-5'>DE1-SOC</b><b class='flag-5'>开发板实现</b>Chirikov标准映射<b class='flag-5'>求解</b><b class='flag-5'>器</b>