hdlbits刷题记录-卡诺图、pos、sop

一、pos和sop的基本概念

刷hdlbits的时候刷到卡诺图,看到pos和sop的时候人懵了,好家伙,果然数电全还给老师了,那就复习一遍吧,参考书籍《Verilog HDL 高级数字设计》。

1、sop(积之和表示法)

假设有a、b、c、d四个逻辑变量,那么这四个逻辑变量的乘积(与运算)称为一个“与项”,一个“与项”中不必包含所有的逻辑变量,但是不能同时包含一个逻辑变量的原形式和反形式,比如aa’bcd就不是一个“与项”。

一个布尔表达式由一组“与项”构成,其典型表达式就是积之和形式,即“与项”之和,也被称为“与项”的“或运算”,比如:abc’+bd。

在积之和形式的布尔表达式中,如果每一个“与项”都包含了各逻辑变量的原形式或者反形式,则称该积之和形式的布尔表达式是标准或者规范的sop形式,比如:abcd+a’bcd+abc’d。

在积之和表示法中,涉及一个最小项的概念,其实就是指含有逻辑变量的原形式或者反形式的“与项”,比如:abcd’,布尔函数中的最小项对应真值表中函数值为1的行

2、pos(和之积表示法)

假设有a、b、c、d四个逻辑变量,那么这四个逻辑变量的和(或运算)称为一个“或项”,一个“或项”中不必包含所有的逻辑变量,但是不能同时包含一个逻辑变量的原形式和反形式,比如a+a’+b+c+d就不是一个“或项”。

在和之积形式的布尔表达式中,如果每一个“或项”都包含了各逻辑变量的原形式或者反形式,则称该和之积形式的布尔表达式是标准或者规范的pos形式,比如:(a+b+c+d)|(a’+b+c+d)|(a+b+c’+d)。

在和之积表示法中,涉及一个最大项的概念,其实就是指含有逻辑变量的原形式或者反形式的“或项”,比如:a+b+c+d’,布尔函数中的最大项对应真值表中函数值为0的行,且对这些行中的逻辑变量值取反以得到最大项序号

3、卡诺图化简

卡诺图化简就不用多说,实操过几遍后就懂了

二、hdlbits题目

A single-output digital system with four inputs (a,b,c,d) generates a logic-1 when 2, 7, or 15 appears on the inputs, and a logic-0 when 0, 1, 4, 5, 6, 9, 10, 13, or 14 appears. The input conditions for the numbers 3, 8, 11, and 12 never occur in this system. For example, 7 corresponds to a,b,c,d being set to 0,1,1,1, respectively.

Determine the output out_sop in minimum SOP form, and the output out_pos in minimum POS form.

机翻过来就是:具有四个输入(a,b,c,d)的单输出数字系统在输入上出现2、7或15时产生逻辑-1,当出现0、1、4、5、6、9、10、13或14时产生逻辑-0。数字 3、8、11 和 12 的输入条件在此系统中永远不会出现。例如,7 分别对应于 a、b、c、d 设置为 0、1、1、1。

以最小 SOP 形式确定输出out_sop,以最小 POS 形式确定输出out_pos。
sop和pos的卡诺图如下:

代码如下:

module top_module (
    input a,
    input b,
    input c,
    input d,
    output out_sop,
    output out_pos
); 

    
    assign out_sop = (~a&~b&c)|(c&d);
    assign out_pos = c & (~a|d) & (~b|d);
endmodule
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值