笔者在一次仿真工程中,想通过force语句强制使内部的某个信号赋值,将仿真遇到的一些问题总结如下:

  1. 不管内部信号是reg还是wire,在force赋值时都是reg。
reg            reco_coor_vld     ;//zuobiao
reg            reco_frm_vld    ;//ID
reg            stim_conf_vld      ;//moniyuan
reg            start_send_vld   ;//send
reg  [31:0]    suart_data         ;//data
reg            init_done      ;
  1. 对内部变量直接赋值也是可以的。
initial beginforce top_uut.suart_data    =32'h00010001;force top_uut.stim_conf_vld =1'b1;
end

3.正确的操作方法是:
先初始化本地变量与赋值变量(虽然他们的名字一般定义为一样),然后进行赋值。

initial  beginclk_40M        = 1'b0;   clk_100M    = 1'b0;clk_125M   = 1'b0;clk_156p25M    = 1'b0;I_rx_data  = 1'b1; force top_uut.suart_data=suart_data;//初始化force top_uut.stim_conf_vld=stim_conf_vld;//初始化force top_uut.start_send_vld=start_send_vld;//初始化force top_uut.reco_coor_vld=reco_coor_vld;//初始化force top_uut.reco_frm_vld=reco_frm_vld; //初始化force init_done= top_uut.init_done;   //初始化
endinitial  beginsuart_data=0;stim_conf_vld=1'b0;start_send_vld=1'b0;reco_coor_vld=1'b0;reco_frm_vld=1'b0;@(posedge  init_done);#100;///==============stim source   //赋值操作@(posedge clk_100M)beginsuart_data=32'hffff0100;//contiue send , internal source , increase data stim_conf_vld=1'b1;end @(posedge clk_100M)beginsuart_data=32'h0;     //contiue send , internal source , increase data stim_conf_vld=1'b0;end   ///==============send start      @(posedge clk_100M)beginsuart_data=32'h0;start_send_vld=1'b1;end @(posedge clk_100M)beginsuart_data=32'h0;   start_send_vld=1'b0;end      ///======zuobiao@(posedge clk_100M)beginsuart_data=32'h00010001;reco_coor_vld=1'b1;end @(posedge clk_100M)beginsuart_data=32'h00010001;reco_coor_vld=1'b0;end ///=ID@(posedge clk_100M)beginsuart_data=32'h00000001;reco_frm_vld=1'b1;end @(posedge clk_100M)beginsuart_data=32'h00000001;reco_frm_vld=1'b0;end end

force语句的使用相关推荐

  1. verdi中如何查看force信号信息

    转载:verdi中如何查看force信号信息 | 骏的世界 (lujun.org.cn) 在仿真中,我们会有对信号进行force的操作,从而实现某些特定的功能.但是在仿真波形中,不能直接从波形上看出, ...

  2. navicat for mysql执行sql语句报错: [Err] 1146 - Table ‘performance_schema.session_status‘doesn‘t exist 解决办法

    navicat for mysql执行sql语句报错: [Err] 1146 - Table 'performance_schema.session_status' doesn't exist 解决办 ...

  3. Verilog初级教程(14)Verilog中的赋值语句

    文章目录 前言 正文 合理的左值 过程性赋值(Procedural assignment) 连续赋值 过程连续性赋值 往期回顾 前言 何为赋值语句?即将值放到线网或者变量上,这种操作称为赋值,英文:a ...

  4. Verilog testbench总结(二)

    1.激励的设置 相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理. 方法1:为双向端口设置中间变量inout_reg作为该inout的输出寄 ...

  5. SAS 对数据的拼接与串接

    SAS 对数据的拼接与串接 使用SAS对数据进行串接.合并.更新与修改. 1. 数据集的纵向串接 数据集的纵向串接指的是,将两个或者多个数据集首尾相连,形成 一个新的数据集. 对数据集的纵向串接可以通 ...

  6. 如何编写testbench的总结(非常实用的总结)

    1.激励的设置 相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理. 方法1:为双向端口设置中间变量inout_reg作为该inout的输出寄 ...

  7. SAS︱数据索引、数据集常用操作(set、where、merge、append)

    代码部分大多来源于姚志勇老师的<SAS编程与数据挖掘商业案例>. 每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ ------------ ...

  8. 大疆FPGA/芯片开发工程师(A卷)笔试题(含详解)

    大疆芯片开发岗A卷 文章目录 一.单选题 二.多选题 三.填空题 四.问答题 **说明:答案仅供参考,个别可能存在错误.** 一.单选题 1.下列关于多bit数据跨时钟域的处理思路,错误的有 A    ...

  9. jk触发器改为四进制_锁存器、触发器、寄存器和缓冲器的区别

    一.锁存器 锁存器(latch)---对脉冲电平敏感,在时钟脉冲的电平作用下改变状态 锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才 ...

最新文章

  1. R语言ggplot2可视化散点图(scatter plot)、并在可视化图像的顶部和右边添加边缘直方图(Marginal Histogram)、使用geom_smooth函数基于lm方法拟合数据点之间
  2. 分支结构,循环结构,for循环,九九乘法表
  3. 人才短缺是数据中心运营商面临的新问题
  4. linux 农业分析,基于嵌入式Linux的农业信息采集系统设计与研究
  5. [渝粤教育] 西南科技大学 数据库应用 在线考试复习资料
  6. 工作流实战_28_flowable 任务多实例
  7. numpy 数组访问方式_索引、切片、迭代
  8. Nacos 快速开始
  9. r语言热图对列不进行聚类_R语言:手把手教你画pheatmap热图
  10. 作为Scala语法糖的设计模式
  11. 15张图带你彻底明白spring循环依赖,再也不用怕了
  12. OpenCV基础——IplImage中的widthStep
  13. 自己做量化交易软件(40)小白量化实战13--Alpha101及自编因子公式
  14. 计算机表格合并居中,表格合并居中快捷键
  15. 微信小程序--给头像添加logo(生成海报同理)
  16. leetcode打家劫社简单实现--python
  17. python监控端口_python监控设备端口示例
  18. Windows11无法打开Windows安全中心(需要使用新应用打开此windowsdefender链接)
  19. 事件坐标:screenX,clientX,pageX,offsetX的区别
  20. koreader如何选择kindle的版本

热门文章

  1. Codeforces 1000D dp
  2. java double 的精度_java double类型相加精度问题的解决
  3. 2021-08-25王汕8.25国际黄金白银晚间价格走势分析及原油期货空单解套操作建议
  4. 《天地图电子地图符号与注记说明2015》线宽及字体单位转换
  5. DMS、RDS、OLAP简介
  6. NySQL 存储过程基本语法及实例
  7. C/C++实现循环左移,循环右移
  8. Springboot集成Redis和Redis工具类
  9. 信息收集----CMS指纹识别
  10. 平板电脑 android系统升级,【重磅升级】开源平板电脑(FSPAD-733)升级至Andriod6.0系统...