找回密码
 注册
关于网站域名变更的通知
查看: 942|回复: 17
打印 上一主题 下一主题

FPGA学习总结[经典推荐]

  [复制链接]
  • TA的每日心情
    开心
    2019-11-20 15:00
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2019-10-22 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    FPGA学习总结[经典推荐]
    $ ~+ t4 j9 T& W2 Q9 k. M$ Q, q' \
    1. 关于端口
    # I! x. U% b/ x! }+ ~- O5 r8 JVHDL 共定义了 5 种类型的端口,分别是 In, Out,Inout, Buffer 及 Linkage,实际设计时只会用 到前四种。In 和 Out 端口的使用相对简单。这里,我们主要讲述关于 buffer 和 inout 使用时的注意 事项。
    . G+ g9 |  ?( r9 l+ Kinout 和 buffer 区别
    0 D5 U2 y) S9 E" ]INOUT 为输入输出双向端口,即从端口内部看,可以对端口进行赋值,即输出数据。也可以从 此端口读入数据,即输入;
    9 t* s! Y  e! y  F. t3 eBUFFER 为缓冲端口,功能与 INOUT 类似,区别在于当需要读入数据时,只允许内部回读内 部产生的输出信号,即反馈。举个例子,设计一个计数器的时候可以将输出的计数信号定义为 BUFFER,这样回读输出信号可以做下一计数值的初始值。
    4 D, s) r& V# n% Rbuffer 顾名思义就是缓存,它是作为输出使用的,因为在模块内,是不可以将输出赋值给其他 信号的,例如定义 b: out std_logic;我们现在要将 b 赋值给信号 a,就会出错,但是如果 b 的类型为 buffer 就可以执行操作; . I4 k% q, J6 c2 v% J, R( y+ v
    inout是双向端口,即可以作为输入也可以作为输出,跟buffer的作用完全不同,要注意的是inout 类型的数据在不作为输入使用时必须被置为高阻“Z”状态,否则它作为输出的功能将不能正确执行。 2 J7 I# q1 H% t+ G
    与 Out 端口比,Buffer 端口具有回读功能,也即内部反馈,但在设计时好不要使用 buffer, 因为 buffer 类型的端口不能连接到其他类型的端口上,无法把包含该类型端口的设计作为子模块元 件例化,不利于大型设计和程序的可读性。若设计时需要实现某个输出的回读功能,可以通过增加 中间信号作为缓冲,由该信号完成回读功能。 8 R' K2 `9 J( U
    双向端口 Inout 是四种端口类型中为特殊的一种,难以学习和掌握,为此专门提供一个简 单程序进行阐述,部分程序如下: 8 u& D) z: d: V: b/ T" k7 W$ `
    ... … ① DataB<=Din when CE=’1’ and Rd=’0’ else ② (others=>’Z’); ③ Dout<=DataB when CE=’1’ and Rd=’1’ else ④ ( others=>’1’ ); … … 程序中 DataB 为双向端口,编程时应注意的是,当 DataB 作为输出且空闲时,必须将其设为高 阻态挂起,即有类似第②行的语句,否则实现后会造成端口死锁。而当 DataB 作为有效输入时, DataB 输出必须处于高阻态,对于该例子中即,当 CE=’1’ and Rd=’1’时,输出 DataB 应处于高阻 态。 : ]- f( t0 f$ ?! ?; S: B

    . z5 ?+ x/ b: E7 j  B" }  t
    游客,如果您要查看本帖隐藏内容请回复
    ( q; g  J0 u7 F# X, {- f: |
  • TA的每日心情
    开心
    2025-11-4 15:28
  • 签到天数: 1205 天

    [LV.10]以坛为家III

    推荐
    发表于 2022-4-20 15:45 | 只看该作者
    不错不错,写的很是专业和深度,值得好好琢磨一下

    该用户从未签到

    推荐
    发表于 2021-3-28 19:18 | 只看该作者
    这个威望怎么看啊,一直提醒我威望不够

    该用户从未签到

    推荐
    发表于 2021-3-20 19:26 | 只看该作者
    11111111111111111111111; m1 H: |' y9 T2 w0 l0 M

    该用户从未签到

    2#
    发表于 2019-10-23 19:21 | 只看该作者
    谢谢分享,很有用的东东。

    该用户从未签到

    3#
    发表于 2019-10-25 16:54 | 只看该作者
    不错的东西!
    $ i# ?4 b$ b& g4 |9 h

    该用户从未签到

    4#
    发表于 2019-10-28 15:59 | 只看该作者
    感谢楼主分享+ [, u  _# a1 @( o1 C

    该用户从未签到

    5#
    发表于 2021-3-18 10:06 | 只看该作者
    感谢分享

    “来自电巢APP”

    该用户从未签到

    6#
    发表于 2021-3-18 14:56 | 只看该作者
    谢谢分享,学习了!
  • TA的每日心情
    开心
    2021-3-22 15:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
    发表于 2021-3-19 16:29 | 只看该作者
    感谢楼主分享

    该用户从未签到

    9#
    发表于 2021-3-28 18:22 | 只看该作者
    感谢分享

    “来自电巢APP”

    该用户从未签到

    10#
    发表于 2021-3-28 18:56 | 只看该作者
    谢谢啊,雪中送炭啊

    该用户从未签到

    12#
    发表于 2021-12-7 22:02 | 只看该作者
    学习学习

    “来自电巢APP”

    该用户从未签到

    13#
    发表于 2022-3-20 21:42 | 只看该作者

    该用户从未签到

    14#
    发表于 2022-4-19 20:03 | 只看该作者
    学习一下

    “来自电巢APP”

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-5 13:08 , Processed in 0.203125 second(s), 28 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表