完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有以下开发板DSP板。
我对FPGA的经验很少。 我目前正在使用ISE 13.2软件包。 我已经完成了不同的教程并制作了简单的HDL,点亮了不同的LED,在示波器和放大器上查看了不同的输出信号。 我的最终目标是通过ADC对来自波形发生器的信号进行采样,对采样波形进行一些调制,然后通过DAC将其吐出,以便在示波器上观察。 我的问题是关于差分信号,我已经尝试将LED输出连接到系统时钟(sysclk_p 200 MHz),但是当我在示波器上查看它时,我看不到任何状态变化。 我还将LED输出连接到用户时钟(66 MHz),当我在示波器上查看时,我看到频率为66 MHz的定时信号。 我也尝试将sma out(user_sma_gpio_p)设置为高& 基于用户时钟的低状态,但是当我在示波器上观察时,我看不到向高或低的转换,而是看到更多的脉冲响应。 我知道这是因为输出是差分的,但我不知道如何使输出单端。 任何提示/帮助将不胜感激。 谢谢 |
|
相关推荐
5个回答
|
|
仅将sysclk_p路由到输出将无法正常工作,因为您将其视为单端输入。
您需要放置IBUFDS并将sysclk_p / n连接到其输入。 然后,您可以将IBUFDS的输出连接到引脚并观察时钟信号。 sma输出不一定是差分。 根据您放入UCF / XDC的内容,您可以将sma_gpio_p转换为单端输出(例如,将其连接到IBUFDS输出)。如果您无法查看显示时钟的UCF / XDC上的差分输入时钟 和RTL的相关部分。 - 如果提供的信息有用,请将答案标记为“接受为解决方案”。给予您认为有用且回复的帖子。 |
|
|
|
Muzaffer,
随附的是我的代码& ucf文件。 我正在尝试将差分信号输出设置为高电平。 谢谢您的帮助。 test_led.xise 5 KB led_manage.ucf 2 KB |
|
|
|
--------------------------------------------------
----------------------------------公司: - 工程师: - - 创建日期:11:05 :2013年12月17日 - 设计名称: - 模块名称:led_manage - 行为 - 项目名称: - 目标设备: - 工具版本: - 描述:----依赖关系:----修订版 : - 修订版0.01 - 文件创建 - 附加评论:------------------------------------- ----------------------------------------------- library ieee; 使用ieee.std_logic_unsigned.all; 使用ieee.std_logic_misc.all; 使用ieee.std_logic_arith.all; 使用ieee.std_logic_1164.all; library unisim; 使用unisim.vcomponents.all; - 如果使用带有有符号或无符号值的算术函数,则取消注释以下库声明 - 使用IEEE.NUMERIC_STD.ALL; - 如果在此代码中实例化 - 任何Xilinx原语,则取消注释以下库声明.-- library UNISIM; - 使用UNISIM.VComponents.all; entity led_manage isport( --ML605资源user_clock:在std_logic中; gpio_sw:在std_logic中; gpio_led:out std_logic_vector(7 downto 0); user_sma_gpio_p:out std_logic; user_sma_gpio_n:out std_logic );结束led_manage; led_manage的架构led_manage_syn是信号cntr:std_logic_vector(7 downto 0); 开始 处理(user_clock,gpio_sw)开始,如果(user_clock'event和user_clock = '1'),那么如果(gpio_sw = '1' 或CNTR = “11111111”)然后CNTR user_sma_gpio_p别的CNTR user_sma_gpio_p END IF; 万一; 结束过程; gpio_led - process(user_clock,gpio_sw) - begin-- if(user_clock ='1')then-- cntr:= cntr + 1; - end if; ---- end process; - if(cntr = 255)然后 - gpio_led - user_sma_gpio_p - cntr:= 0; - else-- gpio_led - user_sma_gpio_p - 结束if; - 结束进程; - process(clk,) - 变量cntr:integer; - begin-- if rising_edge(clk)then-gpio_led(1) - end if; - cntr:= cntr + 1; - if(cntr = 100)then-- cntr:= 0; - gpio_led(0) - else-- gpio_led(0) - 结束if; ---- gpio_led(1) - 结束进程; - gpio_led(0) --gpio_led(1)--gpio_led(2)--gpio_led(3)--gpio_led(4)--gpio_led(5)--gpio_led(6)--gpio_led(7) |
|
|
|
|
|
|
|
Muzaffer,
当我执行以下操作时,它声明“类型std_logic与整数文字不匹配”。 图书馆; 使用ieee.std_logic_unsigned.all; 使用ieee.std_logic_misc.all; 使用ieee.std_logic_arith.all; 使用ieee.std_logic_1164.all; library unisim; 使用unisim.vcomponents.all; - 如果使用带有有符号或无符号值的算术函数,则取消注释以下库声明 - 使用IEEE.NUMERIC_STD.ALL; - 如果在此代码中实例化 - 任何Xilinx原语,则取消注释以下库声明.-- library UNISIM; - 使用UNISIM.VComponents.all; entity led_manage isport( --ML605资源user_clock:在std_logic中; gpio_sw:在std_logic中; gpio_led:out std_logic_vector(7 downto 0); user_sma_gpio_p:out std_logic; user_sma_gpio_n:out std_logic );结束led_manage; led_manage的架构led_manage_syn是信号cntr:std_logic_vector(7 downto 0);信号user_sma_gpio:std_logic; 开始进程(user_clock,gpio_sw)开始if(user_clock'event和user_clock ='1')然后if(gpio_sw ='1'或cntr =“11111111”)然后cntr user_sma_gpio else cntr user_sma_gpio end if; 万一; 结束过程; gpio_led obuf:OBUFDS端口映射(I => user_sma_gpio,O => user_sma_gpio_p,OB => user_sma_gpio_n); 结束led_manage_syn; 谢谢 |
|
|
|
只有小组成员才能发言,加入小组>>
2322 浏览 7 评论
2734 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2217 浏览 9 评论
3295 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2369 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
656浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
463浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
226浏览 1评论
669浏览 0评论
1864浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-1 20:56 , Processed in 1.195574 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号