11 2022 档案

摘要:3.6 握手信号方法 1)X将数放在数据总线上兵发出xreq信号,表示有效数据已经发到接收器Y的数据总线上。 2)xreq信号同步到接收器时钟域ylk上。 3)Y在识别xreq同步的信号yreq2后,锁存数据总线上信号。 4)Y发出确认信号yack,表示其已经接收了数据。 5)yack同步到发送时钟 阅读全文
posted @ 2022-11-23 17:50 Magnolia666 阅读(82) 评论(0) 推荐(0) 编辑
摘要:3.1 介绍 单时钟设计更易于实现,也更少出现亚稳态、建立和保持时间违例方面的问题。但在实践中,很少有设计只在一个时钟下运行。 3.2 多时钟域 多个始终可以有以下一种或多种时钟关系: 1、时钟频率不同。 2、时钟频率相同,但相位不同。 3.3 多时钟域设计的难题 1、建立时间和保持时间的违背。 2 阅读全文
posted @ 2022-11-21 23:02 Magnolia666 阅读(97) 评论(0) 推荐(0) 编辑
摘要:2.6.1 用同步复位进行设计 上面两个电路功能一样,但是下面的电路如果load信号为X,触发器便会停在不定态。可以使用编译指令告诉指定的信号为复位信号,综合工具就会使该信号尽可能接近触发器,防止初始化的问题发生。(将这些指令加入RTL代码中以避免重新综合) 2.6.1.1 使用同步复位的优点。 保 阅读全文
posted @ 2022-11-19 19:03 Magnolia666 阅读(276) 评论(0) 推荐(0) 编辑
摘要:2.4 时钟方案 2.4.1 内部产生的时钟 应尽量避免內部产生时钟。 组合逻辑产生时钟会引入毛刺,也会引起时序方面的问题。同步时序电路数据的毛刺不会引起任何问题,而毛刺出现在时钟输入端或异步输入端就会产生明显的影响。 毛刺到达时钟输入端如果数据变化,会违背建立和保持时间。即使没有违背时序要求,寄存 阅读全文
posted @ 2022-11-16 23:35 Magnolia666 阅读(345) 评论(0) 推荐(0) 编辑
摘要:2.1 概述 这章主要内容是ASIC设计时的一些建议,这些建议独立于EDA和工艺,主要针对模块设计和存储器接口。 2.2 同步设计 同步设计特点:单个主时钟和单个主置位/复位信号驱动设计中所有时序器件。 同步设计:ASIC设计时域控制最安全的方法。 2.2.1 避免使用使用行波计数器。 行波计数器: 阅读全文
posted @ 2022-11-13 18:43 Magnolia666 阅读(236) 评论(0) 推荐(0) 编辑
摘要:听说这本书对数字IC设计中的常见问题讲的非常清楚易懂,看了目录感觉确实都是数字设计中一些关键问题,而且一共才217页,争取这个月看完吧。 书的PDF资源: 链接:https://pan.baidu.com/s/1b981albw_aZwLOhBvlHqpw 提取码:80zc 1.1简介 同步系统中如 阅读全文
posted @ 2022-11-12 22:34 Magnolia666 阅读(553) 评论(2) 推荐(1) 编辑
摘要:Tb/clock 这题要求给dut模块一个时钟。 module top_module ( ); reg clk; always #5 clk=~clk; initial begin clk = 0; end dut u0(clk); endmodule Tb/tb1 产生指定的波形,使用延时语句给信 阅读全文
posted @ 2022-11-08 19:58 Magnolia666 阅读(269) 评论(0) 推荐(0) 编辑
摘要:Sim/circuit1 从波形不难看出ab是相与的关系。 module top_module ( input a, input b, output q );// assign q = a&b; // Fix me endmodule Sim/circuit2 根据波形图可以画出卡诺图并且之前有写过 阅读全文
posted @ 2022-11-08 12:09 Magnolia666 阅读(280) 评论(0) 推荐(0) 编辑
摘要:Bugs mux2 原本代码的逻辑是反的,这不是坑人吗。 module top_module ( input sel, input [7:0] a, input [7:0] b, output [7:0]out ); assign out = ({8{sel}} & a) | ({8{~sel}} 阅读全文
posted @ 2022-11-07 18:46 Magnolia666 阅读(125) 评论(0) 推荐(1) 编辑
摘要:Exams/review2015 count1k 计数到999再清零即可。 module top_module ( input clk, input reset, output reg[9:0] q); always@(posedge clk) begin if(reset) q <= 'd0; e 阅读全文
posted @ 2022-11-07 12:39 Magnolia666 阅读(365) 评论(0) 推荐(0) 编辑
摘要:Fsm1 这里需要实现一个简单的摩尔状态机,即输出只与状态有关的状态机。 我这里代码看上去比长一点,答案用的case和三目运算符,结果是一样的。 module top_module( input clk, input areset, // Asynchronous reset to state B 阅读全文
posted @ 2022-11-06 22:51 Magnolia666 阅读(426) 评论(0) 推荐(0) 编辑
摘要:Rule90 第一次见这东西有点莫名其妙,但是其实看懂了之后就是左移和右移相异或,注意这里使用的是逻辑右移,会自动补零,不能使用算数左移<<<。 module top_module( input clk, input load, input [511:0] data, output reg[511: 阅读全文
posted @ 2022-11-01 16:29 Magnolia666 阅读(99) 评论(0) 推荐(0) 编辑