完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我很擅长FPGA,对不起,如果有一个地方从一开始就解释了这一点(书籍或用户指南)。
我会感激任何指针。 我正在尝试创建一个简单的触发器,我正在使用100MHZ时钟: 我的约束文件对于该部分看起来像这样: set_property -dict {PACKAGE_PIN E3 IOSTANDARD LVCMOS33} [get_ports {CLK100MHZ}]; create_clock -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK100MHZ}]; 我想使用一个除以2(50MHZ)的时钟,所以我环顾四周,有一种方法可以生成一个从上面的主时钟得到的时钟,所以我将下面看到的第三行添加到上面的两行: set_property -dict {PACKAGE_PIN E3 IOSTANDARD LVCMOS33} [get_ports {CLK100MHZ}]; create_clock -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK100MHZ}]; create_generated_clock -name clkdiv2 -source [get_ports CLK100MHZ] -divide_by 2 [get_pins REGA / Q]; 我现在如何在我的Verilog Design中使用这个clkdiv2时钟? 我假设我必须创建一个REGA实例? 像这样的东西?: 模块D_ff_behavior(输入D,输入CLK100MHZ,输出reg Q); 输入线clk_div_2; ??? REGA REGA_FF(.D(??),. Q(clk_div_2),. C(CLK100MHZ))//分配LED1 = CLK100MHZ; 总是@(posedge clk_div_2)Q endmodule |
|
相关推荐
5个回答
|
|
C,
您使用的是哪个FPGA器件系列? 请查看设备系列的“时钟用户指南”。 它将向您展示如何使用设备的内置功能来操作和控制时钟。 通常,时钟输入应使用为此目的而专用的具有时钟功能的输入引脚。 接下来,该信号使用IBUFG实例化将时钟从该引脚引入器件。 最常见的是,该信号进入DCM或MMCM瓦片以提供从该一个时钟产生的时钟(分频时钟,倍频时钟,相移时钟等)。 由于您不在ASIC中,Xilinx已经考虑了时钟的所有有用情况,并提供了可以复制并粘贴到HDL(verilog或VHDL)的解决方案。 库用户指南提供了示例。 例如: https://encrypted.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB0QFjAAahUKEwja8-Hs1vHGAhXLMIgKHaF3BZg& URL = HTTP%3A%2F%2Fwww.xilinx.com%2Fsupport%2Fdocumentation%2Fsw_manuals%2Fxilinx14_7%2F7series_hdl.pdf&安培; EI = BhexVdrYJMvhoAS ... Austin Lesea主要工程师Xilinx San Jose |
|
|
|
|
|
|
|
我想我的困惑是我是否需要创建REGA模块,或者是用约束文件中的命令创建的东西?
create_generated_clock -name clkdiv2 -source [get_ports CLK100MHZ] -divide_by 2 [get_pins REGA / Q]; 该命令似乎表明时钟位于REGA FF的Q引脚中,但是如何在myVerilo代码中使用该引脚?在Verilog代码中创建它似乎是双重努力,为什么我需要创建REGA? |
|
|
|
C,
您将内部电路上的引脚和封装上的引脚混淆。 您不必担心与内部资源的连接 - 重要的不在于它们的位置,因为工具会在最佳位置自动执行。 必须正确连接包装上的针脚,否则系统根本不起作用。 封装上的引脚通过电路板连接到某个内部DFF,你真的不在乎设备中的哪个位置发生。 Q具有网络名称,然后在设备内部使用。 Austin Lesea主要工程师Xilinx San Jose |
|
|
|
我能够使用MMCM运行派生时钟。
我拿了主要的100MHZ并且拿到了50MHZ(也为5MHZ重新做了)并且它起作用了。 我使用了时钟向导,它生成了具有我所需特性的MMCM,显然我必须在不同的选择上学到更多东西,但要使它工作,我将它下载(没有警告,没有错误)并用示波器测量它 时钟信号测量了我设置的内容。 如果此代码中存在可疑或不良做法,请告知我们, 下面是Verilog代码遵循的约束XDC文件,对于5MHZ案例(除以20): #Swithch用于D ## Clock signalset_property -dict {PACKAGE_PIN E3 IOSTANDARD LVCMOS33} [get_ports {CLK100MHZ}]; create_clock -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports {CLK100MHZ}]; create_generated_clock -source [get_ports CLK100MHZ] -divide_by 20 [get_pins MMCM0_instance / clk_out1]; #Switche设置简单D-FF的D. set_property -dict {PACKAGE_PIN J15 IOSTANDARD LVCMOS33} [get_ports {D}]; #LED0查看简单D FF的输出 set_property -dict {PACKAGE_PIN H17 IOSTANDARD LVCMOS33} [get_ports {Q}]; #LED1用于查看分频clockset_property -dict {PACKAGE_PIN K15 IOSTANDARD LVCMOS33} [get_ports {LED1}]的输出; Verilog代码: `timescale 1ps / 1ps ///////////////////////////////////////////// ///////////////////////////////////////模块名称:D Flip Flop ///// ////////////////////////////////////////////////// /////////////////////////// 模块D_ff_behavior(输入D,输入CLK100MHZ,输出reg Q,输出LED1); wire clk_div_2; 分配LED1 = clk_div_2; MMCM0 MMCM0_instance(.clk_in1(CLK100MHZ),. clk_out1(clk_div_2)); 总是@(posedge clk_div_2)Q endmodule 我仍然不知道我不知道XDC中的命令是如何使用的。 我的意思是我没有使用时钟向导配置MMCM?为什么我必须将create_generated_clock _命令放在XDC文件中,我知道有一个原因,我只是遗漏了一些东西,到目前为止似乎多余的信息...... |
|
|
|
只有小组成员才能发言,加入小组>>
2178 浏览 7 评论
2616 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2090 浏览 9 评论
3156 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2211 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
448浏览 1评论
1539浏览 1评论
在使用xc5vsx95T时JTAG扫片不成功,测量TDO无信号输出
2184浏览 0评论
515浏览 0评论
1658浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-12 22:29 , Processed in 1.094009 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号