完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛扫一扫,分享给好友
|
你好ev'body,我试图实现我找到的UDP / IP堆栈
Opencore Library,一切似乎都很好,但我找不到实体 Xilinx ISE 12.4支持(这是由11版IP核制作的), 所以我必须为这个实体编写代码。 原始代码是这样的 一: - 合成translate_off 图书馆IEEE; 使用IEEE.STD_LOGIC_1164.ALL; 图书馆UNISIM; 使用UNISIM.VCOMPONENTS.ALL; 使用UNISIM.VPKG.ALL; 实体dist_mem_64x8是 港口 ( clk:在STD_LOGIC:='X'; a:在STD_LOGIC_VECTOR(5 downto 0); qspo:out STD_LOGIC_VECTOR(7 downto 0) ); 结束dist_mem_64x8; 架构dist_mem_64x8的结构是 信号N0:STD_LOGIC; 信号N1:STD_LOGIC; 信号a_2:STD_LOGIC_VECTOR(5 downto 0); 信号NlwRenamedSignal_qspo:STD_LOGIC_VECTOR(0 downto 0); 开始 a_2(5)N1 ); GND_1:GND 港口地图( G => N0 ); BU2_XST_GND:GND 港口地图( G => NlwRenamedSignal_qspo(0) ); 结束结构; 所以,我根本不明白这个组件应该做什么! 在异步模式下,6位数组中保存了6位输入。 有一个8位输出只能为他的输出的每个位[7 downto 0]获得一位信号[NlwRenamedSignal_qspo] 有一个名为BU2_XST_GND的模糊组件 有两个内部信号似乎未被使用[N0和N1] 所以,我不明白,这段代码应该做什么? 我怎么能简单地编写12.4 VHDL代码? 非常感谢! 以上来自于谷歌翻译 以下为原文 Hello ev'body, I'm tried to implement an UDP/IP stack i found in Opencore Library, everything seemed to be fine but I found an entity not supported by Xilinx ISE 12.4 (this was made by the 11 version IP core), so I have to write the code for this entity. The original code is this one: -- synthesis translate_offlibrary IEEE;use IEEE.STD_LOGIC_1164.ALL;library UNISIM;use UNISIM.VCOMPONENTS.ALL;use UNISIM.VPKG.ALL;entity dist_mem_64x8 is port ( clk : in STD_LOGIC := 'X'; a : in STD_LOGIC_VECTOR ( 5 downto 0 ); qspo : out STD_LOGIC_VECTOR ( 7 downto 0 ) );end dist_mem_64x8;architecture STRUCTURE of dist_mem_64x8 is signal N0 : STD_LOGIC; signal N1 : STD_LOGIC; signal a_2 : STD_LOGIC_VECTOR ( 5 downto 0 ); signal NlwRenamedSignal_qspo : STD_LOGIC_VECTOR ( 0 downto 0 ); begin a_2(5) <= a(5); a_2(4) <= a(4); a_2(3) <= a(3); a_2(2) <= a(2); a_2(1) <= a(1); a_2(0) <= a(0); qspo(7) <= NlwRenamedSignal_qspo(0); qspo(6) <= NlwRenamedSignal_qspo(0); qspo(5) <= NlwRenamedSignal_qspo(0); qspo(4) <= NlwRenamedSignal_qspo(0); qspo(3) <= NlwRenamedSignal_qspo(0); qspo(2) <= NlwRenamedSignal_qspo(0); qspo(1) <= NlwRenamedSignal_qspo(0); qspo(0) <= NlwRenamedSignal_qspo(0); VCC_0 : VCC port map ( P => N1 ); GND_1 : GND port map ( G => N0 ); BU2_XST_GND : GND port map ( G => NlwRenamedSignal_qspo(0) );end STRUCTURE; So, I didn't understandd at all what this component is meant to do! There's a 6 bit input saved in a 6 bit array in an asynchronous mode. There's an 8 bit out that only gets an one bit signal [NlwRenamedSignal_qspo] for every bit [7 downto 0] of his output There's an obscure component named BU2_XST_GND There are two internal signals that seems to be unused [N0 and N1] So, I didn't understand, what is this code supposed to do? and how could I simply write the 12.4 VHDL code counterpart? Thanks a lot! |
|
相关推荐
3个回答
|
|
|
1.如果你通过XST运行它并删除了'synthesis translate_off'pragma会发生什么?2。
你有没有模仿它来帮助你理解它在做什么? ------------------------------------------“如果它不起作用 模拟,它不会在板上工作。“ 以上来自于谷歌翻译 以下为原文 1. What happens if you run it through XST with the 'synthesis translate_off' pragma removed? 2. Have you simulated it to help you understand what it's doing? ------------------------------------------ "If it don't work in simulation, it won't work on the board." |
|
|
|
|
|
我将查看支持此核心的OpenCores提供的文档。
是的,这个评论意味着滑稽。 ----------------------------是的,我这样做是为了谋生。 以上来自于谷歌翻译 以下为原文 I would look through the documentation provided by OpenCores that supports this core. Yes, this comment was meant to be facetious. ----------------------------Yes, I do this for a living. |
|
|
|
|
|
忽略您发布的模拟模型中的混淆代码,我猜这个
是一个带有输出寄存器的“单端口分布式存储器”。 entity dist_mem_64x8是port(clk:在STD_LOGIC:='X'; a:在STD_LOGIC_VECTOR(5 downto 0); qspo:out STD_LOGIC_VECTOR(7 downto 0)); end dist_mem_64x8; clk - 时钟 a - 地址(64位元素为6位) qspo - 输出寄存器后的数据输出(Q为触发器Q,spo为单端口输出) 问题是它必须用作ROM,因为没有D输入。 所以你需要 找到初始化向量。 它可能隐藏在文件中明显缺失的部分 在粘贴的代码段的末尾,或者它可能位于单独的.mif或.coe文件中。 HTH, 的Gabor - Gabor 以上来自于谷歌翻译 以下为原文 Ignoring the obfuscated code in the simulation model you posted, I would guess that this is a "single-port distributed memory" with an output register. entity dist_mem_64x8 is port ( clk : in STD_LOGIC := 'X'; a : in STD_LOGIC_VECTOR ( 5 downto 0 ); qspo : out STD_LOGIC_VECTOR ( 7 downto 0 ) ); end dist_mem_64x8; clk -- The clock a -- the address (6 bits for 64 elements) qspo -- Data out after the output register (Q for flip-flop Q, spo for single-port out) The problem is that it must be used as a ROM since there's no D input. So you need to find the initialization vector. It may be hidden in the part of the file that's clearly missing at the end of your pasted snippet, or it may be in a separate .mif or .coe file. HTH, Gabor -- Gabor |
|
|
|
|
只有小组成员才能发言,加入小组>>
3118 浏览 7 评论
3407 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2873 浏览 9 评论
3966 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
3057 浏览 15 评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
1325浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
1167浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:12 , Processed in 0.715367 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
359
