VHDL(二):二进制乘法器设计原理及代码 1.系统设计(1)乘法的手算过程**规则:**两个r为二进制数相乘时,乘积为2r位;乘数的第i位(i为1、2…)为0时,第i位的部分积为0;第i位为1时,第i位的部分积时被乘数。(2)原始乘法算法过程(3)改进算法过程ASM图规则:a.在ASM图的起始点安排一个状态框。b.必须用状态框分开不能在同一时钟周期完成的寄存器操作。c.如果判断框中的转移条件受前一个寄存器的影响,应在它...
VHDL(一):数据类型 预定义的数据类型(1)std库的standard包集:定义了位(BIT)、布尔(Boolean)、整数(integer)和实数(real)数据类型。(2)ieee库的std_logic_1164包集:定义了std_logic和std_ulogic数据类型。(3)ieee库的std_logic_arith包集:定义了signed和unsigned数据类型。还定义了conv_integer...
Verilog HDL(九):异步FIFO 一、FIFO简介 FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。用途1: 异步FIFO读写分别采用相互异步的不同时钟。在现代集成电路芯...
Verilog HDL(八):变量类型(reg和wire) 本文出自公众号--FPGA技术联盟 Verilog HDL 语法虽然有很多,但是真正常用的却屈指可数, 我们只需要掌握了常用的语法,就可以用 Verilog HDL 语言去描述逻辑电路。之前用到两种变量类型,一种是 wire(线型),另一种是 reg(寄存器型)。在数字电路中信号只有两种形态,一种是传输,一种是存储。传输是通过连接线, 存储是用寄存器,因此也就清楚在 Veri...
Verilog HDL(七):异步寄存器fpga与cpu进行并口通信 (异步并口时序仿真) 1、并口经常用于FPGA和cpu芯片通信、配置寄存器、跨芯片数据传输等2、源同步传输:发送端同时发送时钟和数据给接收端,接收端使用源端发送的时钟采样数据。3、异步并口通信:异步并口应用:--cpu类的芯片(dsp、stm32)与FPGA的数据交互,数据速率一般在100Mbps以内,数据总线不大于16bit--非cpu类的功能芯片与FPGA通过并口进行数据交互,例如配置寄存器等并口信号说...
Verilog HDL(六):状态机 检测11101序列 检测11101序列,画出状态迁移图。1.状态迁移图2.代码创建fsm11101文件module fsm11101( input wire sclk, input wire rst_n, input wire A, output reg k);parameter s1=6'b000001;parameter s2=6'b000010;...
Verilog HDL(五):组合逻辑(always和assign)与时序逻辑 组合逻辑1.概念:从电路本质上讲,组合逻辑电路的特点是输出信号只是当前时刻输入信号的函数,与其他时刻的输入状态无关,不涉及信号跳变沿的处理。无存储电路,也没有反馈电路。2.描述:(1)always模块的触发事件为电平敏感信号电路 :always模块中的信号必须定义为reg。例:实现一个两输入比较器,输入分别为d1,d2,输出为f1,f2,f3。module compare_...
Verilog HDL(四):if\case\forever\repeat\while\for语句 1.分支语句(1)条件分支语句module sel_from(q,sela,selb,a,b,c); input sela,selb,a,b,c; output q; reg q; always @(sela or selb or a or b or c) begin if(sela) q = a; else if (selb) q...
Verilog HDL(三):赋值语句 赋值语句(1)过程赋值语句语法格式:<被赋值变量><赋值操作符><赋值表达式>赋值操作符:可以是“=”或“<=”分别代表阻塞型和非阻塞型复制类型(2)外部时间控制方式#10 a =b;相当于:initialbegin #10 a = bend(3)内部时间控制方式a = #10 b;相当于initialbe...
Verilog HDL(二):行为级建模的结构(initial和always)、begin、fork、时间控制 1.行为级建模的结构(1)基本语法格式module<模块名>(<端口列表>) 模块端口说明; [参数定义]; //用关键词“parameter”实现 数据类型说明; //默认为线网类型“wire” 过程块(initial过程块或always过程块,可以有一个或多个) 连续赋值语句; ...
Verilog HDL(一):%的用法、文件管理任务的使用、仿真 1.无符号整数和有符号整数:signed short int –32,768 to 32,767signed int –2,147,483,648 to 2,147,483,647signed long int –2,147,483,648 to 2,147,483,647unsigned short int 0 to 65,535unsigned long int 0 to 4,294...
python爬虫:setting.py中的配置文件信息 setting.py中的配置文件信息# -*- coding: utf-8 -*-# Scrapy settings for step8_king project## For simplicity, this file contains only settings considered important or# commonly used. You can find more set...
python爬虫:自定制扩展extansions #自定制扩展,可以在引擎开始,结束,空闲的任意时候执行任务1.新建一个py文件extensionsfrom scrapy import signalsclass MyExtend: def __init__(self,crawler): self.crawler = crawler #在指定信号上注册操作 crawler.signals...
回调函数callback详解 学习python时,对回调函数感觉很困惑,在晚上找了半天,忽然发现这篇文章很浅显,基本说明了问题。故转载原文:自学jquery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗。迅速google之,发现原来中文翻译成回调。也就是回调函数了。不懂啊,于是在google回调函数,发现网上的中文解释实在是太“深奥”了,我承认自己才疏学浅了。看了几个回调的例子后,貌似有点理解了。下面是我对回...
python爬虫:pipelines中进行数据的处理与数据库的连接 1.pipelines.py文件里面的所有函数,一共有五个,每个函数都有自己的用途,并且把取到的数据放到相应的数据库中。# -*- coding: utf-8 -*-# Define your item pipelines here## Don't forget to add your pipeline to the ITEM_PIPELINES setting# See: https:...
python爬虫:去掉重复的URL(爬取博客园中每页标题和url) 1.爬取博客园中每页每条新闻的标题和url,在cnblog.py中写入操作内容(增加对每页的爬取)# -*- coding: utf-8 -*-import scrapyimport sysimport iofrom..items import cnlogsItemfrom scrapy.selector import Selectorfrom scrapy.http import ...
Python爬虫中创建pipeline.py文件并传入数据,实现标题和url持久化 1.爬取博客园中每条新闻的标题和url,在cnblog.py中写入操作内容import scrapyimport sysimport iofrom..items import cnlogsItemfrom scrapy.selector import Selectorsys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding="ut...