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

FPGA工作时使用的时钟信号该从哪个口入

[复制链接]
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-11-29 13:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    就像单片机一样,跑程序时需要外部提供晶振时钟信号才能工作,那么FPGA工作时哪个脚提供的时钟信号才是他工作时需要的时钟呢?FPGA有好几个全局时钟信号输入口(CLK0-CLK7),我同时给好几个时钟,哪一个才是他工作时的时钟,有默认的吗(例如说接CLK0的时钟信号才是他工作时需要的时钟信号)?
    ) ]" W6 M  M6 g! K/ R
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2022-11-29 14:55 | 只看该作者
    FPGA的强大之处就是你可以把你的顶层模块中的信号任意指定于几乎是任意的管脚。当然时钟信号最好还是从专用的时钟管脚输入以保证最小的时延,也就是你所说的CLK0-CLK7。你的晶振接入任意一个时钟信输入口都可以,只要你在pin planner中把你在程序中的变量分配给对应的时钟管脚即可。

    点评

    那FPGA执行一条指令的时间由谁来决定呢,也就是说他的一个机器周期怎么算 例如: process(clk) begin if clk'event ang clk='1' then ....... end if; end process; FPGA内部执行一条if语句的时间是多少由谁  详情 回复 发表于 2022-11-29 14:59
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2022-11-29 14:59 | 只看该作者
    duhe3hfu 发表于 2022-11-29 14:55/ W# k2 i, o* Z, P- z6 P- e2 T" W
    FPGA的强大之处就是你可以把你的顶层模块中的信号任意指定于几乎是任意的管脚。当然时钟信号最好还是从专用 ...

    5 w: ~; l- H& d# _# H那FPGA执行一条指令的时间由谁来决定呢,也就是说他的一个机器周期怎么算
    ( c7 @+ g* I( F例如:8 R6 j9 [5 D; D1 |
    process(clk)2 o- ]& J2 {4 Z
    begin
    2 g. V2 l7 B7 q/ f! U4 Gif clk'event ang clk='1' then
    ( B; t+ z6 [/ V, W0 K8 \: Q.......
    6 m2 s. I# Y& I3 W/ g* a" Lend if;
    , y4 s0 ]2 h! Z! p6 j! G- R1 Send process;
    * J: E- E& C; t# G5 \FPGA内部执行一条if语句的时间是多少由谁来控制
    2 Z/ H6 e) v$ X- L" u0 ^
  • TA的每日心情
    开心
    2022-1-29 15:03
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2022-11-29 15:07 | 只看该作者
    从你的程序来看,就是clk的时钟来决定的啊,你不是希望每次clk的上升沿都执行一次后面的程序么。8 m/ l* a  Z. f7 V/ ~) N3 z
    只要你的clk别快得离谱,FPGA会保证它每个上升沿都能执行完一遍的,它没有单片机DSP那种机器周期的概念,你可以把它看成一堆与非门组成的数字电路,当然你输入给个数,输出就会有个数,中间只会有些ns量级(和中间经过的门的数量有关)的门延迟而已。+ g; k# ~" J& K* G, k
    不过你的clk要是频率过高,逻辑又比较复杂,就可能得到错误输出。

    该用户从未签到

    5#
    发表于 2022-11-29 15:14 | 只看该作者
    看你的配置,在程序设计的过程中,有引脚分配的步骤,你外部有几个晶振时钟呢,如果一个的话,查找电路图,找到外部晶振信号接入FPGA芯片的引脚。假如FPGA的23引脚是时钟接入的,那么你在引脚配置的时候,只需要将23引脚分配给程序中的时钟即可,这样外部时钟就可以控制了。
  • TA的每日心情
    开心
    2022-1-29 15:04
  • 签到天数: 1 天

    [LV.1]初来乍到

    6#
    发表于 2022-11-29 15:20 | 只看该作者
    FPGA不像单片机,可以有多个时钟。
    * {/ o3 f( \6 w& T4 G% `比如 编程中
      v3 K2 [$ G) y: palways@(posedge clk1)$ p# A1 b* u: o  c# i* N" M) i3 E9 j
    ...  L* Z( w* K$ a6 [3 L  y
    always@(posedge ck2)" z* B2 [$ R8 ?
    ...
    ' S. q2 o3 S5 B8 t4 I! G等等,实现不同部分不同频率处理。所以他没有所谓的默认时钟,每一个模块 每一个同步处理代码都是需要你自己制定用哪个时钟的。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-30 09:05 , Processed in 0.156250 second(s), 27 queries , Gzip On.

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

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

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