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

2019-07-15 22:20发布

才开始学习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不??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
黑桃ACE
1楼-- · 2019-07-16 17:53
Verilog里面的语句你看起来是顺序执行的,实际上还是并行的,建议你看下这个帖子:http://blog.csdn.net/k331922164/article/details/44626989
單眼皮
2楼-- · 2019-07-16 20:11
 精彩回答 2  元偷偷看……
做一个文艺的男子
3楼-- · 2019-07-16 21:12
always块里的变量是reg型的,而assign赋值的变量是线型的

一周热门 更多>