verilog之简单时钟信号的编写
verilog之简单时钟信号的编写
1、数字时钟信号
在数字电路中,时钟信号是重要的一类信号,一般作为激励源驱动时序电路。掌握时钟信号的编写,对于时序电路的仿真具有重要意义。所有的时序电路都需要设置时钟信号来确认时序。这里先写一个已知时间间隔的简易时钟信号。
2、基于begin-end的编写
initial begin
clk=1;
#1
clk=0;
#1
clk=1;
#1
clk=0;
end
这个编写的逻辑非常简单,就是根据时钟信号的特点,一个时钟周期变一次,根据所需的时间长度确认重复的次数。
3、基于fork-join的编写
initial fork
clk1=1;
#1
clk1=0;
#2
clk1=1;
#3
clk1=0;
#10
$stop();
join
这个代码是使用同步进行的fork-join来实现的。这里可以看出延时时间是绝对的,不包含前面的延时。这里也可以看出每个语句之间是没有优先级的。
4、小结

可以看到来个信号的结果是一致的。使用initial语句实现信号可以直接表示每个时间段的信号变化。对于其他测试向量来说,也可以使用这种精确的方法实现信号源的编写。但是,在比较大的设计中,时钟信号一般需要作用比较长的时间,使用initial会占用大量的空间。对于高度重复的信号源,可以使用always块来实现。always块可以一直循环执行,知道仿真结束。
verilog之简单时钟信号的编写的更多相关文章
- 自己动手写处理器之第二阶段(2)——Verilog HDL简单介绍
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第六篇.我尽量每周四篇 2.3 Verilog HDL简单介绍 本书实现的OpenMIPS处理器是使用Verilog HDL编 ...
- android Jni NDK开发环境搭建及其简单实例的编写
android Jni NDK开发环境搭建及其简单实例的编写 由于工作需要,需要采用开发想要的JNI,由于之前没有接触过安卓的开发,所以更加网上的帖子,学习了下.遇到了些问题,然后总结下学习过程中 ...
- react-native-pg-style使用方法(以最简单的方式编写样式代码,抛弃react-native标准的样式创建方式.)
react-native-pg-style 以最简单的方式编写样式代码,抛弃react-native标准的样式创建方式. 看大家写的源码中都是按照react-native标准的样式创建方式来写样式代码 ...
- DirectShow基础编程 最简单transform filter 编写步骤
目标编写一个transform filter,功能是对图像进行翻转. 一.选择基类 从CBaseFilter派生出三个用于编写transform filter的类,各自是:CTransformFilt ...
- 简单python接口测试编写和django开发环境的搭建
安装django环境 启动django D:\python\imooc>python manage.py runserver 0.0.0.0:8000 命令行下django新建app D:\py ...
- 终端简单使用 &vim编写代码
vim简单实用 & 用vim编写代码 ## 简单介绍 ## vi 1.c 建立1.c(文件存在,则打开1.c) vi共有三种模式: 按esc进入指令模式 按i进入编辑模式(按i光标位置不变 ...
- python教程:用简单的Python编写Web应用程序
python现在已经成为很多程序员关注的编程语言之一,很多程序员也都开始弄python编程,并且很多时候都会用自己的操作来选择,而现在不管是程序员还是少儿编程,都会有python这门课,今天就和大家分 ...
- Dockerfile的简单人门编写之关于yum的问题
首先我们编写一个简单的Dockerfile的例子.不过再此之前大家得去把编写dockerfile的指令了解一下. 编写以 centos镜像为基础镜像,构建 http 服务,Dockerfile 要求删 ...
- vs2019 Com组件初探-简单的COM编写以及实现跨语言调用
前提条件 1.掌握C++基础语法 2.平台安装 vs2019 3.本地平台为 windows 10 1909 X64 4.了解vbs基础语法 本次目标 1.掌握Com组件的概念及原理 2.编写一个简单 ...
- Python实例:贪吃蛇(简单贪吃蛇编写)🐍
d=====( ̄▽ ̄*)b 叮~ Python -- 简易贪吃蛇实现 目录: 1.基本原理 2.需要学习的库 3.代码实现 1.基本原理 基本贪吃蛇所需要的东西其实很少,只需要有一块让蛇动的屏幕, 在 ...
随机推荐
- iptables的mangle表
mangle表的主要功能是根据规则修改数据包的一些标志位,以便其他规则或程序可以利用这种标志对数据包进行过滤或策略路由. 使用策略路由 对应的场景, 都是有多个网口, 常见的使用步骤 1. 创建路由表 ...
- elasticsearch should实现or功能,设置minimum_should_match
elasticsearch实现传统数据库中的or功能,需要使用bool下面的should关键字,对于A or B的情况,应该至少返回A和B中的一个,但是如下语句,不仅返回A和B中的至少一个,也返回了没 ...
- Oracle使用由字符串索引的二维数组
–参考文章:http://www.oracle.com/technetwork/issue-archive/2014/14-sep/o54plsql-2245345.html –SAMPLE DATA ...
- leetcode - 中序遍历
给定一个二叉树的根节点 root ,返回 它的 中序 遍历 . 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 ...
- 公司官网建站笔记(二):在云服务器部署PHP服务(公网访问首页)
前言 上一篇重新安装了CentOS8.2之后,接下来开始安装部署PHP服务器,让公网可以访问到我们部署的PHP服务器首页. 背景 为什么自行搭建,是因为红胖子专业做相关Qt软件以及终端设备 ...
- channel管道
channel 如果说goroutine是并发体的话,那么channels则是他们之间的通信机制.一个channel是一个通信机制,它可以让一个goroutine通过它给另一个goroutine发生值 ...
- Android底层渲染原理
Overview多年前Android的UI流畅性差的问题一直饱受诟病,Google为了解决这个问题开发了Project Butter项目,也就是黄油计划,期望彻底改善Android系统的流畅性.这是A ...
- 【Azure 应用服务】Function App / App Service 连接 Blob 报错
问题描述 因 Blob 启用了防火墙功能,但是当把App Service 或 Function App的出站IP地址都加入到Blob的白名单中,为什么访问还是403错误呢? 问题解答 Azure St ...
- [C++/QT] 获取进程完整路径
气哭我了,我不就获取一下进程路径嘛,,,绕了好大一圈 主要是用到了GetModuleFileNameEx() 函数 食用方式如下 HANDLE hProcess = OpenProcess(PROCE ...
- C++ STL 容器-array类型
C++ STL 容器-array类型 array是C++11STL封装的数组,内存分配在栈中stack,绝对不会重新分配,随机访问 创建和初始化 // 下面的等同于int a[10]; std::ar ...