ZYNQ学习
文章平均质量分 63
购买了正点原子领航者ZYNQ开发板,准备开始一系列学习过程,希望在写帖子,分类的过程中把视频中的东西转化为自己的东西,在碎片的学习过程中逐渐建立起自己的体系。
zkj12340
脚踏实地,戒骄戒躁
展开
-
ZYNQ学习:Verilog语言心得(九)
通过上面两个例子我们可以看出,如果不把sys_clk在tb中写成阻塞赋值就会带来大量的麻烦,时钟和其他信号总是同时到来,需要反复思考上升下降沿,信号的值到底是什么,这样非常费脑子,而且会导致大量的错误,所以我们要把时钟写成阻塞赋值,总是时钟第一个到,其他突变的量全部取值为之前的值,这样就很好判断了。原创 2023-11-30 16:58:37 · 91 阅读 · 0 评论 -
ZYNQ学习:Verilog语言心得(六)
结论一个always块内使用非阻塞赋值,对同一变量多次赋值,从时间上来看是并行的,但是从结果上来看,会采用最后一次赋值,在编写代码的时候应当避免这种无效多次赋值,这样会导致逻辑混乱。当 always语句中对变量反复赋值的时候,会发生什么后果?1.LED[0],并没有翻转两次而是只反转了一次。2.LED[1],取了最后赋的值0。3.LED[2],取了最后赋的值z。原创 2023-11-23 17:41:30 · 33 阅读 · 0 评论 -
ZYNQ学习:VIVADO使用心得(一)
可以成功实现,没有问题,所以关键在于没有更新综合设计,网上搜了很多都不是这个问题,把这个报错贴在这里希望同样问题有人能搜索到。的确有线没有连接,这是由于约束文件更新,但综合过时导致的。也就是说,我们只更新了约束文件,没有进行新的综合。在开发时遇到了一大堆错误,但是代码没有问题,这是由于VIVADO使用错误导致的,记录一下。下面我们来试一试推荐的方法,就是提示告诉我们的,为了避免重新综合你可以点击强制更新。其实上面已经有英文提示,说综合可能过时了,这时候我们就需要重新综合。重新开始综合,综合完后再重新实现。原创 2023-11-02 17:30:03 · 1012 阅读 · 0 评论 -
ZYNQ学习:Verilog语言心得(五)
虽然前面进行了赋值,但是这里还在过程块内,并行执行的过程块并不知道key_f的值,所以右侧是未定状态,在过程块结束后,key_f被赋值两次第一次是1,第二次是未定,以最后一次为准,所以前面全是未定状态。else}组合,是合理的,如果写了大量{if else if。但是这里继续运行后面的if,前两项if计数器因为程序刚开始,计数器初值都赋的是0,所以没有进入if,直接进入最后的else。2.在一个always块中,前面对一个变量赋值之后,后面是无法调取变量的最新值的,调取的还是上一次的值,需要注意。原创 2023-11-23 16:33:57 · 28 阅读 · 0 评论 -
ZYNQ学习:Verilog语言心得(四)
initial语句的结束不能是 #延迟时间语句。原创 2023-11-23 14:49:56 · 25 阅读 · 0 评论 -
ZYNQ学习:Verilog语言心得(三)
这需要通过一些实验来证明。所以,逻辑是这样的:因为“两个信号同时触发了” ==> 进入了always块 ==> 进入后第一行要求判断clk的电平 ==> 因为输入信号。3.关键的90ns处,时钟处于上升沿,rst处于下降沿,同时满足了触发always块的条件,所以进入了always块,这里需要注意,编写RTL代码,输入是系统时钟和复位,输出是一个LED灯,模块中还包含了一个计数器,用来测试always块被进入了几次。1.对于多个敏感信号触发的always模块,如果条件同时满足,将只会执行一次块内代码。原创 2023-11-23 14:44:56 · 75 阅读 · 1 评论 -
虚拟机扩容方法
在建立虚拟机的时候一般会分配初始磁盘大小,在使用过程中如果需要安装的软件逐渐增多,就需要对虚拟机进行扩容,下面介绍扩容方法。原创 2023-09-12 17:02:27 · 461 阅读 · 0 评论