digital-logic

    0热度

    3回答

    如果我有一个“与门”具有三个输入“A,B和控制线C” 可予控制切换和门打开或关闭..只是这样如果C == 1然后,AND门与输入A,B一起工作,如果C == 0,则什么都不会发生 这可以通过任何方法完成?

    -2热度

    1回答

    我有两条电缆从另一条电路进入。 当我给某种Arduino或电动imp的命令时,我想让这两个连接接触。我需要某种默认关闭的虚拟开关,但我可以通过写入一个引脚来轻松打开代码。 实质上,我想制作一个瞬时开关按钮,可以用代码打开和关闭。 我知道有一种方法可以做到这一点,但我是一个数字新手。有什么建议么?

    0热度

    1回答

    如何将一个寄存器(8位)中的最高半字节(4位)分配给另一个寄存器的最高半字节?不改变4个LSbs? 这是我提出的解决方案,我可以做的两个步骤,但我相信有更巧妙的解决做它只有一步(也许用更少的门或指令): REGA & =(REGB | 0x0F); REGA | =(REGB & 0xF0); 任何人都可以用数字设计帮助吗? (这是凌晨3点,我不能没有缓解睡眠: - /)

    1热度

    1回答

    我想实现一个结构化的读端口MEM没有默认: class TagType() extends Bundle() { import Consts._ val valid = Bool() val dirty = Bool() val tag = UInt(width = ADDR_MSB - ADDR_LSB + 1) } object TagType

    0热度

    1回答

    我试图证明BC + !A!B + !A!C = ABC +!A 我一直在使用德摩根的法律尝试,而代X for !A!B和Y for !A!C,但是我在这个没有取得进展。 我已经试过了A的样子,!A(!B+!C),但是我再也找不到任何地方,如果有人能指点我的方向,帮我解决,给我一个可以做到的工具等等。 。我会很感激。

    3热度

    1回答

    Vec [Mem]对于说集关联缓存会很好。 不幸的是凿不支持VEC [存储]构造: val tag_ram2 = Vec.fill(num_ways) {Mem(new TagType(), num_sets , seqRead = true)} 事实上: inferred type arguments [Chisel.Mem[cache.TagType]] do not conform to

    -1热度

    1回答

    我想帮助简化此布尔代数表达式: B * C +〜A *〜B +〜A *〜C => A * B * C +〜甲 我需要知道如何把它简化为ABC的步骤+〜一 '*' 指示 “与” '+' 表示 “OR” “〜A”表示“A NOT” 任何帮助,将不胜感激! 谢谢!

    -1热度

    1回答

    我是VHDL的新手,我的代码出现问题,我似乎无法修复。我们应该使用选定的信号分配或表查找来做到这一点。由于我们应该使用不关心不会发生的输入,所以我是两者的组合。 该代码基本上应该为2的补码输入或偏移二进制提供相同的输出。因此,例如,十进制数7在偏移二进制中为“1111”,在二进制补码中为“0111”。这两种形式都应根据开关oe的值('1'为偏移二进制,'0'为2的补码)生成“1111100000”

    1热度

    1回答

    我可以在always块内使用电线吗? 举例来说: wire [3:0]a; assign a=3; always @(c) begin d=a+c; end 它编译时没有抛出任何错误。为什么?

    1热度

    2回答

    我想用MIPS指令集做一些字节操作。 我有注册$S0具有0x8C2E5F1E并注册$S1具有0x10AC32BB。 我想将$S0,5F的第二个字节存储到$S1,AC的第三个字节中。 我的逻辑是将寄存器$S0的字节存储到另一个寄存器,将其移位到所需的字节。然后,我会与0xFF00FFFF注册$S1。最后,我只是或两个寄存器。 听起来怎么样?这是对的吗?有更好的方法吗? 任何建议或解决方案,将不胜感激