摘要:模块re提供了对正则表达式的支持。 除标准文档外,Andrew Kuchling撰写的文章“Regular Expression HOWTO”(https://docs.python.org/3/howto/regex.html)也是很有用的Python正则表达式学习资料。 正则表达式是什么 正则表
阅读全文
摘要:从标准输入中读取 单独打开一个文件 批量打开多个文件 读取的同时备份文件 标准输出重定向替换 不得不介绍的方法 进阶一点的玩法 列举一些实用案例 写在最后 从标准输入中读取 当你的 Python 脚本没有传入任何参数时,fileinput 默认会以 stdin 作为输入源 # demo.py imp
阅读全文
摘要:迭代文件内容 一种常见的文件操作是迭代其内容,并在迭代过程中反复采取某种措施。 在本节的所有示例中,我都将使用一个名为process的虚构函数来表示对每个字符或行所做的处理。下面是一个简单的示例: def process(string): print('Processing:', string) 更
阅读全文
摘要:有时候需要迭代大型文件中的行,此时使用readlines将占用太多内存。当然,你可转而结合使用while循环和readline,但在Python中,在可能的情况下,应首选for循环,而这里就属于这种情况。你可使用一种名为延迟行迭代的方法——说它延迟是因为它只读取实际需要的文本部分。 fileinpu
阅读全文
摘要:将文件都视为流,只能按顺序从头到尾读取。实际上,可在文件中移动,只访问感兴趣的部分(称为随机存取)。为此,可使用文件对象的两个方法:seek和tell。 方法seek(offset[, whence])将当前位置(执行读取或写入的位置)移到offset和whence指定的地方。参数offset 指定
阅读全文
摘要:要打开文件,可使用函数open,它位于自动导入的模块io中。函数open将文件名作为唯一必不可少的参数,并返回一个文件对象。如果当前目录中有一个名为somefile.txt的文本文件(可能是使用文本编辑器创建的),则可像下面这样打开它: f = open('somefile.txt') open函数
阅读全文
摘要:一、print()函数的语法 二、print()打印输出文本 三、print()中空格的使用方法 四、Print() 换行 打印后不换行,用end参数来设置你想要的结束符号 五、区隔符 sep 六、制表符 \t 七、输出数学表达式 八、打印输出反斜杠 九、print()变量的输出 十、print()
阅读全文
摘要:一.语义解释 1.name name 是python的内置属性,是系统全局变量!每一个py文件都有一个属于自己的__name__: 如果py文件作为模块被导入(import),那么__name__就是该py文件的文件名(也称模块名); 如果py文件直接运行时(Ctrl+Shift+F10),那么__
阅读全文
摘要:1.概述 在Python中,每个.py文件称为一个模块(module), 每个module由会有它自己的attribute(官方翻译文档称为属性)。对于一个空的.py文件,它也至少包含9个内置attributes,这9个内置attribute如下: ['__annotations__', '__bu
阅读全文
摘要:Python程序有两种退出方式: os._exit() 和 sys.exit()。 os._exit() 会直接将python程序终止,之后的所有代码都不会执行。 sys.exit() 会抛出一个异常: SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获该异常的
阅读全文
摘要:学习背景 使用命令行窗口执行某些py文件时,往往会传入一些参数,如: python practise.py --help='this is my name' -v 20 上述这种使用命令行传参的执行方式,在很多场景中都会用到。通过getopt.getopt()可以提取到这些参数。 函数定义及返回值
阅读全文
摘要:知乎上的用法介绍:https://zhuanlan.zhihu.com/p/56922793 import argparse # 1.创建解释器 parser = argparse.ArgumentParser(description="可写可不写,只是在命令行参数出现错误的时候,随着错误信息打印出
阅读全文
摘要:argsparse是python的命令行解析的标准模块,内置于python,不需要安装。这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行。 官方文档的位置:【https://docs.python.org/zh-cn/3/library/argparse.html】 用法: 1.导包
阅读全文
摘要:内置 sys.argv 模块 内置 argparse 模块 内置 getopt 模块 第三方依赖库 click sys.argv 构建命令行参数最简单、常见的方式是利用内置的「 sys.argv 」模块。 它是将参数以一个有序的列表传入,所以在使用时传参顺序必须固定。 因此,这种方式适用于参数个数少
阅读全文
摘要:FileInput类 from fileinput import FileInput def match_then_insert(filename, match, content): """匹配后在该行追加 :param filename: 要操作的文件 :param match: 匹配内容 :pa
阅读全文
摘要:class my_agent extends uvm_agent; my_driver apb_drv; apb_drv=my_driver::type_id::create("drv", this); apb_drv.seq_item_port.connect(sqr.seq_item_expor
阅读全文
摘要:Verilog延时 #1 说明 #2 连续赋值中的延时 ##2.1 LHS中加延时 ###2.1.2 assign #2 y = ~a; ###2.1.2 assign #(2,3) y = ~a; ###2.1.3 assign #(2,3,4) y = ~a; ###2.1.4 assign #
阅读全文
摘要:电路的延时 在实际电路中存在两种延迟,惯性延迟 (Inertial delay) 和传导延迟 (Transport delay)。 惯性延迟 定义:若元件的输入信号的脉冲宽度小于一定值时,元件的输出没有响应,也就是说元件具有一定的惯性。 产生原因:当脉冲到达时,由于脉冲宽度小于元件本身的延迟,当脉冲
阅读全文
摘要:#100 intf.drv_ck.ch_valid <= 1; 延迟一百个时间单位后,执行后面的语句。 2. #100; intf.drv_ck.ch_valid <= 1; 延迟一百个事件单位后,执行后面的语句。 3. @(posedge clk); clk上升沿到来后,执行后面的语句。 4. r
阅读全文
摘要:module...endmodule可以有assign连续赋值语句,always语句和initial语句。 always中可以有if语句。 initial中可以有if语句。
阅读全文
摘要:分频器是FPGA中常用的设计之一,在FPGA设计中担任重要的角色(时钟对于FPGA电路系统的重要性不言而喻!)。尽管大多数设计中会广泛采用厂家集成的锁相环PLL资源进行分频,倍频和相移(每个厂商Xilinx/Alter等其开发套件会提供各自的IP),但对对时钟要求不高的基本设计还是需要通过自行设计分
阅读全文
摘要:下面首先定义输入输出:a和b都是有符号位的5bit端口,c和d是无符号位的5bit端口。 input signed [4:0] a; input signed [4:0] b; output [4:0] c; output [4:0] d; //右移一位 assign b = a >>> 1; as
阅读全文
摘要:1.定义 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据, 其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定
阅读全文
摘要:0 写在前面 在上篇文章中,我们介绍了同步FIFO,介绍了FIFO的重要参数,并给出了同步FIFO设计代码,本文将介绍异步FIFO。 1 异步FIFO结构 在上篇文章中我们给出了FIFO的基本接口图 并且指出,该图适用于所有的FIFO,这次我们先看看异步FIFO内部的大体框图 异步FIFO主要由五部
阅读全文
摘要:0 写在前面 FIFO可根据读写时钟是否为同一时钟域可分为同步FIFO和异步FIFO,本文主要介绍同步FIFO,异步FIFO将在下篇介绍 1 什么是FIFO FIFO全称 First In First Out,即先进先出。 FIFO主要用于以为下几个方面: 跨时钟域数据传输 将数据发送到芯片外之前进
阅读全文
摘要:1.uvm_object和uvm_compoent类 1.1 派生自uvm_object的类 除了派生自uvm_component类之外的类,几乎所有的类都派生自uvm_object。 uvm_transaction、uvm_sequence_item、uvm_sequence 1.2 派生自uvm
阅读全文
摘要:三种外设协议的不同点 |协议|名称|是否独立|目的|使用线数|异步或同步|并行或串行|其他| | | | | | | | | | | uart |通用异步接收器/发送器|微控制器中的物理电路或独立的IC|发送和接受串行数据|2条|异步|串行|发送和接收UART之间的波特率只能相差约10%| | sp
阅读全文
摘要:软复位与硬复位 软复位信号名称中通常包含soft,硬复位信号名称中通常包含hard。 软复位:常用于复位逻辑模块。 硬复位:常用于配置寄存器模块,配置信号同步模块。 硬复位有效会驱动软复位有效。 一个模块出现问题时,可以使其软复位有效,进行逻辑复位操作,但是由于配置寄存器是由硬复位驱动的,所以不会发
阅读全文