- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
看起来快要工作了,只是在第 7 行显然搞砸了?
/**
* 4-way demultiplexor.
* {a,b,c,d} = {in,0,0,0} if sel==00
* {0,in,0,0} if sel==01
* {0,0,in,0} if sel==10
* {0,0,0,in} if sel==11
*/
CHIP DMux4Way {
IN in, sel[2];
OUT a, b, c, d;
PARTS:
DMux(in = in, sel = sel[0], a = out1, b = out2);
DMux(in = out1, sel = sel[1], a = a, b = b);
DMux(in = out2, sel = sel[1], a = c, b = d);
}
我已经按如下方式实现了 DMux,并且我只是像使用一棵树一样使用它:
/**
* Dmultiplexor.
* {a,b} = {in,0} if sel==0
* {0,in} if sel==1
*/
CHIP DMux {
IN in, sel;
OUT a, b;
PARTS:
Not(in = sel, out = notsel);
And(a = in, b = notsel, out = a);
And(a = in, b = sel, out = b);
}
最佳答案
你的想法是对的!但您首先缩小了 sel[0] 的范围,而不是 sel[1],后者对应于左列。
PS:我知道我迟到了
编辑:根据以下请求添加固定代码。感谢您的反馈
CHIP DMux4Way {
IN in, sel[2];
OUT a, b, c, d;
PARTS:
DMux(in = in, sel = sel[1], a = out1, b = out2);
DMux(in = out1, sel = sel[0], a = a, b = b);
DMux(in = out2, sel = sel[0], a = c, b = d);
}
在缩小真值表中引用左列的范围时(即 sel[1];记住在计数时从右侧开始),您可以有效地将选项拆分在中间
关于hdl - 我的 DMux 4 方式有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14488036/
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 去年关闭。
你可能知道 Verilog 中的“output reg”,非常有用的功能。 但在 Chisel 中我找不到如何做类似的事情。当我需要寄存器输出时,我应该这样做: package filter impo
你可能知道 Verilog 中的“output reg”,非常有用的功能。 但在 Chisel 中我找不到如何做类似的事情。当我需要寄存器输出时,我应该这样做: package filter impo
我总是使用默认分配来构建我的设计,因为它使我的代码行数更少并且我认为更具可读性。但是,我了解到默认分配有时会很麻烦。如果没有足够的设计空间,工具(Vivado、ISE)可以移除那部分。我的意思是默认赋
我一直有点想制作自己的微处理器..我读过 How can I make my own microcontroller? . 我多次尝试学习一些 Verilog 和 VHDL。但对于我的一生来说,我就是
大家,只是一个关于如何修复以下 Verilog 代码的简单问题,我不断收到错误。有什么建议吗? module bcd_to_seven_seg( B, S); input wire [3:0]B; o
我是一名自学成才的嵌入式开发人员。我主要使用用 C 和 ASM 编程的 AVR,但我也涉足过其他系统。我希望转向更复杂的设备,如 CPLD 和 FPGA,但我不知道从哪里开始。所以我的一个半问题是:
Chisel3 HDL语言是否可以进行形式验证? 如果是,是否有开源软件可以做到这一点? 我知道我们可以使用 Yosys 进行 verilog 形式验证,但是使用 chisel ? 最佳答案 Spac
如何在 HDL 中使用数组(代表总线)? 例如,我有以下代码: /** * 16-bit bitwise And: * for i = 0..15: out[i] = (a[i] and b[i]
我有 2 个模块使用相同的时钟但在不同的文件中,当我在模块 B 中采样来自模块 A 的信号时,在波形仿真中它没有像它应该的那样在一个时钟周期后获得样本,它表明是同一上升沿的样本(适合异步实例化的行为)
我找到了两个不同的来源,它们以两种不同的方式解释了 Verilog HDL 中的惯性延迟。 1) 第一个表示任何短于指定延迟的输入信号都将被忽略。 2) 第二个表示,如果其中一个输入发生变化,输出信号
这是我运行的代码,它不生成输出 HDL 文件: from pygears import gear from pygears.typing import Ufixp, Uint from pygears
假设您正在实现一个带有 cpu、ram、rom 和 mmu 的简单 SoC,以将 ram 和 rom 映射到 cpu 的地址空间。在实例化不同的组件时,这样做会更有意义: ram 和 rom 在 mm
此代码是一个按钮防抖器。但我不明白为什么有两个人字拖: reg PB_sync_0; always @(posedge clk) PB_sync_0 <= ~PB; // invert PB to
看起来快要工作了,只是在第 7 行显然搞砸了? /** * 4-way demultiplexor. * {a,b,c,d} = {in,0,0,0} if sel==00 *
也许这很简单,但我不能简单地找到如何在 Chisel 中获取 UInt() 值的位大小? 我知道如何通过声明设置尺寸: val a = UInt(INPUT, 16) 但是要获得“a”大小,是否有类似
该项目旨在构建一个程序计数器。 具体说明如下: // This file is part of www.nand2tetris.org // and the book "The Elements of
这是一个受此问答对启发的问题:call questa sim commands from SystemVerilog test bench 这些问题询问 Verilog 代码如何控制执行模拟器 (Qu
always 关键字(不是 always @ block )和 之间有什么区别Verilog HDL 中的forever 关键字? always #1 a=!a; forever #1 a=!a; 这
我使用 vi 作为编辑器在 Verilog 中编写了一个模块,现在我想测试它。如果我没有董事会,我有什么选择?我怎样才能给我的模块输入?我在哪里可以看到结果?顺便说一下,我可以访问 VCS。 谢谢。
我是一名优秀的程序员,十分优秀!