集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1976|回复: 3

问题仍在继续——一个初学者请教:寄存器赋值问题?

[复制链接]
CHANG 发表于 2010-6-28 00:35:00 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-7-6 06:57 编辑

变量,if语句上限不支持变量~~~~~~~”
那么下限能否支持变量呢?如果不能,在需要在运行过程中改变if语句判断条件时(注1处),该怎么实现呢。我想FPGA/CPLD肯定有办法实现的。
module pulse(clkin,wr0,clkout,en,data);

input  clkin,wr0;
input [15:0]data ;
input  en;
output clkout;
reg  clkout;
reg [6:0] count;
reg [15:0]N;

initial begin
count = 0;
N = 5;
end

always @(negedge wr0)
N = data;

always @(posedge clkin)
if(en==1)
  begin
   if(count<N)    /*注1 */
   count = count+1;
   else
   count = 0;
  end
assign clkout = connt[1];
endmodule
HDL 发表于 2010-6-28 02:34:00 | 显示全部楼层
首先请你说说你程序的功能&nbsp;&nbsp;<br>
<br>
你程序编译过了吗&nbsp;&nbsp;我是没过 主要是<br>
<br>
assign clkout = count[1];中的count为reg&nbsp; &nbsp;不能用在assign语句中 <br>
<br>
对不对 期待高手的 到来
ups 发表于 2010-6-28 02:56:05 | 显示全部楼层
把这句<br>
reg&nbsp; &nbsp;&nbsp; &nbsp;clkout;<br>
删掉就可以编译通过了。
FFT 发表于 2010-6-28 04:38:38 | 显示全部楼层
reg必需要时钟信号<br>
可以将count类型改为wire或缺损<br>
时序电路最好用非阻塞赋值符号<br>
initial不要出现在模块中,一般不能综合;可以在测试模块中,可以用复位信号初始化
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-16 05:50 , Processed in 0.070202 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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