集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 4822|回复: 8

VERILOG 串并转换代码

[复制链接]
longtim 发表于 2010-6-28 00:59:17 | 显示全部楼层 |阅读模式
module ser_parrel(clk,reset,en,in,I,Q);
inputclk,reset,en,in;
outputI,Q;
reg[1:0] out;
always@(posedge clk)
begin
if(reset) out<=2'h0;
else if(en)out<={out,in};
end
assign I=out[0];
assign Q=out[1];
endmodule
interige 发表于 2010-6-28 02:41:12 | 显示全部楼层
LZ什么意思?<br>
这代码怎么了?
VVC 发表于 2010-6-28 03:36:08 | 显示全部楼层
module ser_parrel(clk,reset,en,in,out);<br>
input&nbsp;&nbsp;clk,reset,en,in;<br>
output [1:0] out;&nbsp;&nbsp;// 身边没有资料,忘记这么表述可以吗?&nbsp;&nbsp;可以修改[1:0] 来扩展位数的<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;为了使数据准确&nbsp;&nbsp;建议采用锁存方式&nbsp; &nbsp; 这里就不附代码了&nbsp;&nbsp;:)<br>
reg[1:0] out;<br>
always@(posedge clk) // 楼主采用的是同步清零<br>
begin<br>
if(reset) out&lt;=2'h0;<br>
else if(en)&nbsp;&nbsp;out&lt;={out,in};<br>
end<br>
endmodule<br>
<br>
[ 本帖最后由 ljmdiy 于 2007-2-3 15:27 编辑 ]
interi 发表于 2010-6-28 05:35:13 | 显示全部楼层
原帖由 iccome 于 2007-2-2 19:04 发表<br>
...<br>
else if(en)&nbsp;&nbsp;out&lt;={out,in};<br>
... 这一句不对,如果你的out是2位的,后面一合并就成三位的了<br>
还有,串并转换不用这么麻烦吧?你的代码还可以精简
FFT 发表于 2010-6-28 06:28:04 | 显示全部楼层
学习中,关注中
VVIC 发表于 2010-6-28 08:13:48 | 显示全部楼层
也不用这么麻烦吧!实例化四个D触发器不就高定了吗
AAT 发表于 2010-6-28 09:09:56 | 显示全部楼层
4楼和6楼有更好的方法,那就把程序写出来看看吧!
 楼主| longtim 发表于 2010-6-28 10:25:45 | 显示全部楼层
我这是我的一个项目中的一部份,还有其他考虑在里面,谢谢关注
Sunlife 发表于 2015-5-14 09:57:17 | 显示全部楼层
                其实 还不错
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-5-15 10:52 , Processed in 0.077092 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表