Verilog
SLAM_masterFei
这个作者很懒,什么都没留下…
展开
-
闲聊
以及快半年没更了,博主最近准备毕业论文,所以更新可能要等到明年34月份吧关于内容,博主打算以后专门更新FPGA或者数字IC方面的一些简单基础,模拟可能也会涉及但是不多,有些视觉或者软件的朋友就抱歉啦,博主以后可能不会更新这方面的了。关于工作,博主今年8月开始找工作,最终确定某微电子研究所,IC设计方向。当然同时还有另一家研究所的offer,fpga设计想说一点,如果是非科班的同学,找工作有疑惑可以和我交流,博主愿意解答哈哈哈。最后,博主是机械专业的,最后取IC是不是很可怕哈哈哈,我也觉得。。。原创 2020-12-25 20:34:21 · 442 阅读 · 4 评论 -
verilog编写异步时序中的握手信号
在数字电路设计中,往往不存在一个系统共用一个时钟源的情况,在异步电路中,为了使得数据之间的传输不发生错误,基本有以下三种方式:1.寄存器打两拍 2.握手信号 3.异步fifo下面简单介绍一下握手信号,做过iic通信的小伙伴应该知道在iic通信里会有一个ask应答信号来表明数据的正确传递,那么它到底是怎么产生的呢?来看下图上图din为clk_1时钟下产生的数据,在clk_2时钟下产生dout,由于clk_1时钟明显比clk_2时钟来的快,显然打两拍方法根本不可能采集到正确的数据(没有满足3个沿)。所以原创 2020-05-29 10:21:44 · 4580 阅读 · 4 评论 -
verilog写一个简单的仿真文件(readmenh和task用法的简单体现)
仿真是FPGA验证很重要的一环,但是开始的时候由于我们的电路比较简单所以仿真文件的设计也相对简单。那么一旦系统复杂起来,输入的数据也复杂的话,可能就需要用到系统函数$readmemh和$readmemb了,它们可以读取文本的文件然后用来做激励信号等等,或者会用到task函数来循环操作某些赋值。下面给出一个带有$readmemh和task的简单仿真文件来具体说明下:module read_test(input clk,input rst,input [7:0] data_in,output re原创 2020-05-27 17:34:55 · 5026 阅读 · 0 评论 -
verilog -:或+:用法
最近在刷一些Verilog的题,希望对后续的找工作有所帮助吧。。。一般而言对于类似多位输出赋值,一般而言是这样的:wire a[MSB:LSB];assign a=b[MSB:LSB];这里的MSB 和LSB 都需要是常数而不能是变量,那么现实中很有可能需要对变量来进行操作,比如多路选择器等等,那么就可以用到 -:和+:操作符了,具体用法如下:module top_modul...原创 2020-03-16 12:15:29 · 7524 阅读 · 2 评论 -
verilog使用可综合的for语句
今天刷题,偶然接触到generate用法,小结如下:generate可以用来构成循环语句,但是必须要定义genvar作为循环变量结尾必须接上endgenerategenerate定义for循环时,必须要加类似如下形式for(i=0;i<n;i=i+1)begin: label ... ...endlabel是你自己定义的标签,可以理解为c++中的实例...原创 2020-03-12 12:13:23 · 9322 阅读 · 2 评论 -
同步和异步区别
同步和异步在数字电路时序逻辑中经常出现,怎么理解同步和异步呢,我拿同步清零和异步清零来简单描述下来看代码always@(posedge clk)begin if(!reset) out<=1'b0;//同步清零 else ...endalways@(posedge clk or negedge rst)begin ...原创 2020-02-06 12:00:39 · 1891 阅读 · 0 评论