![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
verilog/sv学习笔记
此专栏为Verilog学习过程中,对于一些笔记的罗列,加深记忆方便以后查阅
想嗦米粉的某菜
这个作者很懒,什么都没留下…
展开
-
sv define参数和变量拼接
使用``来引用将传进来的值(变量名本身的字符串)使用##来使用define参数引用变量的值。原创 2024-04-16 16:17:59 · 427 阅读 · 0 评论 -
Verilog中避免生成latch的方法
1、latch为电平触发的信号,控制信号为高时,相当于通路,为低时,保持输出不变。由于latch在使能信号有效时相当于通路,此时,若电路中存在毛刺(glach),则这个毛刺会经过latch传给下一级。而dff触发器,由时钟控制为边沿触发,则有可能将毛刺去除。2、防止出现latch的方法:使用完整的if-else语句;case语句中在每个条件下对在case语句中出现的被赋值的变量赋值(此时可以在进入case语句前对所有变量进行赋初值操作);使用default语句always@(sel) begin原创 2020-08-05 10:55:23 · 1125 阅读 · 0 评论 -
Verilog中单if语句、多if语句和case语句与优先级的关系
1、 if-else if-else 单if语句单if语句(if-elseif-…elseif-else)综合出来的电路没有优先级,从电路的角度来说,单if语句综合出来的电路类似于数据选择器,else路选通的条件是前面所有的if条件都不满足。always@(*) begin z = 0; if(sel1) z = a; else if(sel2) z = b; else if(sel3) z = c;原创 2020-08-05 10:51:10 · 20018 阅读 · 7 评论 -
FPGA实现多功能数字钟(Verilog)
FPGA实现多功能数字钟(Verilog)介绍整体框架介绍本文设计的数字钟的功能包括:正常时钟、日期显示、调整时间(日期)、整点报时、闹钟(包括闹钟音乐)、秒表、数码管显示。使用的rtl语言为Verilog,参考了一些别人的设计,对一些模块进行了仿真,并对整个系统进行了仿真,功能基本正确。接下来我将详细介绍各个模块的功能以及设计。下图为设计的所有模块:整体框架顶层rtl视图(不知道看不看得清):...原创 2020-07-21 16:04:04 · 25094 阅读 · 30 评论 -
Verilog中case语句不加default的影响
default语句的对case语句综合的影响之前看书都说case语句不加default会产生不必要的latch,浪费资源,有时候还会产生错误的时序。然后我写了点简单的程序测试一下,加不加default到底会对电路产生怎样的影响。时序电路不加default input clk; input [2:0] sel; output [3:0] out; reg [3:0] out; always@(posedge clk) begin case(sel) 3'b000: out &原创 2020-06-13 18:04:22 · 17302 阅读 · 0 评论 -
组合逻辑电路中的语法
组合逻辑电路中的语法1、 Verilog语句都是在module–endmodule模块中的module test_module( input wire [3:0] in, //不写wire或者reg默认为wire output wire [3:0] out); .......endmodule2、端口关键字有:input, output, inout ;除了Test Bench代码外,都需要定义端口3、连续赋值语句`timescale 10ns/1ns //基本时间单元/原创 2020-05-12 18:58:40 · 1134 阅读 · 0 评论