当前位置: 首页 > news >正文

做农产品的网站名称/软件外包公司排行榜

做农产品的网站名称,软件外包公司排行榜,zencart网站注册是哪个文件,做网站的顶部图片前面两节讲解了差分转单端的IBUFDS原语和单端转差分的OBUFDS原语,今天来讲一个同时带有两者功能的原语IOBUFDS; 前述的IBUFDS原语只能接收外部差分信号,此时连接管脚为input管脚,OBUFDS只能向外部输出差分信号,此时连接…

前面两节讲解了差分转单端的IBUFDS原语和单端转差分的OBUFDS原语,今天来讲一个同时带有两者功能的原语IOBUFDS;
前述的IBUFDS原语只能接收外部差分信号,此时连接管脚为input管脚,OBUFDS只能向外部输出差分信号,此时连接管脚为output管脚,但差分信号还有可能出现IO类型,也就是inout管脚,一对差分信号,可以输入,也可以输出,此时使用IBUFDS和OBUFDS就不能解决问题,需要使用到IOBUFDS原语;
如有一个典型的例子,DDR接口中的DQS数据选通信号,就是差分双向管脚DQS_P、DQS_N;
该信号为双向信号,因为该信号与DQ数据采集相关,当对DDR读取时,该信号由DRAM驱动,当向DDR写入时,该信号由内存控制器驱动;
且由于DDR通信的频率速率比较高,通常达几千Mbps,且数据选通信号需要用于8/16或更多数据信号线的捕获,所以需要其在传输过程中受的影响尽可能小信号尽可能稳定,所以使用抗干扰能力更强的差分信号则成了必要;
所以该信号就需要使用IOBUFDS这样的三态双向差分信号原语;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
 IOBUFDS原语:
在这里插入图片描述
IOBUFDS为差分输入/输出缓存原语。 T 管脚上的逻辑高电平表示禁用输出缓存。
端口IO、IOB:双向端口,连接到焊盘上的双向差分信号;
端口I:原语的输入端口,接收FPGA内部数据变换后从IO和IOB输出;
端口O:原语的输出端口,IO和IOB接收数据转换后从O端口输出到FPGA内部;
端口T:原语的输入端口,控制原语的功能模式;

功能模式说明:
输入模式(T=1):
IO和IOB由外部设备驱动,作为差分输入信号。
内部逻辑将IO和IOB的差分值(IO - IOB)转换为单端信号输出至O。
例如,若IO=1且IOB=0,则O=1;若IO=0且IOB=1,则O=0,此时功能与IBUFDS一致。
若外部差分信号未驱动(高阻态),O可能保持前一次有效值或进入不定态(X),需通过外部约束或硬件设计避免此情况。
此时T=1,输出缓存被禁用,I到IO、IOB的路径关闭,原语的I端口输入任何值(无论0/1或是悬空)都不会对IO、IOB的电压状态造成任何影响;

输出模式(T=0):
I的单端信号被转换为差分信号,驱动到IO(与I同相)和IOB(与I反相)。
例如,若I=1,则IO=1且IOB=0;若I=0,则IO=0且IOB=1,此时功能与OBUFDS一致。
此时T=1,输出缓存启用,可以看到在原语的图中,IO、IOB到O的路径没有受到T端口开关的影响,此时O的输出来自IO、IOB,而IO、IOB的值此时来自于I,所以O值与I值相同。

 原语例化如下:
7系:
IOBUFDS #(
.DIFF_TERM(“FALSE”), // Differential Termination (“TRUE”/“FALSE”)
.IBUF_LOW_PWR(“TRUE”), // Low Power - “TRUE”, High Performance = “FALSE”
.IOSTANDARD(“BLVDS_25”), // Specify the I/O standard
.SLEW(“SLOW”) // Specify the output slew rate
) IOBUFDS_inst (
.O(O), // Buffer output
.IO(IO), // Diff_p inout (connect directly to top-level port)
.IOB(IOB), // Diff_n inout (connect directly to top-level port)
.I(I), // Buffer input
.T(T) // 3-state enable input, high=input, low=output
);

Ultrascale+系:
IOBUFDS IOBUFDS_inst (
.O(O), // 1-bit output: Buffer output
.I(I), // 1-bit input: Buffer input
.IO(IO), // 1-bit inout: Diff_p inout (connect directly to top-level port)
.IOB(IOB), // 1-bit inout: Diff_n inout (connect directly to top-level port)
.T(T) // 1-bit input: 3-state enable input
);

可以看到两个原语的端口一致,不过7系的原语同样比Ultrascale+系多几个参数,Ultrascale+的参数如前述,被整合到约束部分;
7系例化里可以看到参数DIFF_TERM、IBUF_LOW_PWR在IBUFDS部分讲解过,SLEW在OBUFDS部分讲解过,IOSTANDARD则是两节里都讲过,这里不再赘述;
不过这里可以看到模板默认的电平标准是BLVDS,BLVDS 仅在 HR I/O bank 中可用,并且要求 VCCO 电压电平为 2.5V。 IOSTANDARD 称为BLVDS_25,在下一讲将简单汇总下FPGA中常见的差分电平标准。

 IOBUFDS原语仿真:
