Verilog 项目练习
以实战为主,熟悉Verilog 语言的使用
啄缘之间
一疑一信相参勘,勘极而成知者,其知始真。—— 出自《菜根谭·概论》
展开
-
基础电路:加法器结构、底层结构
文章目录前言加法器在很多的系统中充当着重要的基本单元。在数字电路中有着广泛的用途。一、1bit 半加法器数字系统设计中,逻辑上通过0和1来实现复杂的系统功能,最简单的逻辑运算就是两个1bit进行加操作。假设A、B分别代表着两个1bit输入,C、D分别代表着相加结果以及进位输出,真值表如下:二、结构、代码此实例设计半加法器模块,adder位顶层的外部接口,输入定义位a、b,进位输出和结果定义为cout、sum,声明为wire数据类型,数据流语句采用的是a...原创 2021-05-23 18:06:48 · 787 阅读 · 0 评论 -
Verilog 复杂设计 练习
设计要求代码编写// *********************************************************************************// Project Name : // Email : 854923411@qq.com// Website : // Author : // Create Time : 202// // File Name : .v// Module Name .原创 2020-08-01 15:32:44 · 442 阅读 · 0 评论 -
iic协议以及个人总结的设计流程
目录I2C 设计流程简介特性功能描述设计模块描述常见的I2C操作顺序Verilog HDL仿真与验证结构图总结I2C 设计流程简介I2C (Inter-IC)总线是一种简单、低带宽、短距离的协议。它通常出现在具有间歇访问的外围设备的系统中。这也是一个常见的通信解决方案,在一个封闭的系统,其中最小的痕迹是板上所希望的。许多半导体供应商在嵌入式系统中支持i2c兼容设备,包括EEPROM、温度传感器、电流传感器和时钟。2线接口允许串行传输8位字节的数据和7位地址与控制位原创 2020-07-06 23:34:48 · 3094 阅读 · 2 评论 -
i2c slave 模块设计
首先就不啰嗦iic协议了,网上有不少资料都是叙述此协议的。下面将是我本次设计的一些局部设计汇总,如果对读者有借鉴意义那最好,如果没有的话也无所谓,互相交流而已。(这是我早期的版本,注释比较少,代码编写比较混乱,读者自便)希望读者发现问题可在下方留言,我会及时回答或者修改。下面将会以图片为主。结构图结构图master结构图slave结构图iic_slave.vsync.vwr_fsm.v...原创 2020-07-06 23:14:36 · 5461 阅读 · 13 评论 -
verilog --例化-层次化
下图显示了一个带有子模块的非常简单的电路 在本练习中,创建模块mod_a的一个实例,然后将模块的三个引脚(in1 in2和out)连接到顶级模块的三个端口(连接a b和out) mod_a模块是为你提供的-你必须实例化它。在连接模块时,只有模块上的端口是重要的。您不需要知道模块内部的代码。模块mod_a的代码是这样的:module mod_a ( input in1, input in2...原创 2020-03-28 17:35:08 · 2777 阅读 · 2 评论 -
8 BIT SHIFT MODULE
这个练习是module_shift的扩展。模块端口不再是单一的引脚,我们现在有了以矢量为端口的模块,你可以将连线矢量连接到模块上,而不是普通的导线。 与Verilog中的其他地方一样,端口的向量长度不必与连接到它的连线匹配,但是这会导致向量的填充或重构。 本练习不使用与不匹配的向量长度的连接。给定一个模块my_dff8,它有两个输入和一个输出(实现一组8d触发器)。实例化其中...原创 2020-04-05 21:04:22 · 336 阅读 · 0 评论 -
基于 MARCH C+ 算法的SRAM BIST
SRAM BIST 顶层RSAM BIST 结构图'SRAM BIST : MEM_BIST.V//////////////////////////////////////////////Author : jian qiao //Revision History : 2020-4-1 // Revision : 1.0//Eailbox : jian...原创 2020-04-05 17:29:55 · 3313 阅读 · 6 评论 -
verilog 4位计数器
4位计数器未出现错误综合电路仿真波形原创 2020-03-08 21:25:25 · 5943 阅读 · 3 评论 -
verilog 4位全加器的实现
4位全加器module ad4 (cout,sum,ina,inb,cin); input [3:0] ina,inb; input cin; output [3:0] sum; output cout; assign {cout,sum} = ina + inb + cin; endmodule`timescale 1ns/1ps moudule tb (...原创 2020-03-06 12:44:35 · 14152 阅读 · 4 评论