自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Verilog 夏宇闻 第3版 day11

本质就是将一堆时序逻辑打包,给每一包逻辑都要设定相应的状态;通过case语句选择相应的逻辑包;如图,要实现10010的序列检测,必须至少要有六个状态,所以对于状态的赋值应为3位宽;assign 为连续赋值语句,只要语句内的变量有变化,就会自动进行新一轮的赋值语句;上图是考虑到3bit状态补齐,最少只用IDLE A~E即可实现10010的状态检测。区别在于状态的改变除了取决于当前状态以外,mealy还取决于当前的输入;将不同模块联系起来,决定了什么时候模块可以接收数据。

2023-07-31 16:27:58 52 1

原创 Verilog 夏宇闻 第3版 day10

若该定义在module 前后(input/output端口定义附近),即为全局变量;在HDL文件中,定义位宽时是在定义input/output语句时一起定义的;全局/局部变量中的参数定义指的是 类型定义;e.g. reg[]再定义reg[t:0] 变量;局部变量定义若在块内,需要在块内begin end中加名字,改变output变为reg 时,也要定义重新定义位宽;已知定义 parameter t=3;若a=b,则走第一条路,给c赋值1;若a不等于b,则c赋值0;

2023-07-28 14:57:54 60 1

原创 Verilog 夏宇闻 第3版 day9

其中,initial模块与其他程序模块并行运行,并通过延时或者重复控制 时钟/使能信号等;seed 为随机数种子,通过不同的seed,可以产生不同的一组随机数;a. forever repeat 一般配合initial块和延时语句。$random%b;随机生成在[-b+1,b-1]范围内的数。随机生成在[0,b-1]范围内的正数。若直接c=$random;自动成32bit的数。repeat (整数次数)begin。补充:random(seed)2.verilog中的循环语句。

2023-07-27 22:41:17 76 1

原创 Verilog 夏闻宇 第3版 day8

未在仿真文件module语句定义出来,添加nCS后无报错。2.testbench 端口报错。

2023-07-26 20:04:14 60 1

原创 verilog 夏闻宇 第3版 day7

引用.v文件时需要 `include "XXXX.v";ps.语句后不加;还可以用宏定义参数(区别 parameter PERIOD = 10;7.testbench 为top模块,包括要赋给下面模块的值(即实例化),以及参数是如何运转的与子模块仿真文件不同,仿真文件中无数据,e.g.对于移存器,仿真文件中不会指出需要转移的数据具体是多少,但是testbench中必须指明8.加法器【从原理到实践】如何制作一个4位加法器 - 知乎半加器原理:对于1位二进制加法,真值表。

2023-07-25 21:50:51 92

原创 Verilog 夏闻宇 第3版 day6

模块名字 u_模块名称 e.g. time_count u_time_count // 时钟模块名称 实例化名称。电平触发会导致毛刺现象,为避免产生,通常在if和case语句中做到完全描述,即else/default。c.内部信号初始号:包括端口类型定义(reg/wire)和初始化(e.g. clk)在硬件电路中,wire看作是连接导线,只要有输入,马上反映到输出上;reg是寄存器,当有输入时,还需要有触发信号,才会有输出。两个运算符都是逻辑运算,不看单独某一位,看的是整体。

2023-07-25 09:45:23 64

原创 Verilog 夏闻宇 第3版 day 5

于是改用 notepad++ modelsim联合,notepad++感觉界面比较丑,且还是报错,遂最终改用。day4装了一天软件,初步设想是想要 Modelsim+VSCode联合,后面发现老是报错。最终完美可以呈现波形。尤其安装VScode的时候,默认安装文件夹是有空格的,需要注意!过程中出现的问题,大致是基于环境没有配好;

2023-07-24 16:21:49 88

原创 Verilog 夏闻宇第3版 day3

ps.安装vscode ,在debug时提示没有plain text,选择VHDL语言仍然不行;新建code时需要 扩展名。

2023-07-22 09:25:23 36

原创 Verilog 夏闻宇第3版 day2

为避免在函数的同一地址空间内进行并发调用,所以采用递归函数;2.模块内可以有多个initial和always (过程块)非阻塞赋值:

2023-07-21 22:27:59 59 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除