返回信息流在VHDL中,我有四个端口,名字分别是PORT0、PORT1、PORT2、PORT3,想把它们拼成一个数组。
我看到alias的使用方法,基本是把一个端口拆成多个端口,如:
alias PH: std_logic_vector(7 downto 0) is PORT(15 downto 8);
alias PL: std_logic_vector(7 downto 0) is PORT(7 downto 0);
但是我想用它来实现我的想法的时候,却不能通过编译:
alias PORTS: std_logic_vector(3 downto 0) is (PORT3,PORT2,PORT1,PORT0);
没办法,我只好用signal来实现了:
signal SIG_PORTS: std_logic_vector(3 downto 0);
SIG_PORTS(0) <= PORT0;
SIG_PORTS(1) <= PORT1;
SIG_PORTS(2) <= PORT2;
SIG_PORTS(3) <= PORT3;
所以有两个问题想请教版上大牛:
1. 我只想实现对端口的直接引用,就是向alias那样使用,不需要其他额外的逻辑,VHDL有语言机制能实现吗?
2. 使用signal实现的时候,系统是直接给我连接到端口,还是会生成一个寄存器?电平从端口到信号会不会有额外的传输时延?
这是一条镜像帖。来源:北邮人论坛 / circuit / #14740同步于 2010/8/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖
[求助]在VHDL中如何把几个端口拼成一个数组啊?
bupteinstein
2010/8/3镜像同步14 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
今天看见你和老朱了。。。
表示只会verilog了。。。
【 在 bupteinstein (相期以茶) 的大作中提到: 】
: 在VHDL中,我有四个端口,名字分别是PORT0、PORT1、PORT2、PORT3,想把它们拼成一个数组。
: 我看到alias的使用方法,基本是把一个端口拆成多个端口,如:
: alias PH: std_logic_vector(7 downto 0) is PORT(15 downto 8);
: ...................
话说altera太贱了。。
给了一堆DDR,DDRII,DDRIII的ip core
不给SDRAM的。。。
第三方的是要钱的。。。难道我手写一个么。。。
【 在 police (又是一年毕业时) 的大作中提到: 】
: 今天看见你和老朱了。。。
: 表示只会verilog了。。。
ms有很多现成的。。。唔
【 在 police (又是一年毕业时) 的大作中提到: 】
: 话说altera太贱了。。
: 给了一堆DDR,DDRII,DDRIII的ip core
: 不给SDRAM的。。。
: ...................
【 在 bupteinstein 的大作中提到: 】
: 在VHDL中,我有四个端口,名字分别是PORT0、PORT1、PORT2、PORT3,想把它们拼成一个数组。
: 我看到alias的使用方法,基本是把一个端口拆成多个端口,如:
: alias PH: std_logic_vector(7 downto 0) is PORT(15 downto 8);
: ...................
貌似可以用 SIG_PORTS <= PORT3 & PORT2 & PORT1 & PORT0 ,你的想法实现和例子的格式不一致啊。
忘得差不多了。。
再找书查一下吧。
1. 我只想实现对端口的直接引用,就是向alias那样使用,不需要其他额外的逻辑,VHDL有语言机制能实现吗?
--VHDL 的不懂,你哪种实现方式就可以了
6、7楼的也应该可以,但是他们把四个port组合成了一个更长的vector,而不是数组,用的时候注意点。
2. 使用signal实现的时候,系统是直接给我连接到端口,还是会生成一个寄存器?电平从端口到信号会不会有额外的传输时延?
--不会引入额外的延时或生成任何寄存器,除非你把它放到process里面用时钟出发。不管altera还是xilinx的综合器都会把多余的逻辑自动优化掉的。
【 在 bupteinstein 的大作中提到: 】
: 在VHDL中,我有四个端口,名字分别是PORT0、PORT1、PORT2、PORT3,想把它们拼成一个数组。
: 我看到alias的使用方法,基本是把一个端口拆成多个端口,如:
: alias PH: std_logic_vector(7 downto 0) is PORT(15 downto 8);
: ...................