|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 dodoee 于 2010-1-7 22:12 编辑
Malogic读做My Logic ,可以解释为魔法逻辑,Malgic Logic 的缩写,也可理解为我的逻辑 My Logic。
Malogic开发板是一款针对ASIC设计和FPGA开发的入门级开发板,虽说是入门级的,但是里面还是有很多东西需要初学者认真的对待。
可以在Malogic开发板上做些什么?
1、
对中小型数字IC和数字ASIC的验证和测试
2、
直接开发FPGA产品或者FPGA功能模块
学习此开发板之前需要掌握以下内容:
1、掌握模拟电子,数字电子,等等的电子类基础知识,看得懂电路原理图
2、熟练掌握51单片机的c语言编程和应用
3、熟练掌握verilog 语言,最好多分析一下别人的代码
对于初学者应该从最简单的学起,在开发板出来之前,初学者可以先看看UART ,SPI的协议和I2C的协议,对于ASIC设计者来说,对协议理解越深刻,设计的ASIC越接近于协议制定者的初衷。这3个是可以此开发板直接开发的相对较简单的实验。至于什么流水灯,蜂鸣器等等的东西在此开发板上就没有必要了,一个数字钟就都概括了。
为什么要用单片机?这里的单片机是用来控制我们开发的ASIC的,大多数ASIC都需要一个控制器来对它进行操作,初始化,配置,读写数据== 的操作,这里就用最简单的单片机来做这个控制器,开发板上单片机是可以在线仿真的,可设置断点。
我的教程主要是教会初学者,怎么样和用什么工具开发ASIC,一个列子讲解了所有的开发工具的使用和ASIC开发的流程。还有verilog 的状态机的编写==的一些技巧。提供我工作3年多来收集的大量的数字IC设计的资料。提供一个数字钟(开发板上有硬件led,可直接看到结果)和一个全速的USB IP(在板子上调试通过的) 的源代码,不会给用户提供太多的调试好的可用的IP,调试好的可用的IP 就可以卖钱了。
QQ群1:69952830 群2:16074186
板子预计在春节过后发售
以下内容仅做参考,最终的开发板可能与此有所不同(可能会改)
Malogic 开发板的FPGA主芯片是xilinx spartan 3系列的XC3S400 pq208,相当于40万系统门。首先介绍一下本开发板上可以直接开发的ASIC有些哪些,这主要决定于开发板上板载硬件,除了单片机和XC3S400板载的主要芯片和接口有:
1.PDIUSBP11A芯片:符合USB1.1协议的收发器,可以在此开发板上直接开发符合usb1.1 协议的usb(主机或者设备) 控制器。 在此开发板中的作用是将FPGA端口上的的DP,DM 信号以标准的电平和驱动能力发送到usb总线上,或者把从usb 总线上接收到的信号发送给FPGA . 主要作用是保证发送到usb 总线上的信号稳定。
2. cy7c68000芯片:符合usb2.0 UTMI 接口的收发器,因为usb2.0 的速度是480Mbit/S,在usb总线上的位时间(串行)就只有2ns ,因为本FPGA上的端口的转换速率达不到这么快,所以这个收发器的作用就是把FPGA的8(或者16) 位并行数据按UTMI接口转换成符合usb2.0的串行数据发送到usb总先上,或者把从总线上接受到的数据按UTMI接口转换成8(或者16)位并行数据送给FPGA.
注: PDIUSBP11A和cy7c68000 可以分别和FPGA构成usb1.1或者usb2.0设备控制器,加上板载的1G byte 的nand flash, 可以构成U盘,连接电脑可以验证你开发的的usb1.1和usb2.0 的控制器是否正确,当然你还要开发nand flash 控制器,这些都用verilog 实现,然后下载到FPGA中。
3.AT24C64A 芯片:I2C接口的eeprom,此芯片用来验证我们开发的I2C主机控制器是否正确。通过单片机对I2C主机控制操作,对AT24C64A 进行读写实验。
4.SD 卡插座: 可以直接开发SD卡控制器,插入一张好的SD卡来验证你开发的SD卡控制器是否正确。可以和usb2.0 控制器一起构成usb2.0 的SD卡读卡器。
5.Cy7c68013 芯片(56脚):这个芯片的slave fifo 方式的16为数据线和其他控制线直接链接到FPGA, 可以实现68013的slave fifo 方式的数据传输的开发。这里FPGA实现的功能就是和68013 的slave fifo 接口的链接(比如数据采集后通过FPGA 写入68013后传到电脑,或者从电脑传数据到68013,再通过FPGA输出到其他设备)。 68013其他的所有引脚都已引出,方便用户做其他开发。
6.UART串口和SPI 接口:本开发板上没有UART 接口,串口只用到两根线,我觉得在开发板上加一个UART接口,会增加大家学习的成本,就像本开发板上自带的串口单片机仿真线那样,直接接在板子上的max3232的引脚上,max3232和FPGA是连接的,max3232用来做电平转换,这样就可以验证你开发的串口的功能了。SPI也一样。这些接口的速率不是很高,直接接FPGA引脚完全没有问题。
7. MaLgic开发板上FPGA剩余的40个引脚全部引出,MaLgic开发板是ASIC开发入门级的开发板,所以这里没有涉及视频处理所需要的SDRAM,本来用xc3s400 做视频处理资源会很紧张,速度可能也不够快,开发板上的这个40个引脚完全够接视频输入(saa7113),或者视频输出(lcd,vga等),只能做视频的采集,输出或者是简单的转换处理(比如把saa7113出来yuv格式的视频转换成lcd,或者vga格式的视频输出,其实这也是一个小的ASIC)。
MaLgic开发板有专用的视频采集(saa7113可采集av接口和s端子视频)和视频输出(LCD,VGA)的小板,用户可以选择。 |
|