<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_71078397的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_71078397</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_71078397]]></copyright><item><title><![CDATA[适用于2022R1旧版本的HFSS自动化PyAEDT安装]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/164191298</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/164191298</guid><author>m0_71078397</author><pubDate>Sun, 30 Aug 2026 17:36:36 +0800</pubDate><description><![CDATA[ai提示可以通过HFSS安装完成之后内置的cpython完成安装，但是我遇到一些麻烦不能解决。]]></description><category></category></item><item><title><![CDATA[matlab学习-day1]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/155915914</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/155915914</guid><author>m0_71078397</author><pubDate>Sun, 14 Dec 2025 20:02:21 +0800</pubDate><description><![CDATA[表示给cos赋字符串，求第8个字符。]]></description><category></category></item><item><title><![CDATA[Verilog注意事项（不断补充版）]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/129343723</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/129343723</guid><author>m0_71078397</author><pubDate>Sun, 05 Mar 2023 12:02:09 +0800</pubDate><description><![CDATA[Verilog注意事项（不断补充版）]]></description><category></category></item><item><title><![CDATA[《自己动手写CPU》11.异常相关指令实现]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/128870999</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/128870999</guid><author>m0_71078397</author><pubDate>Fri, 03 Feb 2023 23:18:36 +0800</pubDate><description><![CDATA[1.实现的六种异常介绍

MIPS32有不同的异常类型及其优先级，OpenMIPS只实现了六种异常情况的处理：

●硬件复位(复位后所有信号清零)

●中断(软件中断，硬件中断)

●syscall系统调用(在用户模式下执行内核模式下的某些操作)

●无效指令(OpenMIPS未定义的指令)

●整数溢出(算术操作指令add,addi,sub运算溢出)

●自陷指令(不是很理解他的作用)

2.解决异常方法：精确异常

①精确异常：异常发生时，处理器转移到异常处理例程，异常处理结束后返回原程序继续执行，不破]]></description><category></category></item><item><title><![CDATA[《自己动手写CPU》10.协处理器访问指令的实现]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/128769082</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/128769082</guid><author>m0_71078397</author><pubDate>Fri, 27 Jan 2023 21:48:10 +0800</pubDate><description><![CDATA[1.MIPS32架构提供了最多四个协处理器：

CP0(系统控制),

CP1(FPU,浮点处理单元),

CP2(特定实现),

CP3(FPU,浮点处理单元)。

OpenMIPS没有实现浮点运算CP1,CP3不用实现，CP2也没有作用，只实现了CP0。

2.CP0的主要工作有：

配置CPU工作状态：通过读/写一个或一些内部寄存器来改变一些CPU特性(将字节次序从MSB变为LSB,或从LSB变为MSB)

高速缓存控制:MIPS32架构的CPU会集成缓存控制器，用来控制读写缓存

异常控制：异常发]]></description><category></category></item><item><title><![CDATA[《自己动手写CPU》9.存储加载指令实现及load相关解决]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/128642334</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/128642334</guid><author>m0_71078397</author><pubDate>Sun, 15 Jan 2023 10:34:59 +0800</pubDate><description><![CDATA[1.知识前提:

&lt;1&gt;一个字 = 2个半字 = 2×2个字节 = 2×2×8bit = 32bit

&lt;2&gt;加载存储地址计算:

指令中0~15位为offset，21~15位为base，加载存储指令为16位的offset符号扩展至32位，然后与地址为base的通用寄存器的值相加。loadaddr/storeaddr

&lt;3&gt;地址对齐：提高访问次数，提高读取效率；提高内存利用率，提高存储效率

未地址对齐存储2个4字节数据：访问2次，占64位


			
			
	]]></description><category></category></item><item><title><![CDATA[《自己动手写CPU》8.转移指令]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/128292125</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/128292125</guid><author>m0_71078397</author><pubDate>Fri, 06 Jan 2023 22:00:33 +0800</pubDate><description><![CDATA[自己动手写CPU 第八章]]></description><category></category></item><item><title><![CDATA[51定时器]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/127343561</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/127343561</guid><author>m0_71078397</author><pubDate>Sun, 23 Oct 2022 22:50:00 +0800</pubDate><description><![CDATA[控制寄存器描述



定时器工作模式及电路图





使用步骤

1.设置TMOD，配置好工作模式

2.设置TLn，THn的初值，来设置定时时间

3.运行控制TRn置1，使定时器计数

4.判断TFn是否溢出，判断溢出次数



LED一秒亮一秒暗代码


#include&lt;reg52.h&gt;//注意要选和单片机型号一致的

sbit LED=p0^0;  //对应下图最右边小灯。P0.0
sbit ADDR0=P1^0;//看下LED小灯电路图，控制小灯的74HC138模块接口定义
s]]></description><category></category></item><item><title><![CDATA[除法指令div.divu]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/126610918</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/126610918</guid><author>m0_71078397</author><pubDate>Sat, 10 Sep 2022 22:21:27 +0800</pubDate><description><![CDATA[试商法思想及DIV模块的Verilog实现]]></description><category></category></item><item><title><![CDATA[HI,LO寄存器添加]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/126063367</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/126063367</guid><author>m0_71078397</author><pubDate>Fri, 29 Jul 2022 20:22:33 +0800</pubDate><description><![CDATA[附:求大佬细说算术右移的代码




]]></description><category></category></item><item><title><![CDATA[《自己动手写CPU》4.ori指令的实现+generate语法]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/125362509</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/125362509</guid><author>m0_71078397</author><pubDate>Sun, 19 Jun 2022 21:30:41 +0800</pubDate><description><![CDATA[1.立即数与扩展

2.流水线构造

模块图如下:



各阶段工作及代码:

①取指:



②译码:







③执行:





④访存:



⑤回写:

在regfile模块中实现，只需将接口连接

⑥顶层模块

利用以上模块，进行例化，端口连接



3.指令存储器ROM的实现

ROM只读，大小为128KB



4.最小SOPC

由openmips和ROM组成



5.generate

for循环里不能直接调用module，这时可用generate。



...]]></description><category></category></item><item><title><![CDATA[流水线思想的openMIPS处理器设计+分频器设计]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/125247985</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/125247985</guid><author>m0_71078397</author><pubDate>Sun, 12 Jun 2022 18:57:39 +0800</pubDate><description><![CDATA[1.流水线思想

将复杂的组合逻辑分为几个独立简单的组合逻辑，然后在这些部分间加入寄存器，保证在一个时钟周期内得到每部分的最终运算结果。

原有的运算时间T被拆成T/n

2.三级流水线

3个硬件单元分别完成取指，译码，执行，即在"执行"时可对下条指令译码，对下下条指令取指。



3.若取指时间过长，则译码、执行会停滞，这时我们需要引入缓存。

处理器从缓存读取指令只需一个时钟周期。

4.指令为加载/存储指令时，涉及访问存储器，使执行时间长，这时我们引入五级流水线——

取指，译码，执行，访问，回写
]]></description><category></category></item><item><title><![CDATA[自己动手写CPU一、二章]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/125133059</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/125133059</guid><author>m0_71078397</author><pubDate>Sun, 05 Jun 2022 18:57:02 +0800</pubDate><description><![CDATA[1.计算机组成运行

处理器(CPU)从存储器中获取指令，按指令执行操作，输入用来提供运算数据、输出用来显示运算结果。

2.指令集构架(ISA)

指令的主要任务是对操作数进行运算

①复杂指令集(CISC):指令的0，1编码串的长度不一

②精简指令集(RISC):指令的0，1编码串长度固定

3.MIPS32的基本数据类型及长度

位:1bit   字节:8bit   半字:16bit  字:32bit 半字:64bit

4.寄存器

①通用寄存器:用$0，$1，…$31表示，有...]]></description><category></category></item><item><title><![CDATA[Verilog循环+BCD加法器+16位移位式乘法器]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/125031451</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/125031451</guid><author>m0_71078397</author><pubDate>Sun, 29 May 2022 15:48:11 +0800</pubDate><description><![CDATA[1.for循环

循环体为多条语句用begin&lt;循环语句&gt;end



2.while循环



3.forever-disable循环(详细见上图)

4.repeat循环

若repeat表达式中出现x或z，则表达式将被当成0，语句块不被执行。

repeat循环中出现disable立即结束循环，不管循环了几次或是否结束。

5.wait语句

使程序操作流程暂停，直到wait的表达式变为真后，再执行wait语句块



6.begin-end 包含多条语句,语句按顺序执行

fork...]]></description><category></category></item><item><title><![CDATA[电路延迟时序的设定+2对1多路选择器]]></title><link>https://blog.youkuaiyun.com/m0_71078397/article/details/124911515</link><guid>https://blog.youkuaiyun.com/m0_71078397/article/details/124911515</guid><author>m0_71078397</author><pubDate>Sun, 22 May 2022 16:30:37 +0800</pubDate><description><![CDATA[一.

1.逻辑门延迟

2.连接线延迟

wire#4 y1;

3.模块路径延迟

当整体设计改变时，以上两种描述时间的延迟方式要做出修改。而模块路径延迟只针对从输入到输出路径，设定其延迟时间，无需改变语句指令。



注:特定区块只在仿真测试时有效。在硬件实现中，综合器将特定区块specify-endspecify忽略。

4.跳变沿敏感的路径延迟

4种准位（0，1，x，z）有十二种转态变化

5.条件式延迟

可利用并列路径和完全连接路径进行延迟设定。

6.延迟时间值设定

使延迟...]]></description><category></category></item></channel></rss>