FPGA工作时使用的时钟信号该从哪个口入
就像单片机一样,跑程序时需要外部提供晶振时钟信号才能工作,那么FPGA工作时哪个脚提供的时钟信号才是他工作时需要的时钟呢?FPGA有好几个全局时钟信号输入口(CLK0-C...
就像单片机一样,跑程序时需要外部提供晶振时钟信号才能工作,那么FPGA工作时哪个脚提供的时钟信号才是他工作时需要的时钟呢?FPGA有好几个全局时钟信号输入口(CLK0-CLK7),我同时给好几个时钟,哪一个才是他工作时的时钟,有默认的吗(例如说接CLK0的时钟信号才是他工作时需要的时钟信号)?
展开
展开全部
FPGA的强大之处就是你可以把你的顶层模块中的信号任意指定于几乎是任意的管脚。当然时钟信号最好还是从专用的时钟管脚输入以保证最小的时延,也就是你所说的CLK0-CLK7。你的晶振接入任意一个时钟信输入口都可以,只要你在pin planner中把你在程序中的变量分配给对应的时钟管脚即可。
追问
那FPGA执行一条指令的时间由谁来决定呢,也就是说他的一个机器周期怎么算
例如:
process(clk)
begin
if clk'event ang clk='1' then
.......
end if;
end process;
FPGA内部执行一条if语句的时间是多少由谁来控制
追答
从你的程序来看,就是clk的时钟来决定的啊,你不是希望每次clk的上升沿都执行一次后面的程序么。
只要你的clk别快得离谱,FPGA会保证它每个上升沿都能执行完一遍的,它没有单片机DSP那种机器周期的概念,你可以把它看成一堆与非门组成的数字电路,当然你输入给个数,输出就会有个数,中间只会有些ns量级(和中间经过的门的数量有关)的门延迟而已。
不过你的clk要是频率过高,逻辑又比较复杂,就可能得到错误输出。
展开全部
看你的配置,在程序设计的过程中,有引脚分配的步骤,你外部有几个晶振时钟呢,如果一个的话,查找电路图,找到外部晶振信号接入FPGA芯片的引脚。假如FPGA的23引脚是时钟接入的,那么你在引脚配置的时候,只需要将23引脚分配给程序中的时钟即可,这样外部时钟就可以控制了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FPGA不像单片机,可以有多个时钟。
比如 编程中
always@(posedge clk1)
...
always@(posedge ck2)
...
等等,实现不同部分不同频率处理。所以他没有所谓的默认时钟,每一个模块 每一个同步处理代码都是需要你自己制定用哪个时钟的。
比如 编程中
always@(posedge clk1)
...
always@(posedge ck2)
...
等等,实现不同部分不同频率处理。所以他没有所谓的默认时钟,每一个模块 每一个同步处理代码都是需要你自己制定用哪个时钟的。
追问
那FPGA执行一条指令的时间由谁来决定呢,也就是说他的一个机器周期怎么算
例如:
process(clk)
begin
if clk'event ang clk='1' then
.......
end if;
end process;
FPGA内部执行一条if语句的时间是多少由谁来控制
追答
你不是指定了 clk上升沿触发么。你的工程里,clk信号定义的是哪一个时钟管脚输入,你的这段代码就是多少的时钟频率
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询