CPU
文章平均质量分 91
Jeffrey_oWang
在校大学生,软件工程专业,自学Java,略懂Verilog
展开
-
我的西皮优学习笔记(七)->verilog实战二
Verilog实战二1、模块化设计1)module 和 port#1、module模块module ,是Verilog 的基本描述单位,module后的内容描述某个设计的功能和结构,及其与其他模块通信的外部端口。module 后接用户定义的模块名,括号内为模块中使用的端口列表,模块以module 开始以endmodule 结束。一个工程中通常包含多个设计模块,模块间通过“例化(Instantition)” 实现接口的数据交互。多模块使得设计具备一定的层级结构。处于最上层的模块称为“顶层模块(to原创 2021-03-16 20:52:54 · 1495 阅读 · 0 评论 -
我的西皮优学习笔记(六)->verilog实战一
Verilog实战1、组合逻辑和时序逻辑1)组合逻辑和时序逻辑的比对组合逻辑的输出状态和输入直接相关,时序逻辑必须在时钟上升沿触发后输出新值组合逻辑容易出现竞争、冒险现象,时序逻辑一般不会出现竞争、冒险现象(毛刺)组合逻辑的时序较难保证,时序逻辑更容易达到时序收敛,时序逻辑更可控组合逻辑只适合简单的电路,时序逻辑能胜任大规模的逻辑电路2)组合逻辑实现方式一:always@(电平敏感列表)在always 模块种可以使用if、case等语句一般建议使用阻塞赋值语句**“=”**al原创 2021-03-16 20:51:52 · 1702 阅读 · 2 评论 -
我的西皮优学习笔记(五)->二进制及其表示法
进制的运算1、十进制的对比分析在十进制的数字中,每一列的权都是前一列的10倍,从右到左,每一列的权分别是1,10,100,1000…看到十进制数的时候会发现其右下角有一个小小的10,这个小小的数称为十进制的c基,也就是说十进制的基是10例:比如说:2345这个数是个十进制数我们的一般就是个直接理解2345,这种思想是我们的常识思想,其实它真正的数字意义是在我们学习数字的时候刚开始的思维方式,两个一千,三个一百,四个10,五个1,拿过来作为机器思想的描述就是:每一位上的数字乘上他们对应位的权原创 2021-02-09 00:44:38 · 575 阅读 · 0 评论 -
我的西皮优学习笔记(四)->指令流水线
指令流水线做实验做到了比较困难的一个阶段,或者说刚开始继续实验就被难到了,verilog描述的电路中有很多不清楚的变量,没法立刻定义变量的作用和整体的一个功能,虽然电路图画出来了,但是还是模棱两可,整体去看Mycpu的verilog代码的时候发现,虽然是只看了单周期CPU的一个基本的功能,但是实际上代码中为了后面实验的复用直接把流水线的内容添加进去,对这几个阶段并没有熟悉到了然于胸,所以才会出现这种电路图画出来但是功能不能立刻清楚的一个过程。发现问题之后选择解决问题的资料,发现计算机体系结构这块直接在原创 2021-02-09 00:43:53 · 459 阅读 · 0 评论 -
我的西皮优学习笔记(三)->仿真常见错误及其调试方法
简单来说就是调试bug,因为对于硬件的调试方法和软件代码来说完全不同,在调试的过程上也有很大的差距,所以需要学习一些特定的调试方法1)功能仿真波形分析对于仿真波形图的观察来说是有一套套路的:熟悉待调试的设计找到一个能明确的错误点沿着设计的逻辑链条逆向逐级查看信号,直至找到源头。因为我们直接找到的出错点不一定是造成错误的源头,但是修正错误必须解决掉错误的源头,数字电路中各信号之间的关系是一环扣一环的,是遵循严格的逻辑因果关系的,所以从一个错误点触发,沿着逻辑追溯,就一定能找到错误的源头原创 2021-02-09 00:43:13 · 3746 阅读 · 0 评论 -
我的西皮优学习笔记(二)->时序逻辑电路
时序逻辑电路给时序逻辑电路下个定义的话,我觉得应该就是当前状态受之前状态和当下状态的影响。一、锁存器和触发器1)SR锁存器RSQ~Q00Qprev~Qprev011010011100SR锁存器相当于有四个状态:置位为1,复位为0置位有效,则本位为1置位为0,复位为1复位有效,则本位为0置位为0,复位为0保留先前的值置位为1,复位为1不定输出,混乱电路特点: 正常情况下通过分原创 2021-02-09 00:42:27 · 1220 阅读 · 0 评论 -
我的西皮优学习笔记(一)->Hardware Description Language
硬件描述语言当下比较流行的HDL(Hardware Description Language)分别是System Verilog 和 VHDL只说明逻辑功能,同时引入计算机辅助设计工具来生成优化的门电路,可以获得更高的设计效率。1)概述模块包括输入和输出的硬件块称为模块分类:行为模块:描述一个模块做什么结构模块:应用层次化方法描述一个模块怎样由更简单的部件构造示例:表示一个 y =!a* !b * !c+a * !b *!c + a *!b *c 的模块modu原创 2021-02-09 00:41:31 · 1214 阅读 · 2 评论