网站大量收购独家精品文档,联系QQ:2885784924

SOC原理及應用实验指导书(修订实验1).doc

SOC原理及應用实验指导书(修订实验1).doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SOC原理及應用实验指导书(修订实验1)

实验一 简单的组合逻辑和时序逻辑的设计 一、实验目的 1.掌握基本组合逻辑电路的实现方法,掌握连续赋值语句和条件赋值语句的使用方法; 2.掌握基本时序逻辑电路的实现,掌握always语句的使用方法。 二、实验原理 1.简单组合逻辑设计 描述组合逻辑电路通常利用assign连续赋值语句的数据流方式。连续赋值语句将值赋给线网(连续赋值不能为寄存器赋值)。连续赋值语句只要在右端表达式的操作数上有事件(事件为值的变化)发生时,表达式即被计算,如果结果值有变化,新结果就赋给左边的线网。 连续赋值的目标类型如下:1) 标量线网;2) 向量线网;3) 向量的常数型位选择;4) 向量的常数型部分选择;5) 上述类型的任意的拼接运算结果。 2.简单时序逻辑设计 在Verilog HDL中,相对于组合逻辑电路,时序逻辑电路也有规定的表述方式。在可综合的Verilog HDL模型,我们通常使用always块和 @(posedge clk)或 @(negedge clk)的结构来表述时序逻辑。 三、实验仪器 序号 名称 型号与规格 数量 备注 1 计算机系统(PC机) Intel奔腾系列,1G内存 1 2 Quarues 6.0以上 1 四、实验内容 1.简单组合逻辑设计 组合逻辑设计示例:可综合的数据比较器。它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0。描述组合逻辑时常使用assign结构。注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。 模块源代码: //--------------- compare.v ----------------- module compare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; //a等于b时,equal输出为1;a不等于b时, //equal输出为0。 Endmodule 仿真波形(部分): 2.简单时序逻辑设计 时序逻辑设计示例:可综合的1/2分频器模型。 // half_clk.v: module half_clk(reset,clk_in,clk_out); input clk_in,reset; output clk_out; reg clk_out; always @(posedge clk_in) begin if(!reset) clk_out=0; else clk_out=~clk_out; end endmodule 在always块中,被赋值的信号都必须定义为reg型。对于reg型数据,如果未对它进行赋值,仿真工具会认为它是不定态。为了能正确地观察到仿真结果,在可综合的模块中我们通常定义一个复位信号reset,当reset为低电平时,对电路中的寄存器进行复位。 仿真波形: 3. 用assign语句设计一个4选1的数据选择器。(参照书P72 例3-3) module MUX41a(a,b,c,d,s1,s0,y); input a,b,c,d,s1,s0; output y; wire [1:0] SEL; wire AT,BT,CT,DT; assign SEL = {s1,s0}; assign AT = (SEL == 2D0); assign BT = (SEL == 2D1); assign CT = (SEL == 2D2); assign DT = (SEL == 2D3); assign y = (a AT) | (b BT) | ( c CT) | (d DT); endmodule 4. 设计一个四位二进制计数器。(参照书P90 例3-21) 五、思考题 数据比较器compare 能否使用过程语句always来设计?如果可以,程序怎么修改? 蚅肂 《SOC原理及应用》实验指导书 7

文档评论(0)

bmdj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档