文章目录一.存储器及SDRAM分类1.存储器分类2.半导体存储器分类3.SDRAM分类二.什么是SDRAM?1.SDRAM基本概念2.SDRAM存储阵列3.SDRAM基本存储单元4.BANK概念5.SDRAM容量计算6.SDRAM功能框图7.SDRAM信号引脚8.SDRAM操作命令8.1禁止命令(INHIBIT)8.2空操作命令(NOP)8.3加载模式寄存器命令(LOADMODEREGISTER)8.3.1突发长度(BurstLength)8.3.2突发类型(BurstTYPE)8.3.3列选通潜伏期(CASLatency)8.3.4运行模式(OperatingMode)8.3.5写模式(Op
基于MIPS的五级流水线微处理器(CPU)设计摘要本设计为一个五级流水线CPU,此CPU结构为MIPS结构。流水线CPU与单周期和多周期CPU相比较,提高了指令的执行速度,改善了CPU的整体吞吐率,提高了CPU的性能。流水线CPU相对单周期CPU和多周期CPU,硬件设计上也更复杂,并且还有许多使流水线断流的因素。在设计中,重点解决影响流水线的数据相关、结构相关、控制相关,做到充分流水。获取verilog源码程序源码:3270516346qq文章目录基于MIPS的五级流水线微处理器(CPU)设计摘要获取verilog源码程序源码:3270516346qq一、流水线概述1、设计内容2、流水线原理3
i2c_bit_shift模块框图如下所示输入输出信号:整体的思路如下:通过输入的命令组合,完成一次8字节数据的传输。定义了6种命令,WR写数据请求(6’b000_001)STA起始位请求(6’b000_010)RD读数据请求(6’b000_100)STO停止位请求(6’b001_000)ACK应答位请求(6’b010_000)NACK无应答请求(6‘b100_000)采用了状态机里面套用序列机的思路,在每个状态里面分为四步完成一位数据的传输,使用计数器来控制。定义的状态如下(独热码编码):statediscriptionIDLE空闲状态GEN_STA产生起始信号WR_DATA写数据状态RD_
(25)Verilog实现三态门(inout)1.1目录1)目录2)FPGA简介3)VerilogHDL简介4)Verilog实现三态门(inout)5)结语1.2FPGA简介FPGA(FieldProgrammableGateArray)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA设计不是简单的芯片研究,主要是利用FPGA的模式进行其他行业产品的设计。与ASIC不同,FPGA在通信行业的应用比较广泛。通过对全球FPGA产品市场以及相关供应商
(25)Verilog实现三态门(inout)1.1目录1)目录2)FPGA简介3)VerilogHDL简介4)Verilog实现三态门(inout)5)结语1.2FPGA简介FPGA(FieldProgrammableGateArray)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA设计不是简单的芯片研究,主要是利用FPGA的模式进行其他行业产品的设计。与ASIC不同,FPGA在通信行业的应用比较广泛。通过对全球FPGA产品市场以及相关供应商
碎碎念:经过近一周的调试与查错(不好意思我实在太菜了),才终于从MATLAB代码的基础上,实现了Verilog对SVPWM算法的实现,同时给出仿真的结果。2022年10月20日更新:实在抱歉,由于之前在算法中没有考虑到输入电压值量化以及死区时间的问题,我也是在电路测试过程中才发现这个错误,今天进行了更正与修改。电压值量化的具体原理可以参考我的上一篇文章~目录1主要思路2模块代码2.1my_SVPWM模块2.2Jud_sec模块2.3 Cal_time模块2.4 Switch_time模块2.5Tri_gener模块2.6测试模块3仿真结果3.1MATLAB计算结果3.2Vivado2018.3
碎碎念:经过近一周的调试与查错(不好意思我实在太菜了),才终于从MATLAB代码的基础上,实现了Verilog对SVPWM算法的实现,同时给出仿真的结果。2022年10月20日更新:实在抱歉,由于之前在算法中没有考虑到输入电压值量化以及死区时间的问题,我也是在电路测试过程中才发现这个错误,今天进行了更正与修改。电压值量化的具体原理可以参考我的上一篇文章~目录1主要思路2模块代码2.1my_SVPWM模块2.2Jud_sec模块2.3 Cal_time模块2.4 Switch_time模块2.5Tri_gener模块2.6测试模块3仿真结果3.1MATLAB计算结果3.2Vivado2018.3
写在前面:本章主要理解加法器和减法器的概念,并了解Codeconverter的概念。使用Verilog实现多种加法器、减法器和代码转换器,通过FPGA验证Verilog实现的电路的行为。 本篇博客全站热榜排名:12Ⅰ.前置知识0x00半加器与全加器①半加器()有两个输入和输出:输入由2个1-bit 数组成,输出由 和 组成。当两个1-bit数相加大于可以用1-bit表示的数时,会生成进位(Carry)。②全加器()是Carry也是一个可加的加法器,用作实际的基础运算电路。0x01半减器与全减器减法器与加法器相反,是用于1-bit数减法的逻辑电路。半减器() 由 和 组成,分别表示两个1
写在前面:本章主要理解加法器和减法器的概念,并了解Codeconverter的概念。使用Verilog实现多种加法器、减法器和代码转换器,通过FPGA验证Verilog实现的电路的行为。 本篇博客全站热榜排名:12Ⅰ.前置知识0x00半加器与全加器①半加器()有两个输入和输出:输入由2个1-bit 数组成,输出由 和 组成。当两个1-bit数相加大于可以用1-bit表示的数时,会生成进位(Carry)。②全加器()是Carry也是一个可加的加法器,用作实际的基础运算电路。0x01半减器与全减器减法器与加法器相反,是用于1-bit数减法的逻辑电路。半减器() 由 和 组成,分别表示两个1
编写Testbench的目的是把RTL代码在Modsim中进行仿真验证,通过查看仿真波形和打印信息验证代码逻辑是否正确。下面以3-8译码器说明Testbench代码结构。 Testbench代码的本质是通过模拟输入信号的变化来观察输出信号是否符合设计要求!因此,Testbench的核心在于如何模拟输入信号,并把模拟的输入信号输入到功能模块中产生输出信号,如上图所示。解决方案为:通过随机数产生输入信号通过实例化模块把模拟输入信号传入功能模块中Testbench代码可自定义,也可自动生成!2自定义3-8译码器Testbench代码2.1 现有的功能模块为3-8译码器