EDA软件工具.docVIP

  • 5
  • 0
  • 约2.73千字
  • 约 8页
  • 2017-08-22 发布于江苏
  • 举报
EDA软件工具

EDA设 计 课 程 实 验 报 告 实 验 题 目: EDA软件工具 学 院 名 称: 专 业: 电子信息工程 班 级: 姓 名: 高胜 学 号 小 组 成 员: 电子与信息工程学院 指 导 教 师: 实验目的 (1)熟悉EDA的开发流程 (2)熟悉QuartusII的使用方法 (3)掌握ModelSim仿真软件的使用 设计任务及要求 (1)设计总体要求: 本实验通过对四位二进制加法器和七人投票表决器的电路实现和仿真测试过程来初步熟悉QuartusII的使用方法和掌握ModelSim仿真软件的使用。 系统设计 功能模块电路设计(报告主要部分) 4位二进制加法器 输入输出模块框图 模块逻辑表达 {sum,cout}=ina+inb+cin; votepass1111111111111101111110011111000111100000110000001000000000000000 算法流程图(见尾页) Verilog源代码(每句加注释) module add4(ina, inb,cin,cout,sum) input[3:0] ina,inb; input cin; output[3:0] sum; output cout; assign {sum,cout}=ina+inb+cin; endmodule 七人投票表决器 输入输出模块框图 算法流程图(见尾页) Verilog源代码(每句加注释) module voter(vote,pass); 模块名 input[7:1]vote; 定义输出口 output reg pass; 定义输出口 reg[2:0] sum;integer i; 定义寄存器 always@(vote) begin sum=0; for(i=1;i8;i=i+1) //for语句 if(vote[i]) sum=sum+1; if(sum[2]) pass=1; //若超过四人赞成,则pass=1 else pass=0; end endmodule 系统调试 4.1仿真调试 仿真代码 4位二进制加法器 `timescale 1ns/1ns module add4_tp; reg[3:0] a,b; reg cin; wire[3:0] sum; wire cout; parameter DELY=100; add4 ul(sum,cout,a,b,cin); initial begin a=4d0;b=4d0;cin=1b0; #DELY a=4d1;b=4d2;cin=1b1; #DELY a=4d2;b=4d3;cin=1b0; #DELY a=4d11;b=4d2;cin=1b1; #DELY a=4d1;b=4d12;cin=1b0; #DELY $finish; end initial $monitor($time,,,%d+%d+%b={%b,%d},a,b,cin,cout,sum); endmodule module add4(ina, inb,cin,cout,sum); input[3:0] ina,inb; input cin; output[3:0] sum; output cout; assign {sum,cout}=ina+inb+cin; endmodule 七人投票表决器 `timescale 1ns/1ns module voter_fz; reg[7:1]vote; parameter DELY=100; voter u1(vote,pass); initial begin vote=7b0; #DELY vote=7b1100010; #DELY vote=7b00

文档评论(0)

1亿VIP精品文档

相关文档