首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Verilog语法错误

Verilog语法错误
EN

Stack Overflow用户
提问于 2017-11-12 18:32:32
回答 4查看 1.9K关注 0票数 2

各位,关于如何修复下面的Verilog代码,我只是一个简单的问题,我总是会遇到错误。有什么建议吗?

代码语言:javascript
复制
module bcd_to_seven_seg( B, S);

input wire [3:0]B;
output wire [6:0]S;

reg [6:0] rS;
assign S = rS;

always @(B)
begin
  case({B})
  4'b0000: rS= 7b'1000000;
  4'b0001: rS= 7b'1111001;
  4'b0010: rS= 7b'0100100;
  4'b0011: rS= 7b'0110000;
  4'b0100: rS= 7b'0011001;
  4'b0101: rS= 7b'0010010;
  4'b0110: rS= 7b'0000010;
  4'b0111: rS= 7b'1111000;
  4'b1000: rS= 7b'0000000;
  4'b1001: rS= 7b'0010000;
  endcase

end

endmodule

以下是错误

错误(10170):Verilog语法错误在bcd_to_seven_seg.v(32)靠近文本"b ";“期望";”错误(10170):bcd_to_seven_seg.v(33)靠近文本“b;预期";”错误(10170):bcd_to_seven_seg.v(34)接近文本“b”的bcd_to_seven_seg.v(34)处的Verilog语法错误;预期;“错误(10170):bcd_to_seven_seg.v(35)接近文本”b“的Verilog语法错误;预期";“错误”(10170):bcd_to_seven_seg.v(36)靠近文本“b”的Verilog语法错误;“预期";”错误“(10170):bcd_to_seven_seg.v(37)靠近文本”b“的Verilog语法错误;预期错误(10170):bcd_to_seven_seg.v(38)靠近文本”b“的Verilog语法错误;预期;错误(10170):bcd_to_seven_seg.v(39)靠近文本“b”的Verilog语法错误;预期(10170):bcd_to_seven_seg.v(40)靠近文本“b”的Verilog语法错误;预期错误(10170):bcd_to_seven_seg.v(41)接近文本“b”的Verilog语法错误;预期错误: Quartus II 64位分析和合成失败。10错误,0警告错误:峰值虚拟内存: 556 on错误:处理结束: Sun Nov 12 11:24:28 2017错误:运行时间: 00:00:01错误:总CPU时间(在所有处理器上):00:00:01

EN

回答 4

Stack Overflow用户

发布于 2017-11-27 00:29:14

代码语言:javascript
复制
7'b0010001

7‘指七位数

B表示你在使用二进制

0010001是你的号码

我们都犯了同样的错误

票数 4
EN

Stack Overflow用户

发布于 2018-12-13 06:38:44

我已经重写了您的代码,并在您的代码有问题的地方添加了注释。请在建模组合逻辑时小心,因为代码的编写方式可能会推断闩锁,因为case语句没有默认语句。我已经写了默认情况为x,您可以编辑它,以满足您的需要。

代码语言:javascript
复制
module bcd_to_seven_seg( B, S);

input wire [3:0]B;
output wire [6:0]S;

reg [6:0] rS;
assign S = rS;

always @(*)                 //Model combinational blocks as always@(*)to avoid latch
begin                       
case(B)                      //Concantenation operator {} not needed
  4'b0000: rS= 7'b1000000;   //Use 7'b instead of 7b'
  4'b0001: rS= 7'b1111001;
  4'b0010: rS= 7'b0100100;
  4'b0011: rS= 7'b0110000;
  4'b0100: rS= 7'b0011001;
  4'b0101: rS= 7'b0010010;
  4'b0110: rS= 7'b0000010;
  4'b0111: rS= 7'b1111000;
  4'b1000: rS= 7'b0000000;
  4'b1001: rS= 7'b0010000;
  default: rs= 7'dx;          //Use default statement else a latch may get inferred
endcase

end

endmodule
票数 1
EN

Stack Overflow用户

发布于 2018-07-17 09:16:40

应该是7'b而不是7b。

rS = 7'b1000000;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47252399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档