- 博客(6)
- 收藏
- 关注
原创 每天一点Verilog,《高级FPGA设计》学习笔记:for 语句怎么用?
<br />类似C的环路结构如for-loop可能对学过C语言的人存在陷阱。其原因是在硬件语言中并没有隐含的寄存器这个条件,所以一般这些环路不可以在可综合代码中用来做算法迭代。在Verilog中,for循环一般用作输入多次有一定规律的赋值语句,以提高设计效率。<br /> <br />软件设计者可能利用for循环获得X的N次幂,代码可能是这样写的:<br />PowerX = 1 ;<br />for( i=0; i<N; i++ ) PowerX = PowerX * X ;<br /> <br />这
2011-03-06 13:12:00
20057
原创 每天一点Verilog,《高级FPGA设计》学习笔记:综合编码3
<br />先贴出两段看起来差不多的代码,大家可以想一想,哪个是不好的风格,为什么?<br /> <br />代码1:<br /> <br />module test(<br />output reg odat,<br />input clk,<br />input idat1,idat2,ictrl1,ictrl2<br />);<br /> <br />always @ (posedge clk)<br />begin<br />if(ictrl2) odat <= idat2 ;<br />if(ic
2011-02-22 22:47:00
1502
原创 每天一点Verilog,《高级FPGA设计》学习笔记:综合编码2
<br />当判决树有特权编码时应该利用if/else结构。<br />另一方面,case结构常常利用在所有条件互不相容的情况。为了在verilog中实现完全相同的功能,一个case语句可以利用。<br /> <br /> case(1)<br /> ctrl[0]: rout<=in[0];<br /> ctrl[1]: rout<=in[1];<br /> ctrl[2]: rout<=in[2];<br /> ctrl[3]: rout<=
2011-02-20 14:42:00
1515
原创 每天一点Verilog,《高级FPGA设计》学习笔记:综合编码
判决树:在FPGA设计中,把一系列用来决定逻辑应该采取什么动作的条件称作一个判决树。通常,用if/else或者case实现。举一个写寄存器的例子:module wr_reg(output regrout,input clk,input [3:0]in,input [3:0]ctrl);always @(posedge clk)beginif ( ctrl[0] ) routelse if(ctrl[1]) routelse if(ctrl[2]) routelse
2011-02-19 21:16:00
1126
原创 这周工作总结
<br /> <br />这周的工作主要是完成方案改变后对代码的改写,以及详细设计文档的更新,还有对综合工具综合后产生的告警的处理。从最开始的1588个warning收敛到18个,而且最后确认了这些warning都没有问题。从中学到了不少warning的处理方法,也认识到有些warning的危害是不可小视的,常常就是他们导致了最终的逻辑和你预期不一样,比如pruning和optimizing这两个字就是尤其要注意的。下周的主要工作是将单元测试做完,加油!
2010-11-28 22:49:00
493
原创 初来乍到
<br />开这个博客时的心情是充满憧憬又有些失望,憧憬的是也许这里会是展示自己的舞台,失望的是这里硬件描述语言(HDL)不是主流。会有多少人对我写的东西感兴趣呢?<br /> <br />今后,我会把一些与FPGA开发相关的技术总结和感悟记录在这里,欢迎朋友们一起交流,指正。
2010-11-28 11:06:00
363
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人