HDLbits--Ringer

在VerilogHDL代码中,尝试使用过程连续赋值语句导致了错误。原始代码使用了`assign`和`deassign`在条件语句中,这是不被支持的。修正方法是仅使用`assign`语句来确定输入`ring`和`vibrate_mode`对输出`ringer`和`motor`的影响,创建了一个满足真值表要求的简化版本。修改后的代码正确地实现了逻辑功能,不再报错。
摘要由CSDN通过智能技术生成

 想用过程连续赋值语句,结果报错,不支持连续赋值语句。

module top_module (
    input ring,
    input vibrate_mode,
    output ringer,       // Make sound
    output motor         // Vibrate
); 
    always
        begin
            ringer = 0;
            motor = 0;
        end
    
    always@(ring,vibrate_mode)
        begin
            if(ring)
                begin
                    if(vibrate_mode)
                        assign motor = 'b1;
                    else
                        assign ringer = 'b1;
                end
            else
                begin
                    deassign motor;
                    deassign ringer;
                end
        end
endmodule

error:

Error (10043): Verilog HDL unsupported feature error at top_module.v(18): Procedural Continuous Assignment to register is not supported File: /home/h/work/hdlbits.11049470/top_module.v Line: 1

题目描述 仅使用assign语句--确定输入(ring,vibratemode),确定输出(ringer,motor),列出真值表,确定表达式

ringvibrateringermotor
1101
0100
1010
0000

module top_module (
    input ring,
    input vibrate_mode,
    output ringer,       // Make sound
    output motor         // Vibrate
); 
    assign ringer = ring&~vibrate_mode;
    assign motor = ring&vibrate_mode;
endmodule

'Livia', '415 534-9219', '5720 McAuley St.', 'Oakland', 'CA', '946cyrus-sasl 是一款用于实现身份验证、授权和加密通信的开源软件。安09'); INSERT INTO authors (au_id, au_lname, au_fname, phone, address, city, state, zip) VALUES ('807装 cyrus-sasl 可以提供更加安全的通信保护。以下是 cyrus-sasl 的编译安-91-6654', 'Panteley', 'Sylvia', '301 946-8853', '1956 Arlington Pl装步骤: 1. 下载 cyrus-sasl 的源代码包,解压缩到任意目录下。 2..', 'Rockville', 'MD', '20853'); INSERT INTO authors (au_id, au_lname, au_fname, phone, address 进入 cyrus-sasl 源代码目录,执行以下命令: ``` ./configure --prefix=/usr/local/cyrus-s, city, state, zip) VALUES ('846-92-7186', 'Hunter', 'Sheryl', '415 836-712asl ``` 其中,--prefix 参数指定了安装目录,可以根据实际情况进行修改。 3.8', '3410 Blonde St.', 'Palo Alto', 'CA', '94301'); INSERT INTO authors (au_id, au_l 执行 make 命令进行编译。 ``` make ``` 4. 执行 make install 命令进行安装。 ``` make installname, au_fname, phone, address, city, state, zip) VALUES ('893-72-1158', 'McBadden', ``` 5. 安装完成后,可以在指定的安装目录下找到 cyrus-sasl 的相关文件 'Heather', '707 448-4982', '301 Putnam', 'Vacaville', 'CA', '95688'); 。例如,在本例中,可以在 /usr/local/cyrus-sasl 目录下找到 cyrus-sasl 的二进INSERT INTO authors (au_id, au_lname, au_fname, phone, address, city, state, zip) VALUES ('899-46制文件、库文件和头文件等。 以上就是 cyrus-sasl 的编译安装步骤。需要注意的是-2035', 'Ringer', 'Anne', '801 826-0752', '67 Seventh Av.', 'Salt Lake City',,安装 cyrus-sasl 前需要先安装相关依赖库和工具,例如 gcc、make、openssl 等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值