请各位DX帮看看这个Verilog简单程序有问题吗。

[复制链接]
5184|16
 楼主| wayner 发表于 2007-9-2 10:12 | 显示全部楼层 |阅读模式
我写了个Verilog简单程序,时钟信号输入是clk,输出:7个共阴极数码管段位seg(包括小数点共8段),7个位选择位是bit7。<br />程序思路:时钟信号送到8个10进制计数器计数,将前7位计数结果用数码管动态显示下来。完整程序如下:<br />module&nbsp;BCD7dp(seg,bit7,clk);<br />&nbsp;&nbsp;output&nbsp;[7:0]seg;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//LED&nbsp;segment<br />&nbsp;&nbsp;output&nbsp;[6:0]bit7;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//LED&nbsp;bit&nbsp;select&nbsp;&nbsp;<br />&nbsp;&nbsp;input&nbsp;clk;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;reg&nbsp;[7:0]seg_rg;<br />&nbsp;&nbsp;wire&nbsp;[3:0]BD;<br />&nbsp;&nbsp;reg&nbsp;[6:0]bt_rg;<br />&nbsp;&nbsp;reg&nbsp;[2:0]cntl_rg;<br />&nbsp;&nbsp;wire&nbsp;[32:1]ctdat;<br />&nbsp;&nbsp;wire&nbsp;[8:1]tmp;&nbsp;<br />&nbsp;&nbsp;wire&nbsp;[2:0]cotl;<br />&nbsp;&nbsp;reg&nbsp;global_rst;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;//下面是8个十进制计数器<br />&nbsp;&nbsp;ct4b&nbsp;U1(ctdat[4:1],tmp[1],global_rst,clk),<br />&nbsp;&nbsp;&nbsp;&nbsp;U2(ctdat[8:5],tmp[2],global_rst,tmp[1]),<br />&nbsp;&nbsp;&nbsp;&nbsp;U3(ctdat[12:9],tmp[3],global_rst,tmp[2]),<br />&nbsp;&nbsp;&nbsp;&nbsp;U4(ctdat[16:13],tmp[4],global_rst,tmp[3]),<br />&nbsp;&nbsp;&nbsp;&nbsp;U5(ctdat[20:17],tmp[5],global_rst,tmp[4]),<br />&nbsp;&nbsp;&nbsp;&nbsp;U6(ctdat[24:21],tmp[6],global_rst,tmp[5]),<br />&nbsp;&nbsp;&nbsp;&nbsp;U7(ctdat[28:25],tmp[7],global_rst,tmp[6]),<br />&nbsp;&nbsp;&nbsp;&nbsp;U8(ctdat[32:29],tmp[8],global_rst,tmp[7]);&nbsp;&nbsp;<br />&nbsp;&nbsp;//下面是4个8选1选择器,实际用7选1<br />&nbsp;&nbsp;MUX8sel&nbsp;U10(BD[3],{ctdat[8],ctdat[12],ctdat[16],ctdat[20],ctdat[24],ctdat[28],ctdat[32],ctdat[4]},cotl),<br />&nbsp;&nbsp;&nbsp;&nbsp;U11(BD[2],{ctdat[7],ctdat[11],ctdat[15],ctdat[19],ctdat[23],ctdat[27],ctdat[31],ctdat[3]},cotl),<br />&nbsp;&nbsp;&nbsp;&nbsp;U12(BD[1],{ctdat[6],ctdat[10],ctdat[14],ctdat[18],ctdat[22],ctdat[26],ctdat[30],ctdat[2]},cotl),<br />&nbsp;&nbsp;&nbsp;&nbsp;U13(BD[0],{ctdat[5],ctdat[9],ctdat[13],ctdat[17],ctdat[21],ctdat[25],ctdat[29],ctdat[1]},cotl);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;always&nbsp;@(tmp[3])&nbsp;&nbsp;&nbsp;&nbsp;//七段码译码器<br />&nbsp;&nbsp;begin<br />&nbsp;&nbsp;case(BD[3:0])&nbsp;//&nbsp;hgfe_dcba<br />&nbsp;&nbsp;&nbsp;&nbsp;0:seg_rg=8'b0011_1111;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a<br />&nbsp;&nbsp;&nbsp;&nbsp;1:seg_rg=8'b0000_0110;&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;2:seg_rg=8'b0101_1011;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;3:seg_rg=8'b0100_1111;&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;4:seg_rg=8'b0110_0110;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g<br />&nbsp;&nbsp;&nbsp;&nbsp;5:seg_rg=8'b0110_1101;&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;6:seg_rg=8'b0111_1101;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;7:seg_rg=8'b0000_0111;&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;8:seg_rg=8'b0111_1111;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h<br />&nbsp;&nbsp;&nbsp;&nbsp;9:seg_rg=8'b0110_0111;&nbsp;&nbsp;&nbsp;&nbsp;//common&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;default:seg_rg=8'bx;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//<br />&nbsp;&nbsp;&nbsp;&nbsp;endcase<br />&nbsp;&nbsp;&nbsp;end&nbsp;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;always&nbsp;@(tmp[6])&nbsp;&nbsp;&nbsp;&nbsp;//七位计数<br />&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_rg=cntl_rg+1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(cntl_rg==7)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_rg=0;&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 />&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;always&nbsp;@(tmp[6])&nbsp;&nbsp;&nbsp;&nbsp;//7位要显示位的选择器<br />&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case(cntl_rg[2:0])<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0:bt_rg=7'b000_0001;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1:bt_rg=7'b000_0010;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2:bt_rg=7'b000_0100;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3:bt_rg=7'b000_1000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4:bt_rg=7'b001_0000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5:bt_rg=7'b010_0000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6:bt_rg=7'b100_0000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:bt_rg=7'bx;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endcase<br />&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;assign&nbsp;seg=seg_rg;<br />&nbsp;&nbsp;&nbsp;assign&nbsp;bit7=bt_rg;<br />&nbsp;&nbsp;&nbsp;assign&nbsp;global_rst=1;<br />endmodule<br /><br />module&nbsp;MUX8sel(ot,I8,cnl3);<br />&nbsp;&nbsp;&nbsp;&nbsp;output&nbsp;ot;<br />&nbsp;&nbsp;&nbsp;&nbsp;reg&nbsp;&nbsp;&nbsp;&nbsp;ot;<br />&nbsp;&nbsp;&nbsp;&nbsp;input&nbsp;&nbsp;[0:7]I8;<br />&nbsp;&nbsp;&nbsp;&nbsp;input&nbsp;&nbsp;[0:2]cnl3;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;always&nbsp;@(I8&nbsp;or&nbsp;cnl3)<br />&nbsp;&nbsp;&nbsp;&nbsp;begin&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case(cnl3)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0:ot=I8[0];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1:ot=I8[1];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2:ot=I8[2];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3:ot=I8[3];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4:ot=I8[4];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5:ot=I8[5];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6:ot=I8[6];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7:ot=I8[7];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endcase&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />endmodule<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />module&nbsp;ct4b(q,cout,global_rst,clk);&nbsp;<br />&nbsp;&nbsp;output&nbsp;[3:0]q;<br />&nbsp;&nbsp;output&nbsp;cout;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;input&nbsp;global_rst;&nbsp;&nbsp;<br />&nbsp;&nbsp;input&nbsp;clk;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;reg&nbsp;[3:0]q;&nbsp;&nbsp;<br />&nbsp;&nbsp;reg&nbsp;cout;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;always&nbsp;@(global_rst)<br />&nbsp;&nbsp;&nbsp;&nbsp;begin&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!global_rst)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assign&nbsp;q=4'b0000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assign&nbsp;cout=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deassign&nbsp;q;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deassign&nbsp;cout;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;always&nbsp;@(posedge&nbsp;clk)<br />&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q&nbsp;=&nbsp;q+1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(q==4'b1010)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;q=4'b0000;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout=1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout=0;<br />&nbsp;&nbsp;end&nbsp;&nbsp;<br />endmodule&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />可是用ISE9。1编译时出现如下错误:<br />Started&nbsp;:&nbsp;&quot;Fit&quot;.<br />WARNING:Cpld&nbsp;-&nbsp;The&nbsp;signal(s)&nbsp;'cntl_rg&lt0&gt'&nbsp;are&nbsp;in&nbsp;combinational&nbsp;feedback&nbsp;loops.<br />&nbsp;&nbsp;&nbsp;These&nbsp;signals&nbsp;may&nbsp;cause&nbsp;hazards/glitches.&nbsp;Apply&nbsp;the&nbsp;NOREDUCE&nbsp;parameter&nbsp;to&nbsp;the&nbsp;hazard&nbsp;reduction&nbsp;circuitry.<br />&nbsp;&nbsp;&nbsp;Timing&nbsp;analysis&nbsp;of&nbsp;paths&nbsp;involving&nbsp;this&nbsp;node&nbsp;may&nbsp;be&nbsp;inaccurate&nbsp;or&nbsp;incomplete.<br />WARNING:Cpld&nbsp;-&nbsp;The&nbsp;signal(s)&nbsp;'_old_cntl_rg_1&lt1&gt'&nbsp;are&nbsp;in&nbsp;combinational&nbsp;feedback&nbsp;loops.<br />&nbsp;&nbsp;&nbsp;These&nbsp;signals&nbsp;may&nbsp;cause&nbsp;hazards/glitches.&nbsp;Apply&nbsp;the&nbsp;NOREDUCE&nbsp;parameter&nbsp;to&nbsp;the&nbsp;hazard&nbsp;reduction&nbsp;circuitry.<br />&nbsp;&nbsp;&nbsp;Timing&nbsp;analysis&nbsp;of&nbsp;paths&nbsp;involving&nbsp;this&nbsp;node&nbsp;may&nbsp;be&nbsp;inaccurate&nbsp;or&nbsp;incomplete.<br />WARNING:Cpld&nbsp;-&nbsp;The&nbsp;signal(s)&nbsp;'cntl_rg_cmp_eq0000'&nbsp;are&nbsp;in&nbsp;combinational&nbsp;feedback&nbsp;loops.<br />&nbsp;&nbsp;&nbsp;These&nbsp;signals&nbsp;may&nbsp;cause&nbsp;hazards/glitches.&nbsp;Apply&nbsp;the&nbsp;NOREDUCE&nbsp;parameter&nbsp;to&nbsp;the&nbsp;hazard&nbsp;reduction&nbsp;circuitry.<br />&nbsp;&nbsp;&nbsp;Timing&nbsp;analysis&nbsp;of&nbsp;paths&nbsp;involving&nbsp;this&nbsp;node&nbsp;may&nbsp;be&nbsp;inaccurate&nbsp;or&nbsp;incomplete.<br />WARNING:Cpld&nbsp;-&nbsp;The&nbsp;signal(s)&nbsp;'_old_cntl_rg_1&lt2&gt'&nbsp;are&nbsp;in&nbsp;combinational&nbsp;feedback&nbsp;loops.<br />&nbsp;&nbsp;&nbsp;These&nbsp;signals&nbsp;may&nbsp;cause&nbsp;hazards/glitches.&nbsp;Apply&nbsp;the&nbsp;NOREDUCE&nbsp;parameter&nbsp;to&nbsp;the&nbsp;hazard&nbsp;reduction&nbsp;circuitry.<br />&nbsp;&nbsp;&nbsp;Timing&nbsp;analysis&nbsp;of&nbsp;paths&nbsp;involving&nbsp;this&nbsp;node&nbsp;may&nbsp;be&nbsp;inaccurate&nbsp;or&nbsp;incomplete.<br /><br />ERROR:Cpld:892&nbsp;-&nbsp;Cannot&nbsp;place&nbsp;signal&nbsp;cntl_rg&lt0&gt.&nbsp;Consider&nbsp;reducing&nbsp;the<br />&nbsp;&nbsp;&nbsp;collapsing&nbsp;input&nbsp;limit&nbsp;or&nbsp;the&nbsp;product&nbsp;term&nbsp;limit&nbsp;to&nbsp;prevent&nbsp;the&nbsp;fitter&nbsp;from&nbsp;creating&nbsp;high&nbsp;input&nbsp;and/or&nbsp;high&nbsp;product&nbsp;term&nbsp;functions.<br />.....<br />ERROR:Cpld:868&nbsp;-&nbsp;Cannot&nbsp;fit&nbsp;the&nbsp;design&nbsp;into&nbsp;any&nbsp;of&nbsp;the&nbsp;specified&nbsp;devices&nbsp;with&nbsp;the&nbsp;selected&nbsp;implementation&nbsp;options.<br /><br />Process&nbsp;&quot;Fit&quot;&nbsp;failed<br />请问DX,程序到底有没有问题啊?变量cntl_rg有什么不妥的?将它改为wire也不行
 楼主| wayner 发表于 2007-9-3 16:33 | 显示全部楼层

