Logic_design

前期准备: 在linux下搭建了verilog环境+逻辑基础自学
(哈哈哈turing complete也做得差不多了)

按照HDLBits开始自学verilog语言

代码-> 编译 -> 仿真 - > 末状态 -> 问题

仿真中的匹配和失配 时序图
语法
module top_module( output one );

// Insert your code here
assign one = [fixme];

endmodule:

赋值? assign xxx = xxxx运算符xxx
not !按位非 ~逻辑非
&和&&同上
|和||也是
The bitwise-XOR operator is ^. There is no logical-XOR operator.

module
byname匹配:

mod_a instance2 ( .out(wc), .in1(wa), .in2(wb) );


case 与 casez 匹配:在case中使用 4’bzzz0 (z与?等价,表示不在意)

速通数逻 (cm)

lecutre 1

布尔代数 组合电路 时序电路
逻辑设计 verilog

信号? 模拟信号与数字信号

数字量化? 进入信号要求较低 出信号要求高(why?保证输出信号的高质量) 导致blank(容限区)落入容限区后,随便01即可

二进制算数计算

加法略 LSB 最低有效位 (Most Significant Byte)
减法 产生 borrow in
十进制到二进制? 整数部分短除法(除二取余逆向写) 八进制?十六进制?以小数点为中心即可 不足就在外侧补0

二进制的状态映射 也就是找对数上限
BCD码相加(0-9)1010及其后均非法 必须加六补偿
独热码 只有一位是1 对于机器来说能够很方便表示数字
(强调进制与编码不互通!)
纠错码?
信道编码 在信源编码上加奇偶校验码 编完还会解码
偶校验 加上校验位使得8位之和为偶数
格雷码 相邻数之间仅有一位翻转 第一种生成方式? 二进制码通过最高位下顺即可 (相邻码位之间的变化较小 有效防止信号skew 保证了信号稳定)
没做!