2013-02-05 127 views
-2

上午有从一个block.But在稍后阶段我必须使用只低8位std_logic_vector.it创建合成问题16位std_logic_vector的输出......请8位STD_LOGIC矢量告诉我如何避免这个..16位std_logic_vector以降低VHDL

+0

你能分享一些代码?它可以帮助理解你的问题。但总的来说,这不应该造成综合问题。语法问题更可能。 – vermaete

+0

其实..我们正在使用巴士的一半... ...巴里克引脚没有连接..这就是真正的硬件问题..在结构模型化之后..作为下一个块的一个块(15 downto 0) 7 downto 0)在portmap ..所以怎么做15 downto 8 – NjN

+0

你得到什么综合问题?请发布一些代码和错误消息? –

回答

4

如果你有一个16位std_logic_vector你可以访问这样的单个字节:

signal largeVariable  : std_logic_vector(15 downto 0); 
signal lower8bitsVariable : std_logic_vector(7 downto 0); 
signal upper8bitsVariable : std_logic_vector(7 downto 0); 

(...) 

lower8bitsVariable <= largeVariable(7 downto 0);  --Store the lower 8 bits of largeVariable 
upper8bitsVariable <= largeVariable(15 downto 8); --Store the upper 8 bits of largeVariable 
+0

我们不仅剩余7 DOWNTO 0 only.so合成感兴趣15 DOWNTO 8..further处理显示端口R未连接.. – NjN

+0

最后一行是只是为了完整性。如果你没有使用高8位的任何东西,合成应该只显示一个警告,表示端口的上部未连接,并优化它。如果编辑我的帖子一点,使其更加清晰。 – sonicwave

+0

究竟....那么如何避免这种警告... – NjN