内容聚合网站开发教程,网站推广策划公司,如何开发小程序?,微信服务号怎么做商城1. 卡诺图
逻辑函数表达式可以使用其最小项相加来表示#xff0c;用所有的最小项可以转换为卡诺图进行逻辑项化简 卡诺图讲解资料1 卡诺图讲解资料2 卡诺图讲解资料3
最小项的定义 一个函数的某个乘积项包含了函数的全部变量#xff0c;其中每个变量都以原变量或反变量的形…1. 卡诺图
逻辑函数表达式可以使用其最小项相加来表示用所有的最小项可以转换为卡诺图进行逻辑项化简 卡诺图讲解资料1 卡诺图讲解资料2 卡诺图讲解资料3
最小项的定义 一个函数的某个乘积项包含了函数的全部变量其中每个变量都以原变量或反变量的形式出现且仅出现一次则这个乘积项称为该函数的一个标准积项通常称为最小项。表示方法 通常使用 m i m_i mi 来表示最小项把最小项中原变量记为1反变量记为0比如 A 1 A1 A1 A ‾ 0 \overline A0 A0
1.1 卡诺图的简介 一种描述逻辑函数的特殊方格图方格图中每一个方格代表逻辑函数的一个最小项而且几何相邻在几何位置上上下或左右相邻的小方格具有逻辑相邻性即两相邻小方格所代表的最小项只有一个变量取值不同。有n个变量其所有的最小项个数就有 2 n 2^n 2n 个则卡诺图中就对应有这么多数量的小方格每个小方格都满足相邻项的要求。
根据最小项 确认变量的顺序然后将卡诺图填0/1填写示例如下 根据逻辑函数填写卡诺图 m 指最小项m00000 即表示 A ‾ B ‾ C ‾ D ‾ \overline A \overline B \overline C \overline D ABCD
1.2 卡诺图的运算 两图之间的最小项进行逻辑运算即可。乘、加、异或都类似卡诺图对应位置做逻辑运算即可
1.3 卡诺图的化简 卡诺图相邻性的特点保证了几何相邻两方格所代表的最小项只有一个变量不同。因此若相邻的方格都为1简称1格时则对应的最小项就可以合并。合并的结果是消去这个不同的变量只保留相同的变量。 卡诺圈只能圈偶数个12、4、8…图形两边也算相邻而且数字可以重复画圈。画好圈后看一个圈内几个变量的是否同时有 01的情况如果有说明可以消除剩下一直为1的为正变量一直为0的为反变量。 例题 比如下图中的 B是因为4个1的卡诺圈内A,C都有取01的情况因此可以消除。只有B一直为1则化简后仅剩B。
2. 有限状态机
状态机从细节出发一段式、两段式、三段式moore型、mealy型 检测序列重叠和不重叠状态的区别最后一位的数据是否为下一组序列的起始位 如在101011检测101重叠检测输出两次高电平不重叠仅一次。以下列三段式为例进行说明
parameter S04b0001;
parameter S14b0010;
parameter S24b0100;
parameter S34b1000; //独热码 定义状态机状态reg [3:0] state;
reg [3:0] c_state,n_state;
always(posedge clk or negedge rst_n)beginif(rst_n1b0)c_stateS0;else c_staten_state;
endalways(c_state or din)begin // 状态转移case(c_state) S0:beginif(din1b1) n_stateS1;elsen_stateS0;endS1:beginif(din1b0)n_stateS2;elsen_stateS1;endS2:beginif(din1b1)n_stateS3;elsen_stateS0;endS3:begin // 不重叠检测直接判断输入是不是新的1不是则重新开始检测if(din1b1)n_stateS1;else n_stateS0;end/*S3:begin //重叠检测以上一个输入1做为起始判断当前输入是0则直接S2是1则当作起始位跳到S1if(din1b1)n_stateS1;elsen_stateS2;end*/default:n_stateS0;endcase endalways(posedge clk or negedge rst_n)beginif(rst_n1b0)out1b0;else beginif(n_state S3) //仅依靠当前状态判断进行输出判断out1b1;elseout1b0;end
end