verilog相关内容
我目前正在尝试编写一个正边缘检测器,它会在每次检测到正边缘时更改其输出。我用门级建模成功地构建了一个,但现在我需要使用行为建模来构建它。我试着用这个地基建造它: module pos_edge_det ( input sig, input clk, outpu
..
我想知道$clog2(DATA_WIDTH)对应的VHDL码是什么,例如下面这行: parameter DATA_OUT_WIDTH = $clog2(DATA_WIDTH) 以及本例中的符号“-:” if ( Pattern == In[i_count-:PATTERN_WIDTH] ) 如果有人能帮我,我将不胜感激。 推荐答案 您可以这样做 constan
..
我有一个50 Mhz时钟的CPLD。 这是我的代码: module FirstProject(clk, LED); output LED; input clk; reg [32:0] count1; reg LEDstatus; assign LED = LEDstatus; always @ (posedge clk) begin
..
这是我第一次使用Verilog编码,也是我第一次使用StackExchange查询!如果我在这个岗位上没有使用任何礼仪,请提前原谅我。 我艰难地通过了一些已经在这里发布的类似问题,但我不知道如何将这些解决方案应用到我自己的代码中…… 我不确定为什么在尝试运行模拟时收到上述错误,也不确定如何修复它。请告知?:) 我已经在下面附上了我的源代码,以及测试平台模块和我在尝试运行模拟时收到的错
..
编辑:仅通过屏幕截图(http://prntscr.com/lv3uqwhttp://prntscr.com/lv3yhf)和我下面的代码,您仍然可以在这里理解我的目标,以防您不想阅读文本。 我正在尝试为通用移位寄存器编写verilog代码。我的原始寄存器工作正常(没有LR_bar signal的那个)。但在这个问题上,我不知道如何实现这种连接(Mux With Ff)http://prnt
..
我在尝试运行模拟时遇到一些问题。在我的第三个模块中,我的前两个模块的实例似乎有问题。代码编译正常,但在尝试运行模拟时遇到问题。 我不确定问题出在我的代码中还是我的测试工作台中。 module fulladder ( input [15:0] x, input [15:0] y, output [15:0] O ); assign O = y + x; endmod
..
我有一个监控公交车的测试台。总线内的一些信号可以是1‘BX。由于各种原因,我需要知道母线内是否有任何信号是1‘BX。如果一条总线包含任何x,那么测试(不是为了合成--仅用于模拟)最好的方法是什么?我曾希望我可以使用缩写或,然后使用=,但这似乎不起作用。谢谢, D 推荐答案 (^bus === 1'bX) 对总线进行逐位异或,然后检查结果是否为X。如果任何位为X或Z,则结果将
..
我想了解Verilog调度算法是如何工作的。下面的示例输出0, xxxx,而不是1010。我不清楚为什么。如果我将延迟放在$display之前,它将输出1010。 module test; reg [3:0] t_var; initial begin t_var
..
我正在用4位加法器制作8位选择加法器。 当我尝试测试此代码时。 我收到%2错误。 第一个是";coutL不是常量 第二个是并发分配或输出端口的目标(&Q;) 连接应为网络类型。&Quot; 有人能帮我吗? module selectAdd8( input [7:0] a, input [7:0] b, input cin,
..
正如您在下面的光标中看到的那样,if语句关注的是转换之后(它看到的是rst=0,因此将等于设置为in),而不是看到rst=1。 但也可以看到c在转换前取a的值。 我想知道为什么会这样。假设您想要通过在时钟周期延迟的使能来选通寄存器,则不能使用IF(ENABLE_DELAYED),因为(理想情况下)下降转换将发生在时钟的上升沿,因此在模拟中检测不到。 我没有成功地在网上找到我的问题
..
我正在尝试使用100 MHz的CLK输入创建第二个CLK计数器,但当我模拟CLK分频器时,即使CLK输入是正确的,它也只将输出显示为X。我可能做错了什么? 1秒CLK分隔符: module clkdiv( input clk, input [25:0] terminalcount, output reg clk_div ); reg [25:0] count;
..
我的问题类似于以下问题。 Creating a new file, filename contains loop variable, python 根据NUM_PU的值,我希望将输出文件名定义为 serial_pu0.out serial_pu1.out ... etc 以下代码不起作用,因为模拟器将引号("")中的字符视为字符串。有什么建议吗? integer file [
..
使用tyecif声明用户定义类型时,EDA游乐场接受这两种形式: typedef reg[4:0] reg5; typedef logic[4:0] logic5; 但是,如果根据wire类型执行类似操作,则此格式将失败: typedef wire[4:0] wire5; 我收到语法错误&qot;。 如何解释? 推荐答案 根据IEEE标准1800-2017,声
..
我在初始块中获取了一个计数器变量‘n’,我计算了一些值。在计算之后,我想用这个作为一些‘reg a’的宽度。 所以我可以声明可以注册为reg[n:0]a吗? 当我尝试这样做时,它给出了一个错误,r不是常量...有什么方法可以解决这个问题 推荐答案 不,您不能这样做。Verilog描述意味着要转换成某种类型的电子电路,而这些电路不能动态更改其总线的位数。 您所能做的就是用将使用的最
..
我正在尝试通过Verilog实现这个具有+1逻辑的D触发器计数器。但是,我收到了很多关于NET的多个常量驱动程序的错误代码。有人能帮我一把吗?以下是目前为止的代码: module LAB (clk, clear, Enable, Q); input clk, clear, Enable; output[3:0] Q; reg[3:0] Q
..
以下是我收到的警告: 警告:(vsim-3015)[PCDPC]-端口大小(8)与端口‘wrdata’的连接大小(7)不匹配。端口定义位于:sign.sv(2)。 时间:0 ns迭代:0实例:/TB/DUT文件:TestBench.sv行:15 警告:(vsim-3015)[PCDPC]-端口大小(8)与端口‘rddata’的连接大小(7)不匹配。端口定义位于:sign.sv(2)。
..
if (btn[0] == 1) begin operaciones op(A,B,numop,C); display disp(C,led); end 我需要在这里面实例化它,如果,我如何做到这一点? 推荐答案 在使用generate语句(它允许在if语句中实例化模块)之前,您需要考虑您所说的话。从您在代码片段中尝试执行的操作来看,
..
我使用GATES用Verilog编写了以下代码: `timescale 1ns / 1ps module flip_flop (d,clk,q,q_bar); input [36:0] d; input clk; output [36:0] q; output [36:0] q_bar; wire dbar,x,y; not(dbar,d); nand(x,clk,d); nand(y,c
..
我正在寻找在 Verilog 中转换简单 Chisel3 模块的简单方法. 我拿凿子官方网页上给出的Gcd源代码. 导入 chisel3._类 GCD 扩展模块 {val io = IO(新捆绑 {val a = 输入(UInt(32.W))val b = 输入(UInt(32.W))val e = 输入(布尔())val z = 输出(UInt(32.W))val v = 输出(布尔(
..
是否可以在 verliog 中有条件地实例化模块? 例子: if (en==1)然后 module1 实例化别的模块2实例化 解决方案 来自 IEEE Std 1364-2001: 12.1.3.3 generate-conditional generate-conditional 是一个 if-else-if 生成构造,它允许模块、用户定义的原语、Verilog 门原语、连续分
..