草庐IT

verilog-tutorial

全部标签

【FPGA】verilog语法的学习与应用 —— 位操作 | 参数化设计

【FPGA】verilog语法的学习与应用——位操作|参数化设计学习新语法,争做新青年计数器实验升级,让8个LED灯每个0.5s的速率循环闪烁,流水灯ahh好久不见~去年光这个就把我折磨够呛。。我肉眼可见的脱发就是从那时候开始的。。在那两个月我直接掉了10斤啊喂~(没节食、没运动、没失恋哈哈哈产生0.5s周期的计数器文章目录【FPGA】verilog语法的学习与应用——位操作|参数化设计1.version1-移位法1.1设计输入1.2功能仿真1.3板子调试2.version2-循环移位3.version3-3-8译码器4.参数化设计添加约束文件1.version1-移位法1.1设计输入modu

地狱已满服务器搭建教程-1 服务器安装篇 NMRIH Dedicate Server Installation Tutorials

简介:本文记录了地狱已满(NoMoreRoomInHell)游戏服务器的搭建过程,涉及多系统(Windows、Linux),多种方式安装部署。含大量自定义参数及其作用介绍,也有进阶SourceMod插件安装的引言,安装过程常见问题解答等服务器搭建篇:地狱已满服务器搭建教程-1服务器安装篇(本文)网络配置篇 :地狱已满服务器搭建教程-2网络配置篇可行性已证实:多系统(Win11、Win10、WinServer2012、Centos7.5),多方案(端口映射、内网穿透)组合搭建成功教程为个人实践记录,主要用于备忘。如有错误或值得改进的地方,欢迎留言指出教程无任何私货/后门夹杂,可放心食用。转载需注

Verilog基础之十一、移位寄存器实现

目录一、前言二、工程设计​2.1工程代码2.2综合结果2.3仿真结果一、前言    移位寄存器SRL在工程中属于使用频率较高个模块,可用于存储数据,实现串并转换;根据数据移动方向可分为左移寄存器,右移寄存器,左移是向数据高位移动,右移是向数据低位移动。 二、工程设计​2.1工程代码工程中包含了左移,右移,循环移位的设计,输出为8位。左移即输入不断从右边进入,同理,右移为输入不断从左边加入,循环移位此处为右循环,每一次变化都是第一位移到最高位,其他位都右移一位。moduleSRL(clk,in,out_l,out_r,out_c,rst);inputclk,in,rst;outputreg[7:

(45)Verilog实现数据位宽转换【8位-32位】

  (45)Verilog实现数据位宽转换【8位-32位】1.1目录1)目录2)FPGA简介3)VerilogHDL简介4)Verilog实现数据位宽转换【8位-32位】5)结语1.2FPGA简介FPGA(FieldProgrammableGateArray)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA设计不是简单的芯片研究,主要是利用FPGA的模式进行其他行业产品的设计。与ASIC不同,FPGA在通信行业的应用比较广泛。通过对全球FPGA产品市

Verilog | 看门狗

一、看门狗简介看门狗:也称看门狗定时器,是常见于系统的一种外设;看门狗似乎就是一条看门的狗,如果系统一切正常则看门狗不叫,如果程序不正常,则看门狗则会将程序咬死(即程序强制复位)。看门狗的作用:当一段程序跑飞,卡死或不受控制时,能使得系统强制重启;喂狗:当看门狗被初始化后,需要在程序中每进行一段时间就重置看门狗模块的定时器计数值,防止程序被咬死;程序咬死:当程序出现问题时(跑飞或锁死),导致看门狗定时器的计数值没能及时重置,当计数值达到设置的阈值后,看门狗定时器则输出复位信号,使得CPU强制复位;二、看门狗分类硬件看门狗:看门狗实际上就是一个计数器,硬件看门狗就是以硬件实现的一种计数器,其可以

Verilog 不完整if-else和case产生锁存latch

文章目录前言一、锁存器latch是什么?二、产生latch的可能情况1.if-else结构缺少else2.case语句分支不全且没有default前言写这篇文章是因为本小白在刷题过程中看到答主的代码总是不把if-else写全,而我又记得不写全是可能产生latch的,对此很迷惑,仔细看过之后发现只有组合逻辑(电平触发)电路中的不完整if-else和case才会产生锁存器latch。简单记录一下。参考文章:1、https://blog.csdn.net/ainu412/article/details/1050819652、https://blog.csdn.net/qq_40696831/arti

Verilog手撕代码(7)数据位宽转换

目录数据位宽转换器宽到窄窄到宽8bitto16bit非整数倍转换8bitto12bit24bitto128bit数据位宽转换器数据位宽转换器,一般常用于模块接口处,比如一个电路模块的输出数据位宽大于另一个模块的输入数据位宽,此时就需要进行数据位宽转换。比如SATA控制器中,内部数据位宽为32bit,但外部物理收发器PHY的接口通常为16bit,或者8bit,在不使用FIFO进行缓存的情况下,可以使用数据位宽转换器,通过时钟倍频在实现数据位宽的转换。宽到窄假设数据从模块A传入到模块B,模块A的输出数据为32位,模块B的输入数据位宽为16位,并把数据从A传入B而不损失数据。假设一个原时钟clk2x

Verilog基本语法之模块以及模块调用详解(2)

模块结构一、模块结构组成 模块由三个元素组成,分别是模块起始、接口说明、逻辑功能描述 1.模块起始:每个模块都要进行端口定义,格式为:module模块名(端口1,端口2,端口3), 2.I/O接口说明:input输出,output输出,inoutput双向接口 3.逻辑功能描述:always、assign等功能描述。二、模块详解 组合成为完整程序如下: module模块名>(端口列表>) I/O接口说明> 内部信号声明> 逻辑功能定义> Endmodule 拿与门、或门举例: moduleAndOR(a,b,c)//模块起 inputa,b;//接口方向为输入 outpu

保姆级超硬核包会,​System Verilog SV接口(interface )

前言:SV中TB的构成主要包括Dut的例化、interface的例化、验证环境的例化三部分。接口类似于一条总线,把零碎的线包装在一起,给那些需要的模块。1.interface1.1interface是干什么的?Verilog通过模块间的端口来完成模块间的通信,SV在Verilog的基础上扩展了接口interface。引入interface可以简化模块儿之间的连接,将一组相关的信号可以封装到一起。interface就像—个"插排",DUT与TB之间的数据驱动关系都可以使用interface这个插排来完成。未使用interface:使用interface:1.2interface概念interfa

基于FPGA的Verilog语言 signed unsigned 运算&&不同位宽运算(无聊的碎碎叨叨)

 此文以quartus为例,使用Verilog语言简单编写验证。并对常见赋值运算进行介绍,读者可采用附带程序进行验证和理解。很神奇的一件事,机器运算仅可以完成最简单的“1+1”,而“1+1”在二进制中可以完成不同bit的加减。他是如何实现的呢?一.最简单的是加法,再加法中不会产生负数,所以直接对应位数相加,加满进一;二.在减法中,机器也是通过加法来实现的,因为在机器中,负数用对应的补码来表示,并不表示负数。1、大数减小数a.(相同位宽减法)例如-8‘d8可以表示为1000_1000,首位表示正负,命名为符号位,1表示负,0表示正。-8的补码为反码1111_0111(反码)加一,即1111_10