4949|8

5

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

一个ds18b20的verilog程序,提示有错误,大家帮忙看一下 [复制链接]

module temperature (clk,dq,
d,cont,temp
);
input clk; //时钟1MHZ
input dq; //数字温度串行输入端口
output d; //控制信号输出端口
output cont; //三态门控制信号
output [9:0] temp; //10为温度值并行输出端口
reg d;
reg cont;
reg [9:0] temp;
reg data;
reg [6:0] num; //时隙计数,70个时钟周期为一个时隙
reg [6:0] count; //一次温度转换和输出技术,70个时隙
reg [9:0] t;





always @(posedge clk)
begin
num = num + 1 ;
if (num > 7'b1000100)
begin num = 7'b0000000;
if (count == 7'b1001011)
begin count = 7'b0000000 ; end
else
begin count = count + 1 ; end
end
else
begin num = num + 1 ; end

//---------------------------------------------------------------
if (count >= 7'b0000000 && count <= 7'b0000110) //reset脉冲
begin data = 0 ; cont = 0 ; end
//---------------------------------------------------------------

else if (count > 7'b0000110 && count <= 7'b0001101) //presenc脉冲
begin cont = 0 ; end
//---------------------------------------------------------------

else if (count == 7'b0001110 || count == 7'b0001111 || count == 7'b0010010 || count == 7'b0010011) ; //skip‘0’空隙
begin
if (num >= 7'b0000000 && num < 7'b0111100)
begin data = 0 ; cont = 1 ; end
else
begin cont = 0 ; end
end

//---------------------------------------------------------------

else if (count == 7'b0010000 || count == 7'b0010001 || count == 7'b0010100 || count == 7'b0010101) ;
begin
if (num >= 7'b0000000 && num < 7'b0001010)
begin data = 0 ; cont = 1 ; end
else
begin cont = 0 ; end
end

//---------------------------------------------------------------

else if (count == 7'b0010110 || count == 7'b0010111 || count == 7'b0011001 || count == 7'b0011010 || count == 7'b0011011 || count == 'b0011101) ; //convert'0'
begin
if (num >= 'b0000000 && num < 'b0111100)
begin data = 0 ; cont = 1 ; end
else
begin cont = 0 ; end
end
//---------------------------------------------------------------

else if (count == 'b0011000 && count == 'b0011100)
begin
if (num >= 'b0000000 && num < 'b00011100)
begin data = 0 ; cont = 0 ; end
else
begin cont = 0 ; end
end

//---------------------------------------------------------------

else if (count == 'b0011110 && count == 'b0100100) //reste
begin data = 0 ; cont = 0 ; end

//---------------------------------------------------------------

else if (count == 'b0100101 && count == 'b0101011) //presence
begin cont = 0 ; end
end
endmodule
此帖出自FPGA/CPLD论坛

最新回复

都贴在上面了 还要别人给你发啊 再说这贴在 也太久远了  详情 回复 发表于 2014-5-10 00:40
点赞 关注
 

回复
举报

48

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
哥们,你是希望别人帮你看看错在哪里吧。建议把错误提示贴出来,否则,这么长的代码,估计没人愿意看。
此帖出自FPGA/CPLD论坛
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
不过不应该出现这种错误啊

QQ截图20111225205230.jpg (101.52 KB, 下载次数: 4)

QQ截图20111225205230.jpg
此帖出自FPGA/CPLD论坛
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(高级)

4
 
好像是你的begin……end没有配对使用,可能在什么地方漏了,或者什么地方多了一个,或者从一个地方写到了另一个地方。
此帖出自FPGA/CPLD论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

5
 
这个我检查了好多遍了,他一直都是从某一个else if 语句开始提示这个错误,感觉好像是编译环境不认同连续的多个else if 一样
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

6
 
else if (count == 7'b0010110 || count == 7'b0010111 || count == 7'b0011001 || count == 7'b0011010 || count == 7'b0011011 || count == 'b0011101) ;//convert'0'
 
哥们,这个多了一个分号!
 
仔细检查一下,还有类错误!
此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

7
 
闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏闁诲孩鑹鹃ˇ浼村Φ閸曨垰绠抽柛鈩冦仦婢规洜绱撻崒娆戝妽妞ゃ劌妫濋弫鍐閻樺灚娈惧┑掳鍊曢幊搴㈠劔闂備礁鐤囧銊х矆娴h鍙忛柕鍫濐槹閻撶喖鏌e鈧禍璺侯瀶閻戣姤鐓曢柡鍌濇硶缁犵粯銇勯姀锛勬噰妤犵偛顑夐弫鍌炴嚍閵夛妇褰ㄩ梺璇查閸樻粓宕戦幘缁樼厱闁归偊鍘奸崝銈嗙箾閸剚瀚�闂傚倸鍊峰ù鍥儍椤愶箑骞㈤柍杞扮劍椤斿嫮绱撻崒姘偓鍝ョ矙閸曨垰绠柨鐕傛嫹闂傚倸鍊烽懗鍫曞箠閹剧粯鍋ら柕濞炬櫆閸嬪鏌i幇顒佹儓闁绘帒鐏氶妵鍕箳閹搭垱鏁鹃柣搴㈢啲閹凤拷婵犵數濮烽弫鎼佸磻濞戔懞鍥敇閵忕姷顦悗鍏夊亾闁告洦鍋夐崺鐐烘⒑鐠恒劌娅愰柟鍑ゆ嫹
此帖出自FPGA/CPLD论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

8
 
闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏闁诲孩鑹鹃ˇ浼村Φ閸曨垰绠抽柛鈩冦仦婢规洜绱撻崒娆戝妽妞ゃ劌妫濋弫鍐閻樺灚娈惧┑掳鍊曢幊搴㈠劔闂備礁鐤囧銊х矆娴h鍙忛柕鍫濐槹閻撶喖鏌e鈧禍璺侯瀶閻戣姤鐓曢柡鍌濇硶缁犵粯銇勯姀锛勬噰妤犵偛顑夐弫鍌炴嚍閵夛妇褰ㄩ梺璇查閸樻粓宕戦幘缁樼厱闁归偊鍘奸崝銈嗙箾閸剚瀚�闂傚倸鍊峰ù鍥儍椤愶箑骞㈤柍杞扮劍椤斿嫮绱撻崒姘偓鍝ョ矙閸曨垰绠柨鐕傛嫹闂傚倸鍊烽懗鍫曞箠閹剧粯鍋ら柕濞炬櫆閸嬪鏌i幇顒佹儓闁绘帒鐏氶妵鍕箳閹搭垱鏁鹃柣搴㈢啲閹凤拷婵犵數濮烽弫鎼佸磻濞戔懞鍥敇閵忕姷顦悗鍏夊亾闁告洦鍋夐崺鐐烘⒑鐠恒劌娅愰柟鍑ゆ嫹
此帖出自FPGA/CPLD论坛
 
 
 

回复

5970

帖子

8

TA的资源

版主

9
 
闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏闁诲孩鑹鹃ˇ浼村Φ閸曨垰绠抽柛鈩冦仦婢规洜绱撻崒娆戝妽妞ゃ劌妫濋弫鍐閻樺灚娈惧┑掳鍊曢幊搴㈠劔闂備礁鐤囧銊х矆娴h鍙忛柕鍫濐槹閻撶喖鏌e鈧禍璺侯瀶閻戣姤鐓曢柡鍌濇硶缁犵粯銇勯姀锛勬噰妤犵偛顑夐弫鍌炴嚍閵夛妇褰ㄩ梺璇查閸樻粓宕戦幘缁樼厱闁归偊鍘奸崝銈嗙箾閸剚瀚�闂傚倸鍊峰ù鍥儍椤愶箑骞㈤柍杞扮劍椤斿嫮绱撻崒姘偓鍝ョ矙閸曨垰绠柨鐕傛嫹闂傚倸鍊烽懗鍫曞箠閹剧粯鍋ら柕濞炬櫆閸嬪鏌i幇顒佹儓闁绘帒鐏氶妵鍕箳閹搭垱鏁鹃柣搴㈢啲閹凤拷婵犵數濮烽弫鎼佸磻濞戔懞鍥敇閵忕姷顦悗鍏夊亾闁告洦鍋夐崺鐐烘⒑鐠恒劌娅愰柟鍑ゆ嫹
此帖出自FPGA/CPLD论坛
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
艾睿电子& Silicon Labs 有奖直播 | 全新蓝牙信道探测:从技术创新到实际应用
直播时间:3月12日(周三)上午10:00
直播奖励:多功能榨汁机、蓝牙音箱、手机支架

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表