- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3节VERILOG建模与调试的技巧 READ
第3节 Verilog建模与调试技巧
Verilog 建模 调试
3.3.1 双向端口的使用和仿真?双向端口顾名思义既可以作为输入端口接收数据,也可以作为输出端口发出数据,对数据的操作是双向的。比如某个设计需要一个16位的数据输入口和一个16位的数据输出口,并且数据输入和输出不会同时发生。如果分别设计数据输入口和输出口,就需要32根数据线;而用双向端口来设计,只需要16根数据线,这样就节省了16根数据线引脚。本节给出FPGA中双向端口的设计原理和方法,以及仿真和初始化双向端口的方法。 1. 双向端口的实现原理 双向端口是通过控制三态门来实现的,其典型结构如图3-23所示。当z=0时,上面输出的管子开通,此时数据可以从上面的管子中输出,这时双向端口就作为输出口;当z=1时,上面的管子被置为高阻态,数据不能从上面的管子输出,此时数据只可以从下面的管子由外向内输入,这时的双向端口是输入口。
图3-25 双向端口的硬件结构
2. 双向端口的Verilog实现 根据Verilog HDL语法,I/ O端口可以分成三类:输入端口input;输出端口output以及双向端口inout。output端口信号可定义成寄存器型变量,并在always块内可以被赋值使用,而inout型双向端口信号不能被定义成reg型变量,因此只能采用assign赋值语句,不能在always块内使用,这一点与VHDL中双向端口的使用方法不同。双向端口的语法为:??? inout a; wire z, b; ??? //当控制信号z为1时,开通三态门,a为输入端口;当z为0时,三态门为高阻, ??? //a为输出端口 例如,assign a = (z) ? b : 8bz; 例3-16 使用Verilog实现一个位宽为16比特的数据选择器,其结构如图3-24所示,当控制信号 时,将输入数据从双向端口输出;当控制信号 时,将双向端口数据从输出端口输出。
图3-2616比特数据选择器的示意图
module bidirec_data(clk,z,din,dinout,dout); ?????? input clk; //时钟????????input z; //控制信号 ?????? input [15:0] din; //输入时钟????????inout [15:0] dinout; //双向端口 ?????? output [15:0] dout; //输出时钟 ?????? reg [15:0] dout; ?????? reg [15:0] din_t;??????? assign dinout=(!z) ? din_t : 16bz; //完成双向赋值 ??????? always@(posedge clk) begin ??????? if (!z) ??????? din_t = din; ??????? else ???????????? dout = dinout; ??????? end endmodule 3. 双向端口的仿真 当双向端口作为输出口时,我们不需要对它进行初始化,而只需要开通三态门。当双向端口作为输入口时,需要对它进行初始化赋值,并关闭三态门。对双向端口的初始化赋值,需要使用wire型的数据。此外可以通过force命令来对双向端口输入赋值。?例3-17 用Verilog完成例3-16的测试,并给出相应的测试结果。 module test_bidata; ??????? // The input signals ??????? reg clk; ??????? reg z; ??????? reg [15:0]din; ??????? // The output signals ??????? wire [15:0] dout; ??????? wire [15:0] dinout; ??????? integer i; ??????? bidirec_data uut(??????????? .din(din),????????? ??.?z z),????????????.? clk(clk),??????????? .?dout(dout),????????????. dinout(dinout)); ??????? always #10 clk= ~clk; ???????? initial begin ??????????????? z=1; ??????????????? clk=0; ??????????????? din = 0;?????????????????
您可能关注的文档
- 竞赛的讲义导学细胞生物学、微生物学.doc
- 竞赛的讲义导学动物生物学部分.doc
- 竞赛的方案内容⑤.ppt
- 竞赛的讲义导学生物化学、遗传与进化部分.doc
- 立丹行机构2010年1季度厦门房地产市场的研究的报告.ppt
- 章节的体系第一章 邓小平理论是当代中国的马克思主义第二章 “三.ppt
- 章节名称矩阵的运算.doc
- 競爭力、的策略與生產力.ppt
- 竹宜家竹纤维的项目创业的的策划书.docx
- 竹山隧道安全施工的方案.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
最近下载
- 2024年中国石油秋季招聘通用能力考试笔试备考试题及答案解析.docx
- 第一课 教室盆栽我做主—盆栽养护 课件 浙科版综合实践活动四年级上册.pptx
- 医疗安全(不良)事件根本原因分析法活动指南.pdf VIP
- 2023年中考押题预测卷02(杭州卷)-英语(考试版)A4.docx
- 于品 清华丘班数学分析讲义.pdf VIP
- 金融风险管理(中央财经大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 一年一度喜剧大赛江东鸣《先生请出山》完整台词.docx VIP
- 党员立足本职岗位发挥党员先锋引领作用发言稿.doc VIP
- 《机床电气控制》M7130型卧轴矩台平面磨床的电气控制.pdf VIP
- Unit 4 Period 4 Developing Ideas 课件-高一上学期英语课件(外研社2019必修第一册).pptx
文档评论(0)