【黑金原创教程】【Verilog那些事儿-驱动篇I 】连载导读
分类:
其他好文 时间:
2014-05-29 01:05:40
阅读次数:
531
【黑金原创教程】【Verilog那些事儿-驱动篇I 】【实验一】流水灯模块
分类:
其他好文 时间:
2014-05-28 22:52:47
阅读次数:
346
循环冗余校验码(CRC)的基本原理是:
将被处理的报文比特序列当做一个二进制多项式A(x)的系数,(任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111),该系数乘以2^n(n为生成多项式g(x)中x的最高次幂)以后再除以发送方和...
分类:
其他好文 时间:
2014-05-25 00:42:41
阅读次数:
548
1、有意义且有效的名字。2、同一信号在不同层次应该保持一致。3、添加有意义的后缀,使信号的有效性更加明确。4、模块输出寄存器化,使得输出的驱动强度和输入延时是可以预测的。5、使用括号表明优先级。6、每一个if都应该有一个else。如果esle没有任何相应的动作,则用一条空语句。(if。。esle可能...
分类:
其他好文 时间:
2014-05-17 18:28:13
阅读次数:
311
verilog设计进阶 时间:2014年5月6日星期二 主要收获: 1. 阻塞赋值与非阻塞赋值; 2.
代码测试; 3. 组合逻辑电路和时序逻辑电路。 阻塞赋值与非阻塞赋值: 1. 阻塞赋值"="(组合逻辑电路),非阻塞赋值"<="(时序逻辑电路); 2.
Verilog模块编程的8个原则: (1)...
分类:
其他好文 时间:
2014-05-16 08:03:45
阅读次数:
366
verilog设计进阶 时间:2014年5月6日星期二 主要收获: 1.
自己动手写了第一个verilog程序。 题目: 利用10M的时钟,设计一个单周期形状如下的周期波形。 思考:
最开始的想法是:定义两个计数器进行计数,两个使能标志位分别控制这两个变量。但是这样逻辑又太复杂,网上搜了搜,还是定义...
分类:
其他好文 时间:
2014-05-16 07:32:46
阅读次数:
298
verilog设计进阶 时间:2014年5月6日星期二 主要收获: 1. 学会使用case语句; 2.
学会使用随机函数$random。 $random: 1. 函数说明:$random函数调用时返回一个32位的随机数,它是一个带符号的整形数。 2.
产生0~59之间的随机数的例子: reg[23:...
分类:
其他好文 时间:
2014-05-16 07:14:30
阅读次数:
327
在verilog中,如果对于一个寄存器可能同时有两个时钟clk对其进行操作,为了防止读写冲突,需要做如下简单处理
clk_f( fast时钟)和clk_s(slow时钟)
clk_s对寄存器time_cnt进行写操作,
clk_f对寄存器time_cnt进行读操作,
所以当clk_f边沿读取time_cnt的值得时候,time_cnt可能正是clk_s对寄存器写的时候,从而造成c...
分类:
其他好文 时间:
2014-05-09 22:11:02
阅读次数:
342
Verilog代码可移植性设计1.参数定义localparam,实例代码如下:module
tm1(clk,rst_n,pout);input clk;input rst_n;output[M:0] pout;localparam N =
4;localparam M = N-1;reg[M:0] ...
分类:
其他好文 时间:
2014-05-09 08:52:31
阅读次数:
391
Verilog语言中讲的阻塞赋值与非阻塞赋值,但从字面意思来看,阻塞就是执行的时候在某个地方卡住了,等这个操作执行完在继续执行下面的语句,而非阻塞就是不管执行完没有,我不管执行的结果是什么,反正我继续下面的事情。而Verilog中的阻塞赋值与非阻塞赋值正好也是这个意思,通过执行一个例子,就可以简单地...
分类:
其他好文 时间:
2014-05-09 08:09:47
阅读次数:
342