资源描述:
《计算机组成原理课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、组成原理课程设计何辉目录Verilog语言简介MIPS处理器简介MIPSprocesser实例分析实例仿真演示Verilog简介VerilogHDL语言的描述层次描述级别抽象级别功能描述物理模型行为级系统级用语言提供的高级结构能够实现所设计模块外部性能的模型芯片、电路板和物理划分的子模块算法级用语言提供的高级功能能够实现算法运行的模型部件之间的物理连接,电路板RTL级描述数据如何在寄存器之间流动和如何处理、控制这些数据流动的模型芯片、宏单元逻辑级门级描述逻辑门和逻辑门之间连接的模型标准单元布图电路级开关
2、级描述器件中三极管和存储节点以及它们之间连接的模型晶体管布图开发流程VerilogHDL程序结构modulemodule_name(port_list)//声明各种变量、信号reg//寄存器wire//线网parameter//参数input//输入信号output/输出信号inout//输入输出信号function//函数task//任务……//程序代码initialassignmentalwaysassignmentmoduleassignmentgateassignmentUDPassignmen
3、tcontinousassignmentendmodule3-8译码器示例moduledecoder3to8(din,dout);input[2:0]din;output[7:0]dout;reg[7:0]dout;always@(din)begincase(din)3'b000:dout<=8'b00000001;3'b001:dout<=8'b00000010;3'b010:dout<=8'b00000100;3'b011:dout<=8'b00001000;3'b100:dout<=8'b0001
4、0000;3'b101:dout<=8'b00100000;3'b110:dout<=8'b01000000;3'b111:dout<=8'b10000000;endcaseendendmodule层次化设计模块化分模块、分层次地进行设计描述模块例化将已存在的VerilogHDL模块作为当前设计的一个组件位置映射法、信号名映射法以及二者的混合映射法层次化设计位置映射法模块名例化名(端口1信号名,端口2信号名,端口3信号名,…);modulecompare_core(result,a,b);input[7
5、:0]a,b;outputresult;assignresult=(a==b)?1:0;endmodulemodulecompare_app0(result0,a0,b0,result1,a1,b1);input[7:0]a0,b0,a1,b1;outputresult0,result1;compare_coreinst_compare_core0(result0,a0,b0);compare_coreinst_compare_core1(result1,a1,b1);endmodule描述形式1结构描
6、述形式门级单元多输入门多输出门三态门andbufbufif0nandnotbufif1ornotif0nornotif1xorxnor描述形式门类型<实例名>(输出,输入1,……,输入N)例如:nandna01(na_out,a,b,c);描述形式2行为描述形式1)语句块begin……end/fork……join之间always@(aorb)begin:adder1//adder1为语句块说明语句c=a+b;end描述形式1)语句块A串行begin…end示例:reg[7:0]r;begin//由一系列
7、延迟产生的波形r=8'h35;//语句1r=8'hE2;//语句2r=8'h00;//语句3r=8'hF7;//语句4end描述形式1)语句块B并行fork…join示例:reg[7:0]r1,r2,r3,r4;forkr1='h35;//语句1r2='hE2;//语句2r3='h00;//语句3r4='hF7;//语句4join描述形式2)过程结构initial模块always模块任务(task)模块函数(function)模块描述形式Ainitial模块面向仿真,不可综合initialbegin/f
8、ork块内变量说明时序控制1行为语句1;……时序控制n行为语句n;end/join描述形式initialbeginclk=0;ar=0;ai=0;br=0;bi=0;#100;ar=20;ai=10;br=10;bi=10;end描述形式Balways模块always@(敏感事件列表)begin/fork块内变量说明时序控制1行为语句1;……时序控制n行为语句n;end/join描述形式moduleand3(f,a,b,c);inputa,