电子电路设计训练(北航)2014 Verilog 03 高级语法.pptVIP

电子电路设计训练(北航)2014 Verilog 03 高级语法.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通知 课间,请各班班长(或课代表)务必与我商定实验时间 前两章讲义已经上线 本实验室网站——链接 course.buaa.edu.cn网站 提纲 3.1 运算符 3.2 块语句 3.3 条件语句 3.4 循环语句 3.5 always块 3.6 task与function 3.7 仿真与测试 (续) 小测试 参考答案 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * module muxtwo(out,a,b,sl); input a,b,sl; output out; reg out; always @(sl or a or b) if(!sl) out=a; else out =b; endmodule * * 第四讲、简单数字电路设计 门级电路,组合逻辑电路, 时序逻辑电路… Verilog例子学习… 预告 * 联系方法 李峭 avionics@buaa.edu.cn 何锋 robinleo@buaa.edu.cn 联系方法 010新主楼 F710 202教研室——航空电子与总线通信实验室 Avionics and Bus Communications Laboratory(ABC Lab) * * * * * * Begin/end块中的语句是串行执行的,而fork/join块中的语句是并行执行的。 * * * 并不是所有情况下q都有确定的数值(综合器可不知道不变) * 也不一定是错误,但一般情况下是疏忽了 * * * * * * * * * * * * * * * * * * * * 3.6.2 函数(function) 输入端口说明用来对函数各个输入端口的宽度和类型的说明,在函数定义中必须至少有一个输入端口;该输入端口说明语句的语法与模块定义时的输入端口说明语句的语法是一致的。要注意字函数定义结构中不允许出现任何的输出端口(output)和输入/输出端口(inout)。 局部变量说明是对函数内部局部变量进行的宽度和类型说明。 行为语句部分由关键词begin和end界定,这部分语句指明了函数被调用时要执行的操作,它们决定着函数实现的运算功能。在函数被调用时,这些行为语句将按串行方式得到执行。 * 3.6.2 函数(function) 例:函数的定义 function[7:0] getbyte; //函数定义结构开头,此行中不能出现端口列表 input[63:0] word; // 输入端口1 input[3:0] bytenum; // 输入端口2 integer bit; //局部变量说明 reg[7:0] temp; //局部变量说明 begin for(bit=0;bit=7;bit=bit+1) temp[bit]=word[((bytenum-1)*8)+bit]; //第一条行为语句 getbyte=temp; //第二条行为语句 end endfunction //函数定义结束 * 3.6.2 函数(function) 函数的声明语句 函数名(表达式1,表达式2,…表达式n); 其中,m个输入表达式与函数定义结构中说明的各个输入端口一一对应,它们代表着各个输入端口的输入数据。这些输入表达式的排列顺序及类型必须与各个输入端口在函数定义定义结构中的排列顺序及类型及保持严格一致。 * 3.6.2 函数(function) 函数调用时必须注意如下两点: 函数的调用不能单独作为一条语句出现,它只能作为一个操作数出现在调用语句内。例如,下面这条语句对前面所定义的函数getbyte进行了调用: out=getbyte(input1,number); 函数调用既能出现在过程块中,也能出现在assign连续赋值语句中。例: wre[7:0] net1; reg[63:0] input1; assign net1=getbyte(input1,3); * 3.6.2 函数(function) 例:函数的调用 module demo_function_call; reg[7:0] call_output; reg[63:0] call_input1; reg[3:0] call_input

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档