顶!这是一个简单实验,程序其实很小,请指导

  
 楼主| wayner 发表于 2007-9-11 15:18 | 显示全部楼层

没人会?还是太简单了?

  
风中De舞者 发表于 2007-9-12 13:24 | 显示全部楼层

可能是由于你选择的器件不对 或者没有选择器件

  
sibaidong 发表于 2007-9-12 21:10 | 显示全部楼层

我用的是QuartusII

要不就可以帮你看看!<br />写得太多了,先写一位的驱动试试吧!
 楼主| wayner 发表于 2007-9-13 08:02 | 显示全部楼层

谢谢回复

谢谢风中De舞者:<br />&nbsp;我选择的器件是XC9572XL-TQ100-7,用的软件是xilinx&nbsp;ISE9.1,选择是正确的。<br />谢谢sibaidong:<br />&nbsp;请帮我看看吧。我用的器件XC9572XL内有72个D触发器,资源应该够了。<br />8个BCD码计数器用32个D触发器,管选择位的7进制计数器用3个D触发器
 楼主| wayner 发表于 2007-9-13 16:14 | 显示全部楼层

这版比侃单片机冷清多了,是用CPLD的人少?本版在业界知名

  
hapyang 发表于 2007-9-17 18:38 | 显示全部楼层

是不是这一点的问题

