2013年11月14日

基于FIFO的串口发送机设计

摘要: 选题缘由:前几天在黑金时序篇的陪伴下,对FIFO进行了大致的掌握,今天看特权同学的深入浅玩转FPGA进阶实验五:基于FIFO的串口发送机设计,想自己总该动手练练,总看别人的code也能学到东西,但那终究不是自己的,当自己独自面对时,会冒出不少原本看似没有问题的问题。可喜的是这次竟然没遇到多大困难,一个小时多一点写好代码,解决问题不到十分钟,然后搞定!难道自己水平有所提高了,哈哈! 本实验RTL图: 本实验实现如下功能:Data_gene模块每隔1s产生一个递增的8位数(在助手里边以16进制方式显示),然后每隔1s wrreq发送一个高电平,写入FIFO,本实验FIFO采用8 wide,... 阅读全文

posted @ 2013-11-14 10:02 fkl523 阅读(2214) 评论(1) 推荐(0)

2013年11月7日

流水线方式LUT查表法乘法器

摘要: 流水线利用非阻塞赋值赋予的是上一时钟周期寄存器的值,来实现对寄存器的依次更新值。如:always @ ( posedge CLK )begin//A[m]表示,一维数组A 中第m 个元素。//A[m][n]表示,一维数组A 中第m 个元素,第n 位。A[0] start->StartTestBench Template Writer时,前提要在设置中设置好仿真工具Modelsim Altera,才能进行模版的生成。 收获:模版生成貌似挺有用的说,利用模版里边的端口映射模块,可以很简单的用在模块例化的端口映射中,这在端口量很大的工程中很能提高效率。O(∩_∩)O哈哈~ 3、用Models. 阅读全文

posted @ 2013-11-07 16:43 fkl523 阅读(1393) 评论(0) 推荐(0)

2013年11月5日

verilog中有符号整数说明及除法实现

摘要: 1、以8位短整数为例,短整数的最高位是符号位,符号位的正负表示了该值是“正还是负”?。正值的表示方法是以0开始的8位二进制数,反之负值的表示方法是用正数的补码来表示。例如:+127 亦即8'b0111_1111;那么-127 亦即8'b1000_0001(通过相应正数的按位取反加1得到,符号位也要取反); 2、正值可以进行求反又加一之后成为负值。那么负值如何变成正值?同样的一个道理“负值求反又加一后,成为正值”。 3、我们知道短整数的位宽为,8 ,亦即取值范围是0~255。但是符号位的出现吃掉了最高位,所以造成取值范围变成2^7=128,即0到127。 4、在Modelsim中 阅读全文

posted @ 2013-11-05 14:11 fkl523 阅读(8147) 评论(1) 推荐(0)

LUT查表法乘法器所犯下错误。。。。

摘要: 程序参见黑金时序篇一章实验五LUT查表法实验,不同的是LUT我用了一个ROM来实现,word depth 256,word size 16,数据用matlab生成,发现matlab确实好强大,不用操作文件,直接在查看数组的值即可将一堆所需的数据复制出来。最终将问题解决,不是大问题,但力求每次都能从中学到些什么。 各模块建立初始出现了以下错误: 1、Error: Can't synthesize current design,Top partition does not contain any logic 2、Warning: Synthesized away the followin. 阅读全文

posted @ 2013-11-05 08:48 fkl523 阅读(2672) 评论(0) 推荐(0)

2013年11月4日

似然函数

摘要: 似然函数的定义:在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。似然函数在统计推断中有重大作用,如在最大似然估计和费雪信息之中的应用等等。“似然性”与“或然性”或“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“或然性”或“概率”又有明确的区分。概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果,而似然性则是用于在已知某些观测所得到的结果时,对有关事物的性质的参数进行估计。在这种意义上,似然函数可以理解为条件概率的逆反。在已知某个参数B时,事件A会发生的概率写作:利用贝叶斯定理,因此,我们可以反过来构造表示似然性的方法:已知 阅读全文

posted @ 2013-11-04 16:41 fkl523 阅读(565) 评论(0) 推荐(0)

2013年11月3日

Verilog的序列信号检测器实现及其testbench仿真

摘要: 终于迈向了testbench的学习,第一个就拿简单的练练手,没想这都遇到了好几个问题,在一番折腾下,终于把问题调试完毕,趁热乎过来写下本人的第一篇博客。。序列信号检测器对串行输出进行检测,如果检测到连续的1001,则输出1,否则输出0。 程序采用两段式状态机写法。两段式状态机即:用两个always模块来描述状态机,其中一个always模块采用同步时序描述状态转移,另外一个模块采用组合逻辑判断状态转移条件,描述状态转移规律以及输出。状态机编码方式采用独热码方式,《Verilog数字系统设计与FPGA应用》【赵倩、林丽萍】一书中说:“CPLD器件更多地提供组合逻辑资源,而FPGA器件更多的提... 阅读全文

posted @ 2013-11-03 20:46 fkl523 阅读(5135) 评论(0) 推荐(1)

导航