
本帖最后由 eefishing 于 2019-2-27 23:00 编辑 描述 两个开发板合为为一个:第一个基于STM32的Arduino(“枫叶迷你”兼容)和第二个旋风II FPGA开发板,用来玩VHDL/Verilog。它还兼容“Multicomp”(“Multicomp”是一个模块化的VHDL设计,“运行”一些著名的复古8位CPU由Grant Searle),使选项“运行”容易VHDL SOC与Z80/6809/6502 CPU和I/O,包括高清(在SD)和彩色VDU。) }3 z, h. g: w- Q2 t# y: } 9 @6 R. y( ~! j4 V* u" ~. t! f ) Y/ c1 [" q; X4 K" I 硬件概述0 w1 l6 v& J% v: V 这就是CPLD趣味板的“自然”演变。这个想法是用廉价和容易找到的组件制作FPGA板,用STM32 Arduino作为FPGA的“刺激发生器”或“伴侣”处理器,用512KB的SRAM和通用I/O作为GPIOs, VGA和PS/2键盘来“运行”HDL SOCs。% P3 I7 U, H9 s 更重要的是,它可以选择“运行”轻松地多comp VHDL SOCs具有所需的HW。 Multicomp是一种模块化的VHDL设计,用于“运行”Grant Searle制造的一些著名的复古8位cpu。 ![]() ![]() 这里是PCB的细节。请注意,下图中的PCB具有ENIG表面光洁度。这不是绝对必需的。您可以使用最便宜的HASL表面处理: ![]() PCB留给选择焊接“遗留”的SD插座(如之前的图片)或微型SD插座,如下图所示: ![]() ![]() ; y' T+ b/ ?) ]2 I! l STM32的ARDUINO$ H; x$ L. ^( {6 u6 L* l' \5 u STM32F103C8T6单片机作为FPGA的“刺激发生器”或“伴侣”单片机,通过USB接口使用友好的Arduino IDE轻松编程。 MCU保留了五个按钮(RST, BUT, USER1-USER3)和一个led (PB1)。 还有一个专用的GPIO连接器(GPIO1)。# X+ Z/ k% o0 Z8 q( a1 _ STM32F103单片机的端是“Maple Mini”兼容的,所以可以使用http://www.stm32duino.com提供的STM32F103 Arduino core(更多信息请点击这里)。想了解关于Maple Mini和stm32duino的小故事,请点击这里。# b- w- }, y* f2 ^4 ~2 M7 n9 t/ M 您需要首先使用廉价的“St-Link V2”加密狗通过SWD连接器(或者在串行连接器上使用串行usb适配器)来闪存引导加载程序。 ![]() : d& C+ _% ?- k - v! T/ q6 K: K* M0 s THE CYCLONE II FPGA 为了配置FPGA (EP2C5T144C8N),它使用Quartus II IDE (v13sp1免费版是支持Cyclone II FPGA的最后一个版本)和一个通过JTAG或作为连接器的廉价“USB Blaster”加密狗。 5 [! e8 _& w( I' M& [3 [" _ 要将FPGA配置永久存储到eeprom中,您可以使用AS连接器,也可以使用具有SFL IP核心的JTAG连接器,如本Intel视频中所述。7 }% B+ |' r& J2 f" G0 E! z0 k S7 B ![]() FPGA保留4位7段led显示、4个按钮(USER4-USER7)和4个led (LED1-LED4,前3个为“user”led,最后一个为配置活动指示器)。9 d* m8 @9 v+ X2 p4 A / T! V o7 `; i( Y4 \* R7 m FPGA的一面也有DEV_CLRn按钮来清除所有内部FFs nCONFIG按钮强制配置重载(重启的FPGA),和一个DEV_OE开关强制所有的FPGA别针HiZ(使用DEV_CLRn按钮和DEV_OE开关必须使他们首先在第二第四的IDE)。 7 I. `! _: u, t* ]" x 还提供了机载50MHz振荡器,以及用于外部振荡器的连接器。) E) `5 s- Y8 T7 K: T, l ( g: G, g6 ~; E' h; K1 H$ ^ 有13条I/O线“连接”STM32和FPGA,每条线上都有一个由两个连接器(TEST1和TEST2)组成的引脚。这样就可以很容易地用作用域或LA“观察”它们之间交换的信号。 l/ ?! u. A' \7 i" W+ W' S) E - y+ ]% i! r) u6 E 在这13条I/O线路上,单片机端有各种外设(如串行、I2C、SPI)。 在FPGA端(GPIO2连接器)还有其他22个GPIOs。注意,有些GPIO与VGA、PS/2和SD共享)。: w! C5 A5 c0 S9 R+ ^ 也可以使用Arduino STM32“侧”或FPGA“侧”作为一个独立的开发板,TEST1-TEST2连接器作为普通GPIOs(在HiZ中持有另一个“侧”的插脚)。 7 W. C9 p5 |( L" z! ]5 q$ l0 ?! s * *项目状态* * 1 a/ s$ |+ W' _ 这里必须编写大量文档来解释如何使用它……' |1 Z) D, C! q/ W, A' z9 w$ X$ X- H 我还准备了一些可以运行的“一些”Multicomp示例(包括SD图像)。我可能会用github。 \9 ?2 k7 K Y: o# ~ 如何得到一个PCB* * 像往常一样,我准备了一个“简单”的链接来获得少量(最少5个)PCB。链接是这个。/ H, A' B. {9 r5 H: O 4 {* ], D& j9 T7 I. Q | 5 m9 q& q- i9 R + i4 k/ X0 _! H6 w& G! K+ {) N * *学分和执照* * Multicomp VHDL是基于Grant Searle的原始工作,并以以下许可证发布:1 J0 j9 e& x+ Z% ^ 下载这些文件时,您必须同意以下内容:我们尊重ROM内容的原始版权所有者。使用任何文件的内容在自己的项目中自由是允许的,但任何出版的材料包含全部或部分的任何文件分发,或来源于我在这里所做的工作将包含确认回我自己,格兰特塞尔,回到这个页面的链接。任何发布或分发的包含本页所有或部分文件的文件必须免费提供。”(http://searle.hostei.com/grant/Multicomp/index.html)。6 x6 w' l, G& A% j/ w8 p 所有的项目文件(SW和HW)都是在GPL v3下授权的。0 H' w2 U2 J# K; h. H d 如果您以任何方式使用本材料,请注明作者(本人 ![]() 6 a% Z F2 |& B8 f0 C* {8 O' N6 i * X8 T- u" _7 ? a 原创:Just4Fun 出处:http://hackaday.io/project/163683-the-thing-fpga-stm32/details ) A6 J/ D. M! @4 B6 [( y! d - b% I: d3 S" ~" C! x$ x1 [% ^- y |
学习下 |