[{"data":1,"prerenderedAt":320},["ShallowReactive",2],{"navigation":3,"\u002Fverilog\u002Fmips6":144,"\u002Fverilog\u002Fmips6-surround":315},[4,36,53,86,131],{"title":5,"path":6,"stem":7,"children":8,"icon":35},"Golang","\u002Fgolang","1.golang\u002F1.index",[9,11,15,19,23,27,31],{"title":10,"path":6,"stem":7},"golang-各种golang学习以及使用过程中记录",{"title":12,"path":13,"stem":14},"gopls-官方gopls内置mcp server的基本使用","\u002Fgolang\u002Fgopls_mcp_usages","1.golang\u002F2.gopls_mcp_usages",{"title":16,"path":17,"stem":18},"实践-(一)创建简单的http服务器","\u002Fgolang\u002Fgo_http_simple_server","1.golang\u002F3.go_http_simple_server",{"title":20,"path":21,"stem":22},"wails入门系列(一)环境安装与demo","\u002Fgolang\u002Fwails_start","1.golang\u002F4.wails_start",{"title":24,"path":25,"stem":26},"wails入门系列(二)无边框应用的菜单栏以及窗口拖拽","\u002Fgolang\u002Fwails_frameless","1.golang\u002F5.wails_frameless",{"title":28,"path":29,"stem":30},"go\u002Fredis-redis中大数字自动转换成指数形式的处理","\u002Fgolang\u002Fredis_big_num","1.golang\u002F6.redis_big_num",{"title":32,"path":33,"stem":34},"go\u002F方法记录-局部坐标与世界坐标间的相互转换(位置\u002F方向)","\u002Fgolang\u002Fworld_local_transform","1.golang\u002F7.world_local_transform",false,{"title":37,"icon":35,"path":38,"stem":39,"children":40,"page":35},"瞎折腾","\u002Ftinkering","2.tinkering",[41,45,49],{"title":42,"path":43,"stem":44},"mi50显卡ubuntu运行大模型开坑(一)显卡准备以及驱动安装","\u002Ftinkering\u002Fmi50_gpu_llm_1","2.tinkering\u002F1.mi50_gpu_llm_1",{"title":46,"path":47,"stem":48},"mi50显卡ubuntu运行大模型开坑(二)使用llama.cpp部署Qwen3系列","\u002Ftinkering\u002Fmi50_gpu_llm_2","2.tinkering\u002F2.mi50_gpu_llm_2",{"title":50,"path":51,"stem":52},"mi50显卡ubuntu运行大模型开坑(三)安装风扇并且控制转速","\u002Ftinkering\u002Fmi50_gpu_llm_3","2.tinkering\u002F3.mi50_gpu_llm_3",{"title":54,"icon":35,"path":55,"stem":56,"children":57,"page":35},"LLM","\u002Fllm","3.llm",[58,62,66,70,74,78,82],{"title":59,"path":60,"stem":61},"langchain入门-安装以及初次使用(deepseek api版本)","\u002Fllm\u002Flangchain1","3.llm\u002F01.langchain1",{"title":63,"path":64,"stem":65},"langchain入门-使用langchain调用本地部署的大模型(以llama.cpp以及ollama为例)","\u002Fllm\u002Flangchain2","3.llm\u002F02.langchain2",{"title":67,"path":68,"stem":69},"langchain入门-使用langchain编写一个简单的聊天机器人(DeepSeek API&命令行版本)","\u002Fllm\u002Flangchain3","3.llm\u002F03.langchain3",{"title":71,"path":72,"stem":73},"langchain入门-使用langchain构建一个拥有RAG能力的代码问答应用(DeepSeek API&本地bge-m3&命令行版本)","\u002Fllm\u002Flangchain4","3.llm\u002F04.langchain4",{"title":75,"path":76,"stem":77},"golang\u002Feino eino框架的基础使用 Message以及ChatModel入门","\u002Fllm\u002Feino1","3.llm\u002F05.eino1",{"title":79,"path":80,"stem":81},"golang\u002Feino eino框架的基础使用 在ChatModel中使用工具","\u002Fllm\u002Feino2","3.llm\u002F06.eino2",{"title":83,"path":84,"stem":85},"llm\u002Fagent agent-zero初步搭建与使用","\u002Fllm\u002Fagent_zero_start","3.llm\u002F07.agent_zero_start",{"title":87,"icon":35,"path":88,"stem":89,"children":90,"page":35},"Verilog","\u002Fverilog","4.verilog",[91,95,99,103,107,111,115,119,123,127],{"title":92,"path":93,"stem":94},"31条指令单周期cpu设计(Verilog)-(一)相关软件","\u002Fverilog\u002Fmips1","4.verilog\u002F01.mips1",{"title":96,"path":97,"stem":98},"31条指令单周期cpu设计(Verilog)-(二)总体设计","\u002Fverilog\u002Fmips2","4.verilog\u002F02.mips2",{"title":100,"path":101,"stem":102},"31条指令单周期cpu设计(Verilog)-(三)指令分析","\u002Fverilog\u002Fmips3","4.verilog\u002F03.mips3",{"title":104,"path":105,"stem":106},"31条指令单周期cpu设计(Verilog)-(四)数据输入输出关系表","\u002Fverilog\u002Fmips4","4.verilog\u002F04.mips4",{"title":108,"path":109,"stem":110},"31条指令单周期cpu设计(Verilog)-(五)整体数据通路图设计","\u002Fverilog\u002Fmips5","4.verilog\u002F05.mips5",{"title":112,"path":113,"stem":114},"31条指令单周期cpu设计(Verilog)-(六)指令操作时间表设计","\u002Fverilog\u002Fmips6","4.verilog\u002F06.mips6",{"title":116,"path":117,"stem":118},"31条指令单周期cpu设计(Verilog)-(七)整体代码结构","\u002Fverilog\u002Fmips7","4.verilog\u002F07.mips7",{"title":120,"path":121,"stem":122},"31条指令单周期cpu设计(Verilog)-(八)上代码→指令译码以及控制器","\u002Fverilog\u002Fmips8","4.verilog\u002F08.mips8",{"title":124,"path":125,"stem":126},"31条指令单周期cpu设计(Verilog)-(九)上代码→基础模块实现","\u002Fverilog\u002Fmips9","4.verilog\u002F09.mips9",{"title":128,"path":129,"stem":130},"31条指令单周期cpu设计(Verilog)-(十)上代码→顶层模块设计&总结","\u002Fverilog\u002Fmips10","4.verilog\u002F10.mips10",{"title":132,"icon":35,"path":133,"stem":134,"children":135,"page":35},"Rust","\u002Frust","5.rust",[136,140],{"title":137,"path":138,"stem":139},"egui(一)从编译运行template开始","\u002Frust\u002Fegui1","5.rust\u002F01.egui1",{"title":141,"path":142,"stem":143},"egui(二)看看template的main函数：日志输出以及eframe run_native","\u002Frust\u002Fegui2","5.rust\u002F02.egui2",{"id":145,"title":112,"body":146,"description":305,"extension":306,"links":307,"meta":308,"navigation":310,"path":113,"seo":311,"stem":114,"__hash__":314},"docs\u002F4.verilog\u002F06.mips6.md",{"type":147,"value":148,"toc":297},"minimark",[149,153,172,175,188,191],[150,151,152],"h2",{"id":152},"说在前面",[154,155,156],"blockquote",{},[157,158,159,163,166,169],"ul",{},[160,161,162],"li",{},"开发环境：Vivado",[160,164,165],{},"语言：Verilog",[160,167,168],{},"cpu框架：Mips",[160,170,171],{},"控制器：组合逻辑",[150,173,174],{"id":174},"设计目的",[157,176,177,180],{},[160,178,179],{},"这张表格又是干啥的呢(+_+)?",[160,181,182,183],{},"废话少说，用来设计控制器的 （红色方框）\n",[184,185],"img",{"alt":186,"src":187},"控制器",".\u002Fverilog\u002F40.webp",[150,189,190],{"id":190},"设计流程",[157,192,193,267,290],{},[160,194,195,196,200,203,204,207,208],{},"表头为31条指令，首列为所有的控制信号 ",[197,198,199],"del",{},"（控制信号需要解释吗？）",[184,201],{"alt":186,"src":202},".\u002Fverilog\u002F41.webp","\n控制信号取值为0\u002F1，上面表格中的Rsc、Rtc、Rdc是寄存器的输入 ",[197,205,206],{},"（应该设计过寄存器吧？）","\n  \n  ",[209,210,211,212],"table",{},"\n  ",[213,214,215,216,215,227,215,235,215,243,215,251,215,259],"tbody",{},"\n    ",[217,218,219,220,219,224,215],"tr",{},"\n      ",[221,222,223],"th",{},"M开头",[221,225,226],{},"MUX控制信号",[217,228,219,229,219,232,215],{},[221,230,231],{},"A开头",[221,233,234],{},"ALU控制信号",[217,236,219,237,219,240,215],{},[221,238,239],{},"RF_W",[221,241,242],{},"寄存器堆写入enable信号",[217,244,219,245,219,248,215],{},[221,246,247],{},"PC_CLK",[221,249,250],{},"pc寄存器enable信号",[217,252,219,253,219,256,215],{},[221,254,255],{},"IM_R",[221,257,258],{},"指令存储器控制信号",[217,260,219,261,219,264,215],{},[221,262,263],{},"DM开头",[221,265,266],{},"数据存储器控制信号",[160,268,269,270,274,278,279,285,286],{},"根据每一条指令的数据通路图确定控制信号的值；以add为例\n",[184,271],{"alt":272,"src":273},"add",".\u002Fverilog\u002F6.webp",[184,275],{"alt":276,"src":277},"add控制器",".\u002Fverilog\u002F42.webp","\n对比可以完善表格为（",[280,281,284],"span",{"className":282},[283],"text-secondary","未涉及的控制信号可以不填","）：\n",[184,287],{"alt":288,"src":289},"add控制器完善",".\u002Fverilog\u002F43.webp",[160,291,292,293],{},"重复以上步骤，设计其他指令的控制器\n",[184,294],{"alt":295,"src":296},"其他指令控制器",".\u002Fverilog\u002F44.webp",{"title":298,"searchDepth":299,"depth":300,"links":301},"",1,2,[302,303,304],{"id":152,"depth":300,"text":152},{"id":174,"depth":300,"text":174},{"id":190,"depth":300,"text":190},"详解31条MIPS单周期CPU的指令操作时间表设计，包括控制器真值表设计方法、各控制信号的作用说明，以及基于数据通路图的控制器实现步骤。","md",null,{"date":309},"2019-03-21 18:22:49",true,{"title":312,"description":313},"【verilog\u002Fmips】31条指令单周期cpu设计(Verilog)-(六)指令操作时间表设计","详细介绍31条MIPS单周期CPU的指令操作时间表设计方法，包含控制器真值表设计流程、各控制信号（ALU、MUX、寄存器等）的作用说明，指导Verilog控制器代码编写。","b4d1Hq5vwJjMYFp1DITY1YfOfUHq6m0m6fP49WJJGAA",[316,318],{"title":108,"path":109,"stem":110,"description":317,"children":-1},"详解31条MIPS单周期CPU的整体数据通路图设计，包括PC、NPC、ALU、寄存器堆、MUX等部件的连接方式，以及Verilog模块化实现思路。",{"title":116,"path":117,"stem":118,"description":319,"children":-1},"详解31条MIPS单周期CPU的Verilog整体代码结构，包括顶层模块scpu、指令译码器cpu_ins、控制器cpu_opcode等模块的组织方式和连接关系。",1776616492654]