老曦子博客

记录我学习生活的小博客(FPGA/SOPC)

FPGA工作原理

一.查找表(Look-Up-Table)的原理与结构

采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。

查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。 目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

...

FPGA开发环境

这类软件都是由PLD/FPGA芯片厂家提供,基本都可以完成所有的设计输入(原理图或HDL),仿真,综合,布线,下载等工作。

 

[扫盲]FPGA是什么?

FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有:
...

千兆以太网 GMii

又好久没有更新博客了,最近一直忙着做dvi信号的千兆以太网传输。dvi信号的确是挺简单的,GMii也不是很难,关键的问题在于数据的处理。我的工作是要把24位的dvi信号变成8位,然后经过切割得到上位机指定的部分之后通过以太网发送到接收卡,接收卡接到以太网的8位dvi信号再将它还原成24位,供给扫描电路。

[学习记录]Quartus错误大全【转载】

1 Warning: VHDL Process Statement warning at random.vhd(18): signal reset is in statement, but is not in sensitivity list----没把singal放到process()中2 Warning: Found pins ing as undefined clocks and/or memory enablesInfo: Assuming node CLK is an undefined clock-=-----可能是说设计中产生的触发器没有使能端

推荐阅读:Embedded Design Handbook

Embedded Design Handbook是Altera新出的一本手册,推荐大家仔细阅读。

其实学习Altera的东西,还是看官方的手册帮助最大,除了这本新的Embedded Design Handbook外,Altera还有五本手册,建议大家多看看,会有很大收获的。

然后在说一下初学者都十分感兴趣的“中文教程”问题。

我在刚刚接触的时候也是不断在google上面寻找中文的学习资料,可是找来找去有价值的东西一点都没有找到。

只有硬着头皮去看官方的英文版手册,看来看去觉得并不是想象中的那样难,开始借助翻译软件,当看过100页之后,翻译软件的使用率便下降了好多。

再继续看下去,发现几乎不怎么使用翻译软件了。

根据我的经验,建议大家还是不要惧怕英文,英文其实没有什么,只要去看,去理解,很短时间就可以像中文一样阅读。

[FPGA][SOPC]终于把DDR SDRAM搞定了!

搞的头疼的东西。

在sopc里面定制之后还要在Quartus里面做修改才能用的,Fitter的时候,把双向口给Pass了~

要把dq、dqm放到Output Enable Group,我也是照着人家的方法放了,可是怎么也放不进去,不得已问问无双大哥,他说他也没有搞过这个东东。

还是板子自带程序救了我,我看到里面有个值“1595582037”不知道是什么东西哎~不过我照葫芦画瓢,也添上去了,结果通过Fitter了~

问题是解决了,可是这个“1595582037”到底是什么东西呢?找了这么多天的资料,都没有找到相关信息~

看来,玩这东西,得靠自己了。。。 。。。

Quartus 仿真DDR SDRAM时Fitter报错

Error: altmemphy pin placement was unsuccessful
    Error: The DQ group with DQS pin "mem_dqs_to_and_from_the_altmemddr[1]" has invalid DQ group assignments
        Error: The "2.5 V" I/O standard and/or the "8mA" current strength on the pin "mem_dm_from_the_altmemddr[1]" is not supported for DDR/DDR2 external memory interfaces
            Info: The combination of the I/O standard "SSTL-2 Class I" and the current strength "8mA" is a supported setting
            Info: The combination of the I/O standard "SSTL-2 Class I" and the current strength "12mA" is a supported setting
            Info: The combination of the I/O standard "SSTL-2 Class II" and the current strength "16mA" is a supported setting

            ………………………………………………

 

Error: Can't fit design in device

芯片是Cyclone3的,什么原因很费解啊~

SOPC部分应该没有什么问题,管脚分配完全按照手册上面,真是奇怪了。。。 。。。

[FPGA][SOPC]永远不要相信硬件电路

前面提到的PLL无输出问题终于得到解决了。

原因真的不是配置问题,而是硬件电路问题。

分别观察了无数次PLL的输出引脚,结果一无所获。所以从头检查硬件电路。

先是直接连接输出时钟,看看是否引脚虚焊,结果输出还是正常,那就是真正的PLL不工作了。

查资料得到,PLL工作电压为1.2V,是由一片LM2678供电,检查LM2678,结果浮出水面。

LM2678上面电压不对。

断开FPGA与LM2678的连接,测得LM2678正常。

原因很清楚了,不是板子短路,就是FPGA坏掉。

现在正在看板子的原理图,再查查,要是FPGA坏掉就麻烦了。

FPGA自带的PLL无输出问题

FPGA自带的PLL可能出现无输出问题。

开始用PLL的输出给SDRAM ,发现SDRAM无反应,以为是引脚或者是配置问题,查找好久,无果。

后来用示波器观察SDRAM根本没有时钟输入,才发现是PLL问题,查找原因,网络有高人说是因为输出电流过大导致PLL不稳定,遂将输出电流限制,方法如下:

“添加IO口输出电流约束:
assignment - assignment editor - logic option - 添加 节点名;  assigment name 是 current strength;在下拉菜单里面选8mA
实在找不到的话,去帮助文件里面查查吧。”

原文地址:http://www.edacn.net/bbs/viewthread.php?tid=93473&extra=page%3D1%26amp%3Bfilter%3Ddigest&page=1

结果仍然没有任何变化,PLL仍然没有输出。

做最小PLL系统试验,整个FPGA只有一个PLL组成,输出两路,输入系统时钟,通过示波器观察,问题仍然存在。

困惑困惑。。。

等搞定再来此记录。

FPGA 的一种配置方案

这个是最常用的配置方案,分别配有AS模式和JTAG模式。既可以在线调试又可以AS下载。

线路图如下:

如有问题欢迎留言。

未命名

分页:[«]1[»]

Powered By Z-Blog 1.8 Spirit Build 80722

Laoxizi's Blog FPGA/SOPC 文章转载请联系作者