摘要: 首先介绍下AS、PS、JTAG三种模式的区别。AS模式: 烧到FPGA的配置芯片里保存的,FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程,该方法适用于不需要经常升级的场合;PS模式:EPCS作为控制器件,把FPGA当... 阅读全文
posted @ 2013-12-31 16:11 aikimi7 阅读(13698) 评论(0) 推荐(1) 编辑
摘要: 1. 规范很重要 工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎是不可实现的。逻辑设计也是这样:如果不按规范做的话,过一个月后调试时发现有错,回头再看自己写的代码,估计很多信号功能都忘了,更不要说检错了;如果一个项目做了一半一个人走了,接班的估计得从头开始设计;如果需要在原来的版本基础上增加新功能,很可能也得从头来过,很难做到设计的... 阅读全文
posted @ 2013-12-29 15:44 aikimi7 阅读(1107) 评论(0) 推荐(1) 编辑
摘要: 在实际工作中,经常会遇到这样的情况:在硬件调试中采用SignalTap II反复多次编译并最终捕获到问题的原因时,才会发现,原来这个问题是逻辑问题,是可以在仿真环境下发现并快速解决的。先前没能从仿真中发现这个问题,要么是因为尚未或难以创建对应的测试向量,要么是因为仿真环境下的测试向量与真实环境下的测试条件存在微小的差异。对于设计工程师来说,由于缺乏相应的技术能力、开发时间,甚至是耐心,我... 阅读全文
posted @ 2013-12-29 15:26 aikimi7 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 学习逻辑设计首先要有项目挂靠,如果你觉得未来一段时间你都不可能有的话,接下来的内容你就没有必要再看了,花的时间再多也只能学到皮毛--很多细节的问题光写代码是发现不到的。而且要真正入门,最好要多做几个项目(这三年大大小小的项目我做有七八个),总线型的和数字信号处理型的最好都要接触一些,因为这两个方向的逻辑设计差异比较大:前者主要是控制型的,会涉及到状态机等控制逻辑;后者主要是计算型的,难点主要在对符号、浮点数转定点数、位宽等方面的处理上。 第二要有好的师父。这里说的好的师父并不是指画原理图画了几十年的老师傅,而是指曾在专业IC公司做过一段时间的人,好的专业IC公司可以接触国内外最新的设计思想,. 阅读全文
posted @ 2013-12-11 21:24 aikimi7 阅读(431) 评论(0) 推荐(0) 编辑
摘要: (1)单口RAM 1.无读使能rden信号的ModelSim功能仿真: 在不使用读使能rden信号的情况下,单口RAM仿真结果表明: 1.写使能wren为高时,写数据操作有效; 2.写使能wren为低时,读数据操作有效; 3.写有效(高)时,输出端q输出为刚写入的数据; 4.一般选择输出寄存一拍。 2.有读使能rden信号的ModelSim功能仿真: 在使用读使能... 阅读全文
posted @ 2013-12-04 21:42 aikimi7 阅读(3571) 评论(0) 推荐(0) 编辑
摘要: 1.MCU启动FPGA相应功能模块 通过译码器选择相应的功能模块,调用实现功能。2.MCU与FPGA串口通信 SPI协议简单、可靠、易实现,速度快,推荐使用SPI。SPI为四线机制,包含MOSI、MISO、SCK、SSEL。(SPI协议:http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus;FPGA实现详见http://www.fpga4fun.com/SPI.html)。可参考《AVR单片机与CPLD_FPGA综合应用入门》第四章“单片机与FPGA之间的通信”。传输命令字或少量数据完成MCU与FPGA的串口通信。3.MC.. 阅读全文
posted @ 2013-12-04 10:31 aikimi7 阅读(2151) 评论(0) 推荐(0) 编辑
摘要: 1.概述Debussy是NOVAS Software, Inc ( 思源科技 )发展的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是:能够在HDL source code、schematic diagram、waveform、state bu... 阅读全文
posted @ 2013-10-08 15:45 aikimi7 阅读(9120) 评论(1) 推荐(1) 编辑
摘要: 在使用ModelSim时,我们一般都是从界面UI进行操作的,这样也比较直观易学。但是在很多的调试时,发现很多操作都是重复的,修改一下代码就要再次进行相关操作,这样很没有效率。其实,ModelSim是可以进行TCL命令行操作的,在界面的每一次操作,在命令窗口都有相对应的命令。一、do文件编写在这里,我们是通过do文件来完成这个仿真过程。do文件中包括你所需要完成操作的命令,直接在命令窗口中运行该文件即可,省去了重复劳动。下面我们以实例讲一下do文件的编写。1、编写好源文件。包括sram_controller.v和它的Testbench文件sram_controller_tb.v 2、编写.do文 阅读全文
posted @ 2013-10-06 21:11 aikimi7 阅读(3812) 评论(0) 推荐(3) 编辑
摘要: 为了完成SAA7111A的初始化,FPGA需要完成I2C控制器的设计。 之前本科的时候初步接触过I2C,但是编写一个Verilog的控制器还是觉得有点难度的。说实话,那时候都无从下手,对实现这样一个协议完全没有思路。后来发现夏宇闻教授的那本经典教材上有关于I2C协议的内容,如获至宝的感觉。书中介绍的是EEPROM的读写控制,但这没有影响,学习了书上的代码,这时心里就有数了。然后参考师兄的代码(原... 阅读全文
posted @ 2013-10-05 17:01 aikimi7 阅读(896) 评论(2) 推荐(0) 编辑
摘要: 手头接手的项目是利用FPGA进行图像的采集、存储、处理和传输。项目接手有近一年了,现在回过头来总结下。 存储采用了外部的SRAM。一开始就按自己的思路设计SRAM读写控制器,中间采用过黑金推荐的仿顺序操作实现控制,这方法挺好理解,接近于状态机。但是后来发现,这个方法不是很好,网上和师兄都不推荐,个人也觉得是作者的一种状态机风格,并不一定适合自己。所以,后来开始接触状态机。状态机的学习走了很多弯路,自己参考了《设计与验证》这本书中“如何写好状态机”这一章、Clifford E. Cummings(他网站上的文章可以好好拜读下http://www.sunburst-design.com/pape. 阅读全文
posted @ 2013-10-05 16:09 aikimi7 阅读(736) 评论(0) 推荐(0) 编辑