- 博客(33)
- 收藏
- 关注
原创 13.Verilog中的时钟(clk)的产生方法
②另外一种是用forever语句(UVM常用)非常简单,产生时钟的方法学会了么?①使用always块来产生时钟,如下所示。思考:#10 和##10。
2023-07-24 22:54:27
8447
4
原创 7.Verilog中的assign语句
在Verilog中,针对wire类型变量进行逻辑操作,必须通过assign语句,主要用来将一个信号与一个表达式相连接。
2023-07-18 22:27:56
2289
原创 6.Verilog中数值的拼接操作
简单点,就是两个短的数,可以通过拼接的操作,拼成一个长的数,利用的就是大括号这个拼接符。中间用逗号隔开,都是两位,拼接后最后变成了4位。2‘b11 和 2’b10 进行拼接 {2‘b11。
2023-07-17 23:33:49
3067
原创 5.Verilog中的间隔符和实数之间的转换
比如要表达一个16位的二进制数,16‘b1001110000110110,这样看起来非常费劲,为了方便,引入间隔符,说白了就是。,用其表示就是16’b1001_1100_0011_0110,每4位数使用一个间隔符。35.5 和35.7 ->转换成整数就是36。Verilog中实数之间的转换。
2023-07-16 22:49:38
257
原创 4.Verilog中的进制
16进制,常用h来表示(hex_digit) 16进制 0,1,2,3,4,5,6,7,8,9,10,a,b,c,d,e,f (a,b,c........等大写也可以)前面还可以加位宽:比如3'b1就是,3’b001,表示位宽是3,前面不够补0,这个换算成10进制就是1,3‘b1 =3'b001;关于进制,大家都不陌生,生活中最常见的是十进制,十进制表示的数用0-9这十个数字,大家都非常熟悉,但是。如果是'b10,这个就表示2进制的'b10,换算成10进制就是2;
2023-07-16 00:06:36
1630
4
原创 3.wire类型和reg类型的区别与联系
reg表示存储单元,用于存储数据,wire类型不能存储数据,只能用来传递。区别:wire表示一根物理的导线,不能存储结构,主要起到连接作用,只负责传递驱动级的输出;,也就是除了表示0和1外,还表示x(不定态,就是未知状态)还有高阻态z,wire默认值为z,reg默认值为x,;注:在实例化DUT时候,对于输入的wire类型要用reg类型去驱动,输出的reg类型要用wire类型去采样,具体看上一章,module的实例化。reg 和wire的写代码的时候使用范围,那个地方该用wire,哪个地方改用reg?
2023-07-15 00:26:53
767
1
原创 2.module的实例化
在第一节中,我们已经将以xxxxxx名字的module进行了定义,这就是个设计(俗称DUT),那么我们需要去验证,就需要将其实例化,这一节主要进行。注:每天挑战一条Verilog语法,觉得必须要有输出,一定要有输出。的工作,再来回顾一下上一节的定义的module。
2023-07-13 23:09:38
438
1
原创 1.module的定义
module是Verilog最先开始学的,通常有模块名、端口定义(输入或者输出端口)、数据类型(wire/regparameter)和逻辑功能(连续型赋值assign、过程快initial begin---end和always等等)
2023-07-12 23:57:57
221
1
原创 解决使用gvim中uvm语法高亮问题
进入syntax目录,并将插件放入该目录下(插件找我私信),该目录下只有一个以.vim结尾的插件,如下图,我这里命名的是v_sv_uvm.vim,这里面详细设置了verilog-systemverilog-uvm语法高亮(不用大家设置已经完成)然后进入ftdetect目录下,该目录下创建一个sv.vim文件,这个目录下也只有这一个文件,如下图。首先到自己home目录下打开.vim文件(没有自己创建一个)然后进入.vim,如下命令。打开sv.vim文件,里面只有一句话,具体内容如下,保存并退出。
2023-04-19 16:30:18
2848
7
原创 尚硅谷-数据结构与算法-章图
//深度优先遍历算法 //i 第一次就是0 private void dfs(boolean[] isVisited, int i) { //1.首先,我们访问该结点,就是输出 System.out.print(getValueByIndex(i) + "->"); //访问完后将该结点设置成已经访问 isVisited[i] = true; //2.查...
2021-11-30 23:49:04
405
原创 尚硅谷-数据结构与算法-B树,B+树,B*
这个只是简单讲了将原理,并没有代码之类的内容,如果要算上代码,估计能写一个月...上面这个树,自己在纸上画一下,很好理解....
2021-11-16 23:34:14
264
原创 尚硅谷-数据结构与算法-平衡二叉树
左旋转的代码实现 //左旋转的方法 private void leftRotate() { //第一步:创建新的节点以当前根节点的值进行复制 Node newnode = new Node(value);//其实老师在这里省略了this //第二步:把新的节点的左子树设置成当前节点的左子树 newnode.left = left;//其实老师在这里省略了this //第三步:把新的节点的右子树设置成当前节...
2021-11-11 23:27:55
325
原创 尚硅谷-数据结构与算法-二叉排序树
package com.atguigu.java1;/** * 二叉排序树的讲解 *二叉树的删除 * 7 * 3 10 * 1 5 9 12 * 2 * ①删除叶子节点(2,5,9,12) * ②删除只有一棵子树的节点:(1) * ③删除二棵子树的节点:(7,3,10) * * 第一种情况:删除叶子节点 * (1):需要先找到待删除的节点,targ...
2021-10-31 15:08:14
159
原创 尚硅谷-数据结构与算法-二叉树-哈夫曼树
package com.atguigu.tree.threadebinarytree;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * 赫夫曼树 * 所有叶子节点的带权路径长度之和,权值越大离根节点越近的二叉树,WPL最小 * * @author WZ * @create 2021-10-24 9:17 */public class Huffman...
2021-10-24 15:27:08
245
原创 尚硅谷-数据结构与算法-二叉树-堆排序
package com.atguigu.tree.threadebinarytree;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;/** * @author WZ * @create 2021-10-23 14:07 */public class HeapSort { public static void main(Stri...
2021-10-23 23:10:19
248
原创 尚硅谷-数据结构与算法-二叉树笔记4
顺序存储二叉树代码实现package com.atguigu.tree;import java.security.PublicKey;/** *顺序存储二叉树 * 从数据存储来看,数组的存储方式包括树存储和数组存储可以相互转换, * 即数组可以换成树,树也可以换成数组 * 顺序存储二叉树的特点 * 1.顺序存储二叉树通常只考虑完全二叉树!! * 2.第n个元素的左子节点为2*n+1;注意:这个n指的是原数组的下标,数组是从0开始的 * 所以,这个也是从0开始的,这个计算的
2021-10-18 21:12:42
209
原创 尚硅谷-数据结构与算法-二叉树笔记3
主要是删除节点的操作package com.atguigu.tree;/** * 基础知识:节点(一个对象)、根节点(顶)、父节点、子节点、叶子节点(没有子节点得节点)、节点得权(节点得值)、路径(从root节点找到 * 该节点得路线),层、子树、树得高度(最大层数)、森林(多颗子树构成得森林) * 满二叉树:所有得叶子节点都在最后一层,并且系节点得总数=2^n-1,n为层数,则我们称为满二叉树 * 完全二叉树:如果该二叉树得所有叶子节点都在最后一层或者倒数第二层,而且最后一层得.
2021-10-17 16:43:35
358
原创 尚硅谷-数据结构与算法-二叉树笔记2
主要是二叉树的前序,中序和后序的查找遍历package com.atguigu.tree;/** * 基础知识:节点(一个对象)、根节点(顶)、父节点、子节点、叶子节点(没有子节点得节点)、节点得权(节点得值)、路径(从root节点找到 * 该节点得路线),层、子树、树得高度(最大层数)、森林(多颗子树构成得森林) * 满二叉树:所有得叶子节点都在最后一层,并且系节点得总数=2^n-1,n为层数,则我们称为满二叉树 * 完全二叉树:如果该二叉树得所有叶子节点都在最后一层或者倒数第二层,
2021-10-17 08:52:40
148
原创 尚硅谷-数据结构与算法-二叉树笔记1
1.1概念部分package com.atguigu.tree;/** * 基础知识:节点(一个对象)、根节点(顶)、父节点、子节点、叶子节点(没有子节点得节点)、节点得权(节点得值)、路径(从root节点找到 * 该节点得路线),层、子树、树得高度(最大层数)、森林(多颗子树构成得森林) * 满二叉树:所有得叶子节点都在最后一层,并且系节点得总数=2^n-1,n为层数,则我们称为满二叉树 * 完全二叉树:如果该二叉树得所有叶子节点都在最后一层或者倒数第二...
2021-10-16 11:13:35
205
原创 尚硅谷-集合笔记5
5.1Collectionspackage com.atguigu.java;import org.junit.Test;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;/** * Collections :操作Collection、Map的工具类 * <p> * 面试题:Collection 和 Collect
2021-10-14 23:29:51
145
原创 尚硅谷-集合笔记4
4.1Setpackage com.java1;import org.junit.Test;import java.util.HashSet;import java.util.Iterator;import java.util.LinkedHashSet;import java.util.Set;/** *1.Set接口的框架结构 * /----Collection接口:单列集合,用来存储一个一个的对象 * /---Set接口:存储无序的,不可重复的数据
2021-10-14 23:26:31
145
原创 尚硅谷-集合笔记3
package com.atgugui.java;import org.junit.Test;import java.util.*;/** ** 1. /----Collection接口:单列集合,用来存储一个一个的对象 * /---List接口(JDK1.2):存储有序的,可重复的数据。 -->“动态”数组,替换原有的数组(因为原来的数组一旦确定长度不可变化,这个不确定长度直接添加元素即可) * /---ArrayList(JDK1.2):作为L.
2021-10-14 23:22:01
123
原创 尚硅谷-集合笔记2
package com.atgugui.java;import org.junit.Test;import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.util.List;/** * Collection接口中声明的方法的测试 * <p> * 结论: * 向Collection接口的实现类的对象中添加数据obj时,要求obj所在类要重写equal.
2021-10-14 23:14:24
114
原创 尚硅谷-集合笔记1
package com.atguigu.java2;import org.junit.Test;import java.util.ArrayList;import java.util.Collection;import java.util.Date;/** * 一:集合框架的概述 * 1.集合和数组都是对多个数据进行存储的操作的结构,简称Java容器。 * 说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) * *2.1数组.
2021-10-14 23:13:09
153
原创 菜鸟第一篇--闲谈代码
本人非科班,四大天坑专业,目前在准备转行当码农,未来未知,不知道自己能不能坚持下去,写的文章主要是用来复习代码所用。文章中难免出错,希望大家理解,当然估计也没人看,毕竟是菜鸟。...
2021-10-14 23:09:53
81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人