首页 文章
  • -1 votes
     answers
     views

    非规范化IEEE

    我正在研究涉及IEEE双精度浮点标准的数字设计项目(Verilog) . 我有一个关于IEEE浮点数表示的查询 . 在IEEE浮点表示中,数字以标准化格式表示,这意味着默认情况下有效位为1(也称为隐藏位) . 当浮点数被去标准化时,有效位被认为是0,并且通过将小数点向左移位来使指数为0 . 我的询问是关于去规范化程序 . 例如,如果指数可以高达120,在这种情况下,我们如何处理小数位(IEEE为4...
  • 0 votes
     answers
     views

    Verilog-内存地址宽度和数据宽度

    我是Verilog代码的初学者 . 所以我对地址宽度和数据宽度有疑问 . 通过Google,我得到的地址宽度是RAM深度的对数基数2,地址宽度和数据宽度之间没有关系 . 但是在内存中,地址宽度是多个列 . 所以我怀疑数据宽度是否大于地址宽度意味着发生了什么问题?数据是否可以存储在其中 . EX:如果我有16位地址宽度和32位数据宽度意味着会发生什么?
  • 0 votes
     answers
     views

    Verilog:访问子模块实例中的连线

    我想知道Verilog中是否存在访问子模块中的线路而不将该线路作为输出的语法 . 例如,如果有以下模块: module Module_Sub(a,b); input a,b; wire c; ... endmodule module Module_Top(d, e); input d,e; wire f; Module_Sub sm(d,e); ...
  • 0 votes
     answers
     views

    Verilog Reg / Wire混乱

    我在Verilog中创建了一个由Datapath和Control组成的多周期CPU . 控制(状态机)的输出是寄存器,但数据路径之间的连接是电线 . 如果应该有线信号(在伪代码中): wire = OR(wire coming from a mux, reg output from control) ,我该怎么做?你可以在Verilog中使用带有reg的电线吗?如果没有,是否有更好的方法来实现这一...
  • 0 votes
     answers
     views

    如何在verilog中进行(ieee 754浮点)有效分割

    我正在尝试在Verilog中编写IEEE 754单精度浮点除法格式的代码,然后合成以便能够在ZedBoard上实现它下面的一个显示了IEEE 754除法的计算公式 X3= (X1/X2) = ((-1)^S1 (M1 x 2E1)) / ((-1) S2 (M2 x 2E2)) = (-1)^S3 (M1/M2) 2 (E1-E2) Here how to find ...
  • 0 votes
     answers
     views

    VHDL Verilog整数数组端口

    我正在开发一个用于突破游戏的FPGA实现的项目 . 在这个游戏中,我们必须使用球和桨来打破砖块 . 一些砖块可能在与球的多个接触处断裂 . 为此,我使用整数数组来表示打破特定砖块所需的命中数 . 例如(2,0,1,2)代表一个砖块,需要打破2次点击,然后是碎砖,然后是砖块,需要打破一次打击等 . 另外,我在VHDL中完成了所有编码,但为了将结果输出到VGA屏幕,我使用的是Verilog . 在VH...
  • 3 votes
     answers
     views

    将多维systemverilog端口连接到vhdl模块

    我试图在vhdl顶层模块中实例化systemverilog模块 . systemverilog模块使用一个二维打包数组“channel_addr_i”(一个3个地址的打包数组,每个地址由3位组成) SystemVerilog模块声明: `define N_PORTS 3 `define N_CHANNELS 4 module pwr_ctrl( input lo...
  • 2 votes
     answers
     views

    SystemVerilog的问题是否具有非阻塞分配的循环?

    当我在基于SystemVerilog的FPGA设计工作时,我遇到了一种情况,我必须在时钟边缘计算4个元素的数组之和 . 我能够使用带有非阻塞赋值语句的for循环来做到这一点 . 该设计在Quartus 15.0上成功合成,但当我尝试在Modelsim Altera上使用相同的RTL运行模拟时,结果出乎意料 . 我已经编写了一个示例代码来说明相同的内容 . module schedule; log...
  • 0 votes
     answers
     views

    在Verilog中使用略微偏斜的时钟同步两台状态机的正确方法

    我正在Verilog中实现ADC的接收器 . 在每个21个时钟周期之后获得一个样本 . 接收器为ADC生成控制信号以及占空比的采样时钟 . ADC按顺序发送数据,但为了说明延迟,它还会发回一个占空比的采样时钟 skew matched copy . 该时钟用于计时数据 . 该代码应该适用于两个时钟之间的零延迟以及更大的延迟 . (但延迟不会超过几个时钟周期) . 我不知道最好的方法,因为: ...
  • 19 votes
     answers
     views

    RAM DEPTH的地址宽度

    我正在实现一个可配置的DPRAM,其中RAM DEPTH是参数 . 如何从RAM DEPTH确定ADDRESS WIDTH? 我知道关系RAM DEPTH = 2 ^(ADDRESS WIDTH) 即ADDRESS WIDTH = log(base 2)RAM DEPTH . 如何在Verilog中实现log(base 2)函数?
  • 3 votes
     answers
     views

    Verilog:添加寄存器的各个位(组合逻辑,寄存器宽度可参数化)

    我试图找到一种方法来添加寄存器的各个位 . 例如, if regA = 111000 then regB = 3 ( regA 的位总和) . 1)在Verilog或SystemVerilog中是否有可合成的函数/运算符可以直接用于执行此操作? 如果没有,那么问题可能有点有趣,特别是因为操作必须在一个时钟周期内进行(纯组合逻辑)并且寄存器宽度是可参数化的 . 2)如果没有内置的Verilog或S...
  • 2 votes
     answers
     views

    如何在硬件中实现系统verilog结构?被宣布为电线的成员?

    我已经看到很多系统verilog程序示例将数据包表示为打包结构 . 这些数据是否像包一样串行传输?如何在硬件中实现系统verilog结构?
  • 2 votes
     answers
     views

    SystemVerilog / Verilog:有没有办法找到打包结构的字段的整数位偏移量?

    我想知道在verilog或systemverilog中是否存在标准函数,它将返回打包结构中某个字段的位偏移量 . 例如,请参阅下面使用假设函数$ find_field_offset: typedef struct packed { logic [31:0] field_1, logic [15:0] field_2, logic [63:0] field_3 } struc...
  • 3 votes
     answers
     views

    如何在verilog中随机化一组位数组?

    我是Verilog的新手 . 我如何随机化以下内容: bit [7:0] data []; *不使用systemVerilog的randomize() .
  • 0 votes
     answers
     views

    在Verilog和Systemverilog中$ realtime返回多少位?

    在Verilog和Systemverilog中$ realtime返回多少位?
  • 0 votes
     answers
     views

    Verilog:读取1位输入并将其写入288位reg

    在verilog中,我有 module name(input data,..., output...);数据只是一位输入,我需要将它显示到 reg [288:0] data_tmp; 以比较这些位 . 如何将数据(输入)传输到reg? 我尝试使用for循环像C中的数组一样处理它,如下所示: for(i=0; i<288; i=i+1) begin data_tmp[i]=data; ...
  • 2 votes
     answers
     views

    将Verilog中的二进制文件数据读入2D数组

    我有一个数组,我想从二进制文件加载: parameter c_ROWS = 8; parameter c_COLS = 16; reg [15:0] r_Image_Raw[0:c_ROWS-1][0:c_COLS-1]; 我的输入文件是二进制数据,长256个字节(与r_Image_Raw相同的总空间) . 我尝试使用 $fread 来完成此任务,但它只适用于最后一行的第4列: n_File_...
  • 1 votes
     answers
     views

    如何解决seg控制器故障的计数器

    module seg_controller( clk, reset, sel, seg,); input clk; input reset; output wire [5:0] sel; output wire [7:0] seg; wire [9:0] co...
  • 0 votes
     answers
     views

    Verilog Reg数组

    循环访问1D reg数组会遇到一些麻烦 . 最终我试图完成以下任务 . 在“监听”状态下,rx_values填充一个读缓冲区(4个8位字符),用于存储在控制台中输入的字符,并通过将tx_data设置为最后一个字符来回显字符(这有效) 当按下回车键时,状态切换到“读取”,每次迭代将tx_data设置为读缓冲,直到达到第4个字符,此时状态被重置为空闲 . (这不起作用) 我进入读状态;但...
  • 0 votes
     answers
     views

    什么's the proper way to use verilog “ref reg” to modify a design' s reg数组

    当我尝试使用任务在小型测试平台上修改reg数组时,我发现它运行良好 . 但是在一个大的设计(和基于OVM的env)上,它似乎不会修改数组 . 小测试台代码: class test; rand int rd_data; function new(); rd_data = rd_data | 'b10000; $display($psprintf("\nrd_data:0x%x\n&quo...
  • -1 votes
     answers
     views

    将一种类型的数组转换为另一种类型 - 系统verilog

    我期待将一种类型的数组转换为另一种类型 . 举个例子,假设我们有一个 byte 类型的数组,并且想要一个类型为 logic [5:0] 的新数组 . 我没有尝试丢失数据时遇到困难 . 谢谢, 乔治
  • -1 votes
     answers
     views

    在verilog中输入reg类型

    我使用了inout with c但是对于c来说是程序赋值的LHS,它需要是一个reg类型变量 . 任何人都可以帮我解决这个问题吗? module multiedgeclk(input clk ,[7:0] a,b,d, inout [7:0] c, output reg [7:0]f); always @(posedge clk) c <= a + b; always @(negedge ...
  • 0 votes
     answers
     views

    在verilog中可以输入端口类型为reg吗?

    在我的教科书中有一个侧面说明输入或输入端口永远不会是一个reg,因为这将导致端口中的永久“x” . 但是,当我为AND门编写代码并将输入端口设置为reg类型时,它工作正常 . 和盖茨: //AND Gate `timescale 1ns/100ps module test(output C, input reg A,B); assign C = A & B; endmodule 试验台...
  • 0 votes
     answers
     views

    类对象在系统verilog中打印

    在SystemVerilog中,是否可以使用属性打印整个对象? (这里我不知道在我的父类中声明了多少变量 . )
  • 1 votes
     answers
     views

    system verilog:重写成员系统verilog类

    class my_a; int member1 = 1; endclass class my_ea extends my_a; int member1 = 2; endclass 现在当我这样做 my_a A; my_ea EA; EA =new(); A=EA; EA = new(); 已将类型为 my_ea 的对象的句柄赋予类变量 EA . A=EA; 将相同的句柄(指向 my_ea...
  • 1 votes
     answers
     views

    在真实的系统verilog中建模z

    我正在制作一个输出驱动器的非常简单的模型,它可以有3个输出电平 . 它也可以关闭 . 我想要做的是将其建模为真实,这样我就可以为三个级别分配不同的数字 . 我不确定要建模'off'状态 . 我发现了一些关于使用 inf 或 NaN 在实数中建模 z 的讨论,但似乎这不是一个固定的参数 . 所以这是一个2部分的问题: 1)是 NaN 在系统verilog的 real 上建模 z 的正确方法吗? 2)...
  • 1 votes
     answers
     views

    头文件中的Verilog函数声明

    当我尝试编译包含一个包含函数声明的头文件的测试平台时,Icarus Verilog(v10.0 stable)中止并出现以下错误: mpeg.vh:133: error: function declarations must be contained within a module. 这个错误非常清楚 . 但是,头文件实际上包含在模块(测试平台)中 . 由于include指令应该只被相应头文件中...
  • 0 votes
     answers
     views

    如何从verilog中的文件中读取特殊字符?

    在测试某些东西时,我写了一个测试verilog文件,从文件中读取一些数据 . 该文件有一些以'###'开头的 Headers 行和包含8个浮点数的重复行,所有这些都是文本格式 . 如下 ### kr = 0 ## 279.430 243.666 246.522 234.073 218.708 211.012 212.915 222.156 227.269 225.331 212.973 203.4...
  • 1 votes
     answers
     views

    如何缓冲System Verilog接口

    刚刚遇到这个问题,经过一些阅读后,似乎系统Verilog中不允许这样做,但它似乎有点迟钝,我想知道我是否缺少一些简单的解决方法 . 我有一个定义为if_datapath的接口 . 该接口确实有一些称为接收器,源和监视器的modport,我能够在没有问题的情况下使用模块上的接口 . 但是,如果我将模块中的接口定义为sink,source或monitor: if_datapath ...
  • 2 votes
     answers
     views

    将枚举转换为逻辑

    考虑以下模块声明: module DFF(d, q, CLK, RESET); parameter W = 2; input [W-1:0] d; input CLK; input RESET; output logic [W-1:0] q; //.......

热门问题