Verilog及FPGA学习考试必备经典程序(二).pdf

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

目录 1. 加法计数器中的进程2 2. 任务举例2 3. 测试程序3 4. 函数 4 5. 用函数和 case 语句描述的编码器 (不含优先顺序)4 6. 阶乘运算函数5 7. 测试程序6 8. 顺序执行模块 1 6 9. 顺序执行模块 2 7 10. 并行执行模块 1 7 11. 并行执行模块 2 8 12. 调用门元件实现的 4 选 1 MUX 8 13. 用 case 语句描述的 4 选 1 MUX 9 14. 行为描述方式实现的 4 位计数器 9 15. 数据流方式描述的 4 选 1 MUX 10 16. 用条件运算符描述的 4 选 1 MUX 10 17. 门级结构描述的2 选 1MUX 10 18. 行为描述的 2 选 1MUX 10 19. 数据流描述的 2 选 1MUX 11 20. 调用门元件实现的 1 位半加器 11 21. 数据流方式描述的 1 位半加器 11 22. 采用行为描述的 1 位半加器 12 23. 采用行为描述的 1 位半加器 12 24. 调用门元件实现的 1 位全加器 13 25. 数据流描述的 1 位全加器 13 26. 1 位全加器 13 27. 行为描述的 1 位全加器 13 28. 混合描述的 1 位全加器 14 29. 结构描述的 4 位级连全加器 15 30. 数据流描述的 4 位全加器 15 31. 行为描述的 4 位全加器 15 1 1. 加法计数器中的进程 module count(data,clk,reset,load,cout,qout); output cout; output[3:0] qout; reg[3:0] qout; input[3:0] data; input clk,reset,load; always @(posedge clk) //进程 1 ,always 过程块 begin if (!reset) qout= 4h00; //同步清0 ,低电平有效 else if (load) qout= data; //同步预置 else qout=qout + 1; //加法计数 end assign cout=(qout==4hf)?1:0; //进程 2 ,用持续赋值产生进位信号 endmodule 2. 任务举例 module alutask(code,a,b,c); input[1:0] code; input[3:0] a,b; output[4:0] c; reg[4:0] c; task my_and; //任务定义,注意无端口列表 input[3:0] a,b; //a,b,out 名称的作用域范围为 task 任务内部 output[4:0] out; integer i; begin 2 for(i=3;i=0;i=i-1) out[i]=a[i]b[i]; //按位与 end endtask always@(code or a or b) begin case(code) 2b00: my_and(a,b,c); /*调用任务 my_and ,需注意端口列表的顺序应与任务定义中的一致,

文档评论(0)

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

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

1亿VIP精品文档

相关文档