NES(FC) FPGA游戏卡开发笔记(2)---- 开发环境搭建(FPGA/CPU选型篇)

2023-10-28 19:10

本文主要是介绍NES(FC) FPGA游戏卡开发笔记(2)---- 开发环境搭建(FPGA/CPU选型篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

我的需求

国产的FPGA哪个适合我呢?

智多晶SA5Z-30

小梅哥SA5Z-30开发板

开发资料和开发软件

总结

安路EF2L45LG144 FPGA开发板

高云小蜜蜂系列FPGA GW1N

傲格芯(AGM)

1K FPGA选型

CPU选型


为了支持国产芯片事业,优先选择国产的FPGA和CPU。

国产的便宜?国产的能买到吗?国产的开发板多吗?国产的开发资料多吗?开发资料详细吗?Bug多吗?

这几天网上搜了下资料,也下载了相关的资料文档,开发软件,简单使用了一下,说说其中的感受吧。

我的需求

整个方案是需要两个FPGA,一个CPU。这个和N8 Por一样。

1)CPU需要SDIO和usb。没有SDIO,至少也有2个以上的SPI,一个接tf卡,一个接外部flash,或者一个接FPGA,配置FPGA,下载游戏rom。usb可有可无,实在没有用串口和主机连接。CPU至少提供256KB的片内flash,64KB的SRAM,越多越好。最好提供方便使用的BSP包。没有的话CPU资料详细也可以。因为要做个sdio或者spi固件实现,fatfs文件系统。usb固件实现。

2)FPGA,一个1K,一个6K左右的逻辑单元,开发软件要求不高,综合和仿真,下载调试。FPGA新手,功能多了学习不过来。仿真和调试要求稍微高些,方便发现问题。

3)考虑带cpu核的FPGA,可以少一块芯片,需要资源同上。

4)mapper FPGA开发板能提供100个pin左右的IO接口。

国产的FPGA哪个适合我呢?

以前没关注,现在国内的FPGA厂商还不少,紫光同创,安路,智多晶,易灵思,高云,京微齐力,AGM(傲格芯)等等等。

由于前几年芯片荒,不知道现在改善了没有,从淘宝查看了一下这些家的开发板,低端的选择其实不是很多,或者根本没有芯片卖。比较合适的是安路,智多晶,高云,AGM。其他的太高端,低端玩家基本没戏。

如果选择带CPU核FPGA的需要关注资料中CPU相关资料是否详细。纯FPGA只要关注开发板资源是否够,开发软件是否方便使用。

智多晶SA5Z-30

小梅哥SA5Z-30开发板

9和15可以使用的GPIO口。一共是78根线。有些不用的接口也可以使用。9原来是准备LCD的,有些接口以及定义为VCC和G,连线的时候需要注意不要使用这些接线。

另外的考虑是这个FPGA带arm m3核,板上带usb-uart接口,spi-sd卡,flash和sram。只要自制一块带2个SRAM(存放PPU和CPU的ROM),3.3v-5v电压转接芯片,就可以进行开发 。

优势:内置Cortex-m3硬核,3万的逻辑单元(太多了?),开发板基本满足最低要求,除了IO口稍微有点少。

劣势:网上SA5Z-30的只有这一种,其他智多晶的低端FPGA也是这种开发板。SA5Z-30太贵了。一片可以买其他好几种芯片了。CPU提供128KB指令RAM和32KB数据RAM,对我的需求来说有点少。

开发资料和开发软件

官网提供了SA5Z-30的数据手册和器件概述文档。从嵌入式开发者角度来说,CPU的支持的外设很少(或者可以说基本没有),需要用户用FPGA去实现?对CPU的描述的文档非常简单,用户如何使用,如何运行代码,配置寄存器(有没有寄存器?)。

淘宝店家小梅哥提供的网上开发资源(这个比官网的多些):

芯路恒资料与技术支持专区 - 芯路恒电子技术论坛 - Powered by Discuz!

 

设计实例有些verilog和m3核的实现实例。M3核的实现中还有ucos的移植代码。具体在芯片上怎么使用可能需要阅读这些代码了,资料还是有点上,对FPGA开发新手来说需要折腾。

官网提供的FPGA开发软件是hqfpga(海麟)。

 简单安装使用了一下,从RTL综合,布线,生产bit stream文件下载调试。基本满足我的要求。

没提供仿真和调试分析(我没具体用过,不知道这些怎么去做,有可能可以用第三方的软件去做)。和国外的Quartus相比还是差距很大,一步一步来吧。

总结

可能能满足我的需求,但开发难度有些大,很多资源接口需要自己去实现。CPU片内资源比较少。

安路EF2L45LG144 FPGA开发板

安路的小精灵系列FPGA,EF2/EF3可以满足要求。淘宝上有EF2的开发板,IO管脚够用,串口转usb,(IO口是3.3v的吗?)。低端开发板的差不多就下面这种,可选余地不是很多。

官网提供芯片资料和软件下载,下载了数据手册,其他应用例程开发指南资料需要注册会员,我注册了会员告诉会员等级不够,还是不能下载。有可能淘宝店家可以提供更多了开发资料。

高云小蜜蜂系列FPGA GW1N

 淘宝上GW1N系列的开发板大部分是邮票板,提供的IO口太少。

官网提供的资料也比较多,在国产FPGA厂商中算不错的,带核的芯片没有开发板,也就没有关注。开发软件Gowin下载了个教育版,正式版需要申请license。教育版支持的芯片大概就几种了。

使用流程国内软件的都差不多,不在详述。

傲格芯(AGM)

AG32VF407(带RISC-V核)

考虑了两个开发板,第一种FPGA带CPU,第二种不带。

官网资料下载提供了数据手册和supra FPGA开发软件。比较少。

另外一个http://www.tcx-micro.com 提供了比较多的开发资料。

因为一开始关注的是AG32VF407(兼容STM32F407?,其实资源比F407要少。),并下载了嵌入式软件开发环境(risv-v),支持VS-code下的Platformio开发环境。具体使用说明见下一篇。

后考虑资源之后,觉得还是纯FPGA比较合适。

1K FPGA选型

低端的1K FPGA开发板很多,IO基本够,选择AGM的就可以。

CPU选型

国产MCU很多,因只要看芯片上的资源信息,很快就决定选择雅特力科技的AT32F403RCT,文档和代码例子也足够。片内提供:256KB flash 和96KB sram(224KB怎么使能?)

外部接口SDIO/SPI/USB

外部可以接四个SRAM或flash(四个片选),比如直接连三个SRAM进行访问。

这篇关于NES(FC) FPGA游戏卡开发笔记(2)---- 开发环境搭建(FPGA/CPU选型篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295343

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联