waterbird521
驱动牛犊
驱动牛犊
  • 注册日期2003-05-13
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分103分
  • 威望18点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1733回复:1

vhdl程序的一个小问题,请大家看看。

楼主#
更多 发布于:2005-07-23 19:23
  我在做一个串行数据到并行数据的转换。

signal data_in : std_logic;  --输入串行数据
signal tmp : std_logic_vector(17 downto 0); --输出并行数据 16bit
signal count : std_logic_vector(3 downto 0); --计数器
.......
主要请大家看看数据移位的两种方式有什么区别:
第一种:
if(count="0000")then
tmp(15 downto 0)<=tmp(14 downto 0) & datain;
.......

第二种:
if(count="0000")then
tmp(15 downto 0)<=tmp(15 downto 0) * "10";
tmp(0)<=data_in;
vitiluck
驱动牛犊
驱动牛犊
  • 注册日期2004-07-27
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-08-01 17:39
做一个乘法应该消耗大量的逻辑资源。

另外 第二种 就是tmp(0) 有两个 <=

这样很不好!
游客

返回顶部