⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pc.v

📁 此代码可用modelsim进行仿真
💻 V
字号:
/*****************************************//**        8bit RISC MCU desing         **//**            pc module                **//**            BY yuzhijie              **//**            2006.11.19               **//*****************************************/`timescale 1ns/100psmodule pc(clk4,reset,load_pc,load_pc_goto,load_pc_call,          stack1,load_pc_retlw,literal,pc_addr);//status    input clk4,reset,load_pc,load_pc_goto,load_pc_call,load_pc_retlw;   // input [1:0]status;    input [10:0]stack1;    input [8:0]literal;    output [10:0]pc_addr;    reg [10:0]pc_addr;    reg stateh;    parameter t1=1'b0;    always@(posedge clk4)    begin        if(reset==1)        begin           pc_addr<=11'h7ff;        end        else if(load_pc==0)            begin                pc_addr<=pc_addr+1;            end        else if(load_pc==1&&load_pc_call==1)//CALL            begin                 pc_addr[10:0]<={2'b00,1'b0,literal[7:0]};               /*case(stateh)                                 t1:                   begin                   pc_addr[10:0]<={2'b00,1'b0,literal[7:0]};                   stateh<=1'b1;                   end                                                        default :                   begin                    pc_addr<=pc_addr;                   stateh<=1'b0;                   end               endcase*/            end            else if(load_pc==1&&load_pc_goto==1)//goto            begin                pc_addr[10:0]<={2'b00,literal[8:0]};               /*case(stateh)                                 t1:                   begin                   pc_addr[10:0]<={2'b00,literal[8:0]};                   stateh<=1'b1;                   end                                                        default :                   begin                    pc_addr<=pc_addr;                   stateh<=1'b0;                   end               endcase*/            end            else if(load_pc==1&&load_pc_retlw==1)//RETLW            begin                pc_addr<=stack1;              /* case(stateh)                                 t1:                   begin                   pc_addr<=stack1;                   stateh<=1'b1;                   end                                                        default :                   begin                    pc_addr<=pc_addr;                   stateh<=1'b0;                   end               endcase*/            end         endendmodule                                  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -