摘要: 1.多个always语句不能对同一变量赋值。 2.assign语句只能进行阻塞赋值,用来描述组合逻辑。3.verilog描述方式:结构描述(门级描述和模块调用)、数据流描述(assign,wire型)、行为描述(initial、always,reg型)。4.数据流描述根据信号(变量)之间的逻辑关系,... 阅读全文
posted @ 2013-10-05 15:39 aikimi7 阅读(2876) 评论(0) 推荐(0) 编辑
摘要: Fanout,即扇出,指模块直接调用的下级模块的个数,如果这个数值过大的话,在FPGA直接表现为net delay较大,不利于时序收敛。因此,在写代码时应尽量避免高扇出的情况。但是,在某些特殊情况下,受到整体结构设计的需要或者无法修改代码的限制,则需要通过其它优化手段解决高扇出带来的问题。以下就介绍 阅读全文
posted @ 2016-10-10 14:55 aikimi7 阅读(7762) 评论(0) 推荐(0) 编辑
摘要: 1. 算法介绍CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数、双曲线、指数、对数的计算。该算法通过基本的加和移位运算代替乘法运算,使得矢量的旋转和定向的计算不再需要三角... 阅读全文
posted @ 2014-08-22 15:46 aikimi7 阅读(17489) 评论(3) 推荐(2) 编辑
摘要: VGA控制器的编写主要是了解VGA的显示标准和时序,如1024X768@60Hz,确定时钟频率(65MHz=1344X806X60),列像素时间等于时钟周期,扫描从左到右、从上到下(类似于电视扫描PAL)。除有效时间外,一行还有同步脉冲时间、后肩和前肩。(http://tinyvga.com/vga... 阅读全文
posted @ 2014-08-15 16:55 aikimi7 阅读(866) 评论(0) 推荐(0) 编辑
摘要: 项目之前研究了I2C通信协议的实现,完成FPGA对视频解码芯片SAA7111A的初始化配置,设计实现了I2C主机对从机(SAA7111A)32个寄存器的写操作,因此只简单实现了I2C的写时序。这次重新梳理学习了I2C协议,借助黑金开发板设计I2C主机控制器完成对EEPROM(24LC02)的读写操作... 阅读全文
posted @ 2014-08-11 17:32 aikimi7 阅读(993) 评论(0) 推荐(0) 编辑
摘要: RS232串口经常使用在PC机与FPGA通信中,用于两者之间的数据传输,因为UART协议简单、易实现,故经常使用。DB9接口只需要使用3根线,RXD(2)、TXD(3)和GND(5),如下图所示。而用FPGA实现控制器时只需要利用RXD和TXD两根线即可完成串口通信。UART的异步通信协议如下所示:... 阅读全文
posted @ 2014-08-11 10:23 aikimi7 阅读(2296) 评论(0) 推荐(0) 编辑
摘要: 1. 基本时钟约束:creat_clock 2. 生成时钟约束:creat_generated_clock 3. I/O输入输出约束:(1)纯组合逻辑:set_max_delay & set_min_delay(2)时序逻辑:同步I/O接口:set_input_delay & set_output_delay;源同步接口:数据和时钟来自同一个主设备,可以简化(2)中的公式。 双向口时序约束:... 阅读全文
posted @ 2014-01-09 10:37 aikimi7 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 1. 多级触发 有时候我们可能需要利用多个信号(最多10个)依次触发后,观察特定的值。这这时候我们可以增加触发条件来满足我们的需求。 多个触发信号如上图所示,只有依次发生SW[0]上升沿、 SW[1]上升沿、SW[2]上升沿和SW[3]上升沿后,才会抓取得到信号。 2. 高级触发条件 有时候我们的触发条件不能简单的高低电平或者上升沿、下降沿,可能是多个信号的逻辑电路,这时候需要... 阅读全文
posted @ 2014-01-08 21:11 aikimi7 阅读(2684) 评论(0) 推荐(0) 编辑
摘要: LDO(低压差线性稳压器),FPGA需要3.3V、2.5V和1.2V,可选用凌力尔特LINEAR:LT1083/84/85,低压差正压可调稳压器。应用电路如图所示:输入端加10UF电解电容,输出端加10UF胆电容。基本可调稳压器电路图如上图所示,通过改变R1、R2阻值输出需要的电压值,由于Iadj很小,计算时可以忽略不计。故等式变为: ,其中,Vref=1.25V。电路板电源设计如下图所示:3.3V:R1=100Ω,R2=162Ω2.5V:R1=R2=100Ω1.2V:ADJ直接接地,1.25V≈1.2V疑问:1.输出端接了0.1uf和0.01uf去耦电容? 2.磁珠使用和VCCD、VCCA, 阅读全文
posted @ 2014-01-08 16:02 aikimi7 阅读(654) 评论(0) 推荐(0) 编辑
摘要: 1. 硬件平台具有远程更新功能。远程服务器可以通过以太网下载ARM程序,也可以同过ARM对FPGA固件进行更新。2. 利用MCU或者CPLD配置FPGA,存储不同的配置文件,通过接收命令,选择不同的地址,使需要的配置文件下载到FPGA中。3. 关于Cyclone III系列芯片,具有非压缩配置数据(Decompression)和远程系统更新(Remote System Update)特性。4. FPGA电源设计: PLL:2.5V,CORE:1.2V,I/O:3.3V 早期功耗评估:Quartus II PowerPlay 电源芯片选择:LINEAR:LT1083/84/85,或者TI(N.. 阅读全文
posted @ 2014-01-02 10:59 aikimi7 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 系统设计者会遇到较短的设计周期、标准发展和系统调度的挑战,飓风III系列支持远程系统更新,通过其固有的重编程功能和专有电路来克服以上问题。远程系统更新帮助传递系统性能增强和bug修复,避免了昂贵的召回,缩短了产品投产时间,延长了产品生命周期。 Cyclone III系列芯片内置专用远程系统更新电路,这是Cyclone III系列芯片特有的,帮助避免系统下载时间。器件中实现的软逻辑(Nios II... 阅读全文
posted @ 2014-01-02 09:24 aikimi7 阅读(469) 评论(0) 推荐(0) 编辑