微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 新手关于FPGA的一些问题请教,麻烦大家解答一下

新手关于FPGA的一些问题请教,麻烦大家解答一下

时间:10-02 整理:3721RD 点击:
才开始学习FPGA。在学习过程中,发现一些问题,希望有人可以解答一下。(原本一直是用C写单片机,arm这些的)。
问题都是新手的。希望多听听大家的意见。好好了解下。谢谢了
(1)为什么我看的hello fpga。里面一直强调把组合逻辑和时序分开来写。除了更好和硬件电路联想,还有什么还好处吗?我感觉程序的可读性好差变得。
(2)我看很多程序里面。特权还是hello fpga中。很多赋值都是这么赋值的(大概举个例子)
                         always @(~~~~~)
                              cnt_r <= cnt_r +1;
                          assign cnt = cnt_r;
没想通为什么cnt不直接在always里面+1.。他们都一定要一个中间量cnt_r。在连线起来。.非常多的地方都这么用的。可以解释下吗?
(3)说的begin end 是顺序执行,fork join是并行。但begin end中用非阻塞试赋值。不也算并行吗?有什么差别吗?
(4)在自己试验的时候,想到如果我的布线特别长,我的PLL出来的CLK最后的导致的延时,应该很严重了吧。不能忽视了。如果我想解决这个问题。怎么办?在线中间在加个一样的PLL出来?
(4)有人用过PCI核吗?那个核是可以直接和外部的PCI接口连接了吗?不需要转换芯片?还是他只是控制像PXL9054这些芯片的核?看了半天没看懂。以前一直是用PXL9054的。
        还有PCIE的驱动代码兼容CPCI不?

FPGA 一直想学可是没有时间。有机会一起交流一下~

可以啊。非常高兴。才开始学。超级希望有人可以一起交流。QQ53299621

不了解  围观一下              

皮毛看法欢迎指正。
首先你要转换一下思路,verilog是硬件描述语言,不是程序代码那种一条一条执行的。它是描述你电路长啥样的。
你的(2)问题,verilog一行语句可是要代表一块实际的电路的,再大神点的看见一句话就知道电路啥样了,而你说的都放到always里绝对是c语言的想法,实际中不会有那样的电路的。(4)的问题,如果延时之类的需要考虑的话,一般会做timequest,之后综合的时候,会根据你的约束尽力使得延时满足你的要求,如果达不到,可以用你说的办法。我也刚学,还不太懂。

问得好,我也不懂,围观

非常。感谢。就是硬件描述语言。我思路还是转换不过来。写C习惯了。大概有点感觉了。

Verilog里面的语句你看起来是顺序执行的,实际上还是并行的,建议你看下这个帖子:http://blog.csdn.net/k331922164/article/details/44626989

谢谢了。很有用的帖子。才发现要学的好多。

always块里的变量是reg型的,而assign赋值的变量是线型的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top