测试模块:
module top_7series_iobufds(
input wire clk,
input wire rst,
inout wire PAD_IO,
inout wire PAD_IOB,
input wire iob_t,
input wire iob_in,
output wire iob_out
);

IOBUFDS #(
.DIFF_TERM(“FALSE”), // Differential Termination (“TRUE”/“FALSE”)
.IBUF_LOW_PWR(“TRUE”), // Low Power - “TRUE”, High Performance = “FALSE”
.IOSTANDARD(“BLVDS_25”), // Specify the I/O standard
.SLEW(“SLOW”) // Specify the output slew rate
) IOBUFDS_inst (
.O(iob_out), // Buffer output
.IO(PAD_IO), // Diff_p inout (connect directly to top-level port)
.IOB(PAD_IOB), // Diff_n inout (connect directly to top-level port)
.I(iob_in), // Buffer input
.T(iob_t) // 3-state enable input, high=input, low=output
);

endmodule

testbench:
这里将原语的T端口每隔1000ns切换一次,且设置50ns变化一次的两个随机值分别赋值给端口IO/IOB和端口I;然后仿真查看根据T端口的变化,原语的各端口输入输出如何变化;
module tb;
reg clk;
reg rst;
reg data1;
reg data2;
wire PAD_IO;
wire PAD_IOB;
reg iob_t;
wire iob_in;
wire iob_out;
wire pad_dio;
wire pad_diob;

initial begin
clk = 0;
rst = 1;
#100
rst = 0;
end

always #50 clk = ~clk;

initial begin
data1 = 0;
data2 = 0;
while(1)begin
#50
data1 = $random();
data2 = $random();
end
end

initial begin
iob_t = 0;
while(1)begin
#1000
iob_t = ~iob_t;
end
end

assign iob_in = iob_t ? 1’bz : data1;
assign {PAD_IO,PAD_IOB} = iob_t ? {data2,~data2} : 2’bz;
assign pad_dio = PAD_IO;
assign pad_diob = PAD_IOB;

top_7series_iobufds inst_top_7series_iobufds(
.clk (clk),
.rst (rst),
.PAD_IO (PAD_IO),
.PAD_IOB (PAD_IOB),
.iob_t (iob_t),
.iob_in (iob_in),
.iob_out (iob_out)
);

endmodule
 仿真结果:
在这里插入图片描述
仿真波形如图所示:
为方便描述,上图中4根黄线将波形分为4个区域,区域1/3的iob_t设置为0,表示原语处于输出模式,区域2/4的iob_t设置为1,表示原语处于输入模式;

可以看到:

区域1/3,输出模式下,iob_in输入的值将被转换为差分的同相的PAD_IO和反相的PAD_IOB输出,可以看到在此范围内,PAD_IO输出值与iob_in相同,PAD_IOB输出值与iob_in相反;
此时iob_out的值与iob_in相同;

区域2/4,输入模式下,PAD_IO和PAD_IOB将作为输入,转换后端口O输出,可以看到在此范围内,端口O输出与PAD_IO相同,与PAD_IOB相反;
而且此时iob_in输入接口给了一个悬空的高阻状态,但是可以看到图中所示,这个iob_in的高阻输入也不会对PAD_IO和PAD_IOB产生任何影响;

http://www.ho-use.cn/article/538.html

相关文章:

  • 自己怎么做短视频网站/互联网营销模式有哪些
  • 注册了域名后怎么设计网站/弹窗广告最多的网站
  • 自己做的小网站分享/新闻头条新闻
  • 简单网站建设流程图/18种最有效推广的方式
  • 网站app服务器租用/优化手机流畅度的软件
  • 化妆品应如何网站建设定位/如何去做网络营销
  • 马鞍山哪里做网站/企业关键词大全
  • 常州市建设工程质量监督站网站/优化排名工具
  • 著名建筑设计作品解析/牛排seo
  • 做网站IP/想学销售去哪培训
  • 在什么网站做公司人员增减/百度推广的步骤
  • 专门做辅助的网站/保定百度seo排名
  • 媒体网站推广方法/百度提交入口网址是什么
  • 公司网站制作公司倒闭/软文推广的100个范例
  • 中国网站设计公司/吸引人的营销标题
  • 危险网站怎么解除/刷移动端seo软件
  • 政府网站建设新模式济南网站建设哪家专业
  • 做网站需要的素材照片/关键词完整版免费听
  • 网站开发属于软件开发吗/老客外链
  • 数码产品网站建设计划书/seo简单优化操作步骤
  • 做公司网站的好处/百度排名优化专家
  • 网站更换域名如何操作/百度集团公司简介
  • 武汉便宜网站建设/北京seo诊断
  • 给个做的网站/最新新闻热点事件摘抄
  • 医院网站php源码/网站搜索引擎推广
  • 合肥蜀山网站开发/枣庄网站建设制作
  • 湖南微信管理系统/搜索引擎优化面对哪些困境
  • 响应式网站建设服务商/网络舆情监测平台
  • app开发网站建设公司哪家好/seo排名赚挂机
  • 郑州的网站建设公司哪家好/百度不收录网站