FPGA Verilog程序问题,帮忙看看

FPGA Verilog程序问题,帮忙看看,第1张

什么叫延迟100ms生成?你产生的脉冲是100ms周期,10us的脉冲宽度。延迟100ms周期产生的脉冲不还是和没有延迟的一样的么?还是你第一个100ms周期不产生10us脉冲,第二个才产生,所谓的延迟100ms?如果是那样的话,可以加入一个初始值为0的flag控制信号:第一次计数到100ms时flag为1有效;然后当flag有效的时候,10us脉冲才输出,这样第一个周期就延迟了100ms,而没有产生10us脉冲。

process(clki)

begin

if clki'event and clki='1' then

c<=c+1;

if c=25000000 then

o<=not o;

end if;

end if;

end process;

这个分出来的时钟你确定写对了么?c=25000000 时o<=not o;那么不等于25000000时是多少呢?完全影响你的输出

给你一条思路。首先FPGA的特点是易上手,不可能精通。很多搞了十几年的FPGA工程师还不是遇到项目就卡壳。我见过一个华为工作了七年的做FPGA的,项目搞不出来辞职的(现在是我的顶头上司),所以想搞FPGA还得沉得住心,吃得了苦。然后自学就刚开始学语法,学个两周足以,语法实在太简单了。然后开始买开发板,跟着例程跑程序,这个阶段至少掌握整个FPGA开发流程和熟悉软件,尤其是在线调试,建议VIVADO,因为这玩意还是有点复杂的,工作中要是让你调接口你连这软件怎么抓信号都不会那可就尴尬了。至于SOC这些就不要学了,学了也没用,工作中基本上用不到。然后软件熟悉的差不多就开始自己写代码,这个阶段最主要是注意形成自己的代码风格,多看代码多写代码多仿真,要是有实际项目的代码就更好了,学习人家高手的代码风格(建议别用开发板的代码学习,写的太搓了),然后多搜一些异步设计的规范等等资料,等你知道给个你几个时钟你该用哪个时钟写哪个代码的时候开始玩一些实际项目的东西,这个时候开始有选择了,一般FPGA就是两个方向-接口与算法。这个阶段出去找工作吧,剩下的都是工作中才会理解的东西。算法门槛高,我就写过中频采集板的代码,其他的也不懂,接口的话开始按照人家招聘公司的要求学习,一般要求你要懂PCIE,DDR这些高速接口,高速接口无非是IP核例化和控制,看起来难实则也难(不过是工作中难,要是学习这玩意是啥的话还是不那么难的)。FPGA这玩意最忌讳的是手低眼高,也是很多学FPGA最容易犯的错,觉得这玩意就那么一回事。剩下的路就该你自己走了,FPGA是一个相对比较偏的行业,网上资源不太好搜集,信息收集也是一个需要学会的,但一般都是从人家赛家的官网下载的,所以英语底子得扎实。至于数电就不用再看了,本科基础足够了,心中有电路可不是指的是那种触发器堆的电路,而是指的是数据流的传输与时钟布局的大局观以及整个项目的大局观,所以看数电是没用滴。不过对于信号处理的有些基础知识,至少要知道啥是奈奎斯特采样,啥是中频采样,啥是FIR,FFT,DDC,UDC。

clk上升沿时开始执行该进程,判断state的值,根据不同的值进行不同 *** 作。在state是0时:将state赋1,同时led灯的显示。在下一次clk上升沿时又会判断state的值,这次state值已经是1了,就会处理1:begin state<=2这句……

fpga实现逻辑功能就是通过lut来的,lut最重要的部分就是RAM,用来保存你的设计转换成的真值表。比如你有4个输入,那么这4个输入产生的组合逻辑结果最多也就是2的4次方16种结果,fpga把这个16种结果分别对应4个输入地址,输入产生一个4位地址,就在RAM里面找到对应的结果,从而输出相应的结果。

你的理解基本正确,用于lut的RAM不是在一起的,而是分布式的。另外有一块大的RAM用于系统设计的。

这些ram里面的数据掉电后都会丢失,这也是fpga和cpld的区别,FPGA每次上电都要从外部的flash或者在线下载bit流到 内部的RAM里面去。

呵呵,不需要这么麻烦,烧结前就已经知道大小了。在你生成bit或bin文件时,有一个压缩选项,如果不压缩,那么生成的bit文件就是一个固定值,也就是在配置芯片中的需要的最大容量。而选择压缩,就是实际生成的容量。其实,这个值(最大)一般在datasheet下就可以看到,只要保证配置芯片大于该容量就OK了。

另外,MCS文件是可以看,但没必要去查,除非你需要查看里面的编译信息,而且‘00’去数下。。。哈哈。。。你试试,估计会疯的。

以上就是关于FPGA Verilog程序问题,帮忙看看全部的内容,包括:FPGA Verilog程序问题,帮忙看看、FPGA程序,帮忙看一下这个程序哪里错了为什么我得数码管总是从从0到F.。而且时间也超过1S,我的晶振是50M、FPGA如何入门,看了Xilinx开发教程还是觉得很吃力等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10125561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存