特权同学

细节决定成败

提高代码健壮性

早期在写代码的时候,常常过分的追求速度和资源,却往往无法顾及到代码的稳定和可靠(即所谓的健壮性)。先拿下面这个简单的计数器代码说事。reg[9:0]x_cnt;//x坐标计数器always@(posedgeclkornegedgerst_n)if(!rst_n)x_cnt<=10d0;&nb

PLL专用输出管脚带来的反思

这个视频采集的项目FPGA原型设计上还真是难不倒我,只不过硬件管脚分配上的粗心大意让我吃尽了苦头。掐指算算从5.1加班时拿到PCB,到今天也不到两周,已经排除基本故障,把AV视频信号像模像样的显示在了液晶屏上,只不过还有一些美中不足的BUG还需要下一阶段花上未知个

项目日志7——板级调试

前期工作可以说做得蛮充分的,毕竟不是一个太具有挑战性的项目,一些简单的逻辑粘合、译码控制甚至液晶的时序实现以及一些数据流的控制都不算太有难度。写这篇文章只是为整个项目日志系列博文做个完美的终结。再加上板级调试本身肯定会遇到很多意想不到的这样那样的问题

都是IO弱上拉惹的祸

开发的一款液晶驱动器,接收MCU过来的指令和数据进行图像显示。使用了一片可编程(带使能和PWM调节控制)的背光芯片。在CPLD设计中,上电复位状态将背光使能拉低(关闭),直到MCU端发送开显示指令后才会将背光使能拉高(开启)。遇到的问题是这样,一上电原本背

永远忠于年轻时的梦想

本来我也不知道最后的两课该以怎样的方式来讲,也不是很确定什么时候能够静下心来录。最近遇到了很多事,开心的不开心的,其实也无所谓开心和不开心,因为我的心情还是很平静的,不论是哪一方面。但是今天我算是闲下来了,我就决定要好好把最后两课录完,好给大家一个交

项目日志6——LCD仿真方案

虽然各式各样的LCD玩过还是蛮多的,不过在仿真的时候还真没有什么好的思路,基本上都是通过查看波形。先随便找个lcd_clk的前后比对一下,看看数据的建立保持时间是否处于比较充裕的范围。然后从行计数、列计数器上看看一些控制信号是否满足要求,再就是模拟的数据和相应

项目日志3——AD调试(在线调试)

上一篇博文提到了简单的AD板级调试方法,主要的方法是通过内部设计一个串口通信模块,将采样到的AD数据发送到PC机进行观察验证。之所以采样这样的方式和特权同学过去的设计使用的器件都相对比较老(军品较多),而无法支持开发工具提供的各种先进的嵌入式调试手段有关,

项目日志2——AD调试

先说一些题外话,通常来说,一个规范的FPGA工程设计都会遵循一套固有的流程,但并不是所有的工程都从始至终一层不变的围着一个所谓的固定的流程走。对于所有的设计,特权同学也都会大致按照下面的步骤进行:分析需求à划分模块à设计输入à功能仿真&a

项目日志1——整体划分

特权同学最近在做一个测控设备的项目,因为接口比较多,但协议不复杂,所以主要用FPGA全部搞定。在今后的一些《项目日志》里,不会过多的讨论项目本身的一些细节,只是从大处来分享工作的思路。诸如模块划分,模块细分,设计可验证的考虑,调试的方式,以及详细设计中碰

硬件电路设计的灵活性

PQFP焊接的一点教训

这个惨案发生在2010年的第一天,由于特权同学一早准备到朋友家造访,但是心里还是蛮惦记着前一天拿到手的新板子,所以起了个早准备先动手焊接几个主要的芯片。也许由于心急,也许由于太长时间不动烙铁了——

探秘JTAG

在边界扫描模式下(Boundary-ScanMode),ISE的iMPACT是如何把后缀为.bit的配置信息传输到FPGA器件中呢?先引用两段ISEHelp中相关概念的描述,让大家对bitstream和.bit这两个基本概念理解得更透彻一些。bitstreamAbitstreamisastreamofdatathatcontai

近期FPGA测试问题小结

前一阵子做了两个FPGA工程的测试任务,做完了代码走读和功能仿真。发现了不少的问题,从问题报告里找了几条比较具有代表性的问题,有些问题确实很低级,但是不得不老调重弹。因为这些问题对于很多设计者来说都是共性的。希望列出来能给他人有一些的警示。1.

EDA工具的工程备份管理