Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有case/always语句的Verilog问题_Verilog_Case Statement_Quartus - Fatal编程技术网

带有case/always语句的Verilog问题

带有case/always语句的Verilog问题,verilog,case-statement,quartus,Verilog,Case Statement,Quartus,我已经使用给出的示例代码为类编写了这个模块,但是我在尝试编译时遇到了错误-我认为这可能是由于我使用输入的方式(或者只是语法错误),所以我尝试使用数组来完成它-我的注释方法正确吗?我应该使用连接吗 module ledSwitch(LEDR, SW); input [9:0] SW; //switches and led output [0] LEDR; mux7to1 u0( .s0(SW[0]),//input switches to mux

我已经使用给出的示例代码为类编写了这个模块,但是我在尝试编译时遇到了错误-我认为这可能是由于我使用输入的方式(或者只是语法错误),所以我尝试使用数组来完成它-我的注释方法正确吗?我应该使用连接吗

module ledSwitch(LEDR, SW);
    input [9:0] SW; //switches and led
    output [0] LEDR;
 
    mux7to1 u0(
        .s0(SW[0]),//input switches to mux
        .s1(SW[1]),
        .s2(SW[2]),
        .s3(SW[3]),
        .s4(SW[4]),
        .s5(SW[5]),
        .s6(SW[6]),
        .s7(SW[7]),
        .s8(SW[8]),
        .s9(SW[9]),
        //.inputs([SW[0], [SW[1], [SW[2], [SW[3], [SW[4], [SW[5], [SW[6]])
        //.muxSelect([SW[7], [SW[8], [SW[9])
        .l(LEDR[0]) //input led output to mux
        );
endmodule

module mux7to1(s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, l);
    input s0;
    input s1;
    input s2;
    input s3;
    input s4;
    input s5;
    input s6;
    input s7;
    input s8;
    input s9;
    //input inputs[6:0]
    //input muxSelect[2:0]

    output l;

    reg Out; //declare the output signal for the always block

    always@(*) //declare always block
    begin
        case ([s9, s8, s7])//muxSelect[2:0] //start case statement
            3'b000: Out = s0; //case 0, A
            3'b001: Out = s3; //case 1, D
            3'b010: Out = s1; //case 2, B
            3'b011: Out = s5 //case 3, F
            3'b100: Out = s0; //case 4, A
            3'b101: Out = s4; //case 5, E
            3'b110: Out = s2; //case 6, C
            3'b111: Out = s6; //case 7, G
            default: Out = 0; //Default        
        endcase
    end
    assign l = Out;
endmodule
以下是错误消息:

信息:*******************************************************************

信息:运行Quartus II 64位分析与合成

信息:版本15.0.0构建145 2015年4月22日SJ网络版

信息:处理已开始:2016年2月2日星期二14:53:06

信息:命令:quartus\u map--read\u settings\u files=on--write\u settings\u files=off Lab2\u 1-c Lab2\u 1

警告(20028):并行编译未获得许可,已被禁用

错误(10170):在文本“[”附近的Lab2_1.v(43)处出现Verilog HDL语法错误,需要一个操作数

错误(10170):文本“3”附近的Lab2_1.v(45)处出现Verilog HDL语法错误;应为“end”

错误(10170):文本“3”附近Lab2_1.v(46)处的Verilog HDL语法错误;应为“end”

错误(10170):文本“3”附近的Lab2_1.v(47)处出现Verilog HDL语法错误;应为“end”

错误(10170):文本“3”附近Lab2_1.v(48)处的Verilog HDL语法错误;应为“

错误(10170):文本“3”附近Lab2_1.v(49)处的Verilog HDL语法错误;应为“end”

错误(10170):文本“3”附近Lab2_1.v(50)处的Verilog HDL语法错误;应为“end”

错误(10170):文本“3”附近Lab2_1.v(51)处的Verilog HDL语法错误;应为“end”

错误(10170):文本“default”附近Lab2_1.v(52)处的Verilog HDL语法错误;应为“end”

错误(10170):文本“endcase”附近Lab2_1.v(53)处的Verilog HDL语法错误;应为“end”

错误(10112):由于以前的错误,在Lab2_1.v(24)处忽略了设计单元“mux7to1”

信息(12021):在源文件Lab2_1.v中找到0个设计单元,包括0个实体

错误:Quartus II 64位分析与合成失败。11个错误,1个警告

错误:峰值虚拟内存:959 MB

错误:处理结束:2016年2月2日星期二14:53:23

错误:运行时间:00:00:17

错误:总CPU时间(在所有处理器上):00:00:51

错误(293001):Quartus II完整编译失败。13个错误,1个警告


您需要使用连接运算符:
case({s9,s8,s7})

还有一些语法错误,如缺少分号,需要更正


最后,在LED开关模块中,您需要正确定义输出。

您需要使用串联运算符:
case({s9,s8,s7})

还有一些语法错误,如缺少分号,需要更正

最后,在LED开关模块中,您需要正确定义输出