2014-2015-2-G02A3050-1电子电路设计训练(数字EDA部分)实验报告(2015年5月20日)教学班学号姓名组长签名成绩自动化科学与电气工程学院目录目录 1实验一、简单组合逻辑与简单时序逻辑 11、1实验任务1——简单组合逻辑 11、1、1实验要求 11、1、2模块的核心逻辑设计 11、1、3测试程序的核心逻辑设计 11、1、4仿真实验关键结果及其解释 21、2实验任务2——简单时序逻辑 31、2、1实验要求 31、2、2模块的核心逻辑设计 31、2、3测试程序的核心逻辑设计 31、2、4仿真实验关键结果及其解释 41、3实验小结 4实验二、条件语句与always过程块 52、1实验任务1——利用条件语句实现计数分频时序电路 52、1、1实验要求 52、1、2模块的核心逻辑设计 52、1、3测试程序的核心逻辑设计 62、1、4仿真实验关键结果及其解释 72、2实验任务2——用always块实现较复杂的组合逻辑电路 82、2、1实验要求 82、2、2模块的核心逻辑设计 82、2、3测试程序的核心逻辑设计 92、2、4仿真实验关键结果及其解释 102、3实验小结 11实验三、赋值、函数与任务 123、1实验任务1——阻塞赋值与非阻塞赋值的区别 123、1、1实验要求 123、1、2模块的核心逻辑设计 123、1、3测试程序的核心逻辑设计 133、1、4仿真实验关键结果及其解释 143、2实验任务2——在VerilogHDL中使用函数 163、2、1实验要求 163、2、2模块的核心逻辑设计 163、2、3测试程序的核心逻辑设计 183、2、4仿真实验关键结果及其解释 193、3实验任务3——在VerilogHDL中使用任务 203、3、1实验要求 203、3、2模块的核心逻辑设计 203、2、3测试程序的核心逻辑设计 213、2、4仿真实验关键结果及其解释 223、3实验小结 22实验四、有限状态机 234、1实验任务1——基于状态机的串行数据检测器 234、1、1实验要求 234、1、2模块的核心逻辑设计 234、1、3测试程序的核心逻辑设计 254、1、4仿真实验关键结果及其解释 264、2实验任务2——楼梯灯 264、2、1实验要求 264、2、2模块的核心逻辑设计 274、2、3测试程序的核心逻辑设计 314、2、4仿真实验关键结果及其解释 324、3实验小结 34实验一、简单组合逻辑与简单时序逻辑1、1实验任务1——简单组合逻辑1、1、1实验要求(1)设计一个两位数据比较器,比较两个数据a与b。若两数据相同,则给出结果1,否则给出结果0。(2)设计一个字节(8位)的比较器,比较两个字节a[7:0]与b[7:0]的大小。若a大于b,则输出高电平,否则输出低电平。1、1、2模块的核心逻辑设计(1)两位数据比较器assignequal=(a==b)?1:0;//用连续赋值语句assign对结果equal赋值,a=b时,equal输出为1,否则为0(2)字节数据比较器assignres=(a>b)?1:0;//用连续语句assign对结果equal赋值,a>b时equal输出为1,否则输出为01、1、3测试程序的核心逻辑设计(1)两位数据比较器always#50clock=~clock;//产生周期性跳变的时钟,50个时间单位跳变一次always@(negedgeclock)//always后的语句表示时序控制,每次时钟下降沿时刻产生不同的a与bbegina={$random}%2;b={$random}%2;//每次随机产生a与bendinitialbegin#100000000$stop;end//系统任务,暂停仿真以观察波形(2)字节数据比较器a={$random}%256;b={$random}%256;//a与b从0~255共256个数中随机产生,即可生成8位字节数据1、1、4仿真实验关键结果及其解释(1)两位数据比较器图1两位数据比较器波形图如图1所示,a与b相同时equal输出为高电平,否则输出低电平。(2)字节数据比较器图2字节数据比较器波形图如图2所示,a>b时,res输出高电平,否则res输出低电平。1、2实验任务2——简单时序逻辑1、2、1实验要求设计一个分频器,将时钟波形二分频。1、2、2模块的核心逻辑设计always@(posedgeclk_in)//always语句后表示时序控制,每次clk_in时钟上升沿时刻进行动作beginif(!reset)clk_out=0;//reset信号为低电平时,输出清零elseclk_out=~clk_out;//reset为高电平时,输出时钟clk_out在输入时钟clk_in的上升沿时刻翻转end1、2、3测试程序的核心逻辑设计always#`c
Verilog实验报告 来自淘豆网m.daumloan.com转载请标明出处.