&nbsp;always&nbsp;@(tmp[6])&nbsp;&nbsp;&nbsp;&nbsp;//七位计数<br />&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_rg=cntl_rg+1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(cntl_rg==7)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_rg=0;&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 />&nbsp;&nbsp;&nbsp;end<br /><br /><br />tmp[6]是不是有问题?<br />我用的是vhdl,看wanrning里好像是这得问题
 楼主| wayner 发表于 2007-9-20 15:23 | 显示全部楼层

谢谢hapyang,不是tmp[6]的问题,我画电原理图来实现也不行

  
 楼主| wayner 发表于 2007-9-22 16:58 | 显示全部楼层

看的人多,没人想回?

  
wrhwindboy 发表于 2007-10-31 17:58 | 显示全部楼层

请各位DX帮看看这个Verilog简单程序有问题吗。

你的assign&nbsp;有没有用对地方哦<br />乱来的吧。你对reg&nbsp;也用assign?
jzt369 发表于 2007-11-10 10:06 | 显示全部楼层

!

从软件提示的信息来看<br />1、组合电路会引起毛刺<br />2、器件资源不够放不下,can't&nbsp;fit
shang21ic 发表于 2007-11-10 23:47 | 显示全部楼层

我是初学者.

&nbsp;&nbsp;&nbsp;最近工作的需要,边做边学了2个月的cpld,感觉入门容易,但是做项目梢复杂一点就问题出来了.语言虽然简单,一般用assign,always就可以实现,但是却不向C语言那样有条理有顺序的执行;verilog毕竟是硬件描述语言,必须对硬件要清楚,所以即使你描述的语言没错误,但是却有可能硬件是无法实现的.<br />&nbsp;&nbsp;&nbsp;现在总结了一点经验:<br />1.程序分模块写,把每个模块都仿真无误.<br />2.顶层采用原理图把各个模块连接,这样比较直观,方面以后程序文档化.<br />3.pcb设计的时候尽量把无用到的引脚(2~5个)也引出去做测试点,方便调试.<br />4.使用多宗示波器观察时序.
vongy 发表于 2007-11-11 21:13 | 显示全部楼层

在组合逻辑里使用cntl_rg=cntl_rg+1??一般情况下都会出错的

  
xjg1111 发表于 2007-11-14 23:23 | 显示全部楼层

从提示上看应该不是代码的问题

可能是器件、管脚配置,是否匹配的问题。
hehui525 发表于 2007-11-22 14:53 | 显示全部楼层

问题挺多

&nbsp;always&nbsp;@(tmp[6])&nbsp;&nbsp;&nbsp;&nbsp;//七位计数<br />&nbsp;&nbsp;&nbsp;begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_rg=cntl_rg+1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(cntl_rg==7)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cntl_rg=0;&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 />&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;<br />看这段程序就有很多问题:1:tmp[6]是时钟吗?是时钟应该指明上升沿或者下降沿触发,。2:内部的=应该为&lt=。&nbsp;这些你需要参考代码风格指南。<br />我的博客有这方面的**,你可以参考下:http://www.fpga.00bp.com<br />
 楼主| wayner 发表于 2007-11-22 16:34 | 显示全部楼层

谢谢hehui525,谢谢大家

always&nbsp;@(tmp[6])这一句是没有错的,它是对电平触发。<br />assign用的也是对的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

850

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部