使用verilog作为CPU设计语言实现单数据通路五级流水线的CPU。具有32个通用寄存器、一个程序计数器PC、一个标志寄存器FLAG,一个堆栈寄存器STACK。存储器寻址粒度为字节。数据存储以32位字对准。采用32位定长指令格式,采用Load/Store结构,ALU指令采用三地址格式。支持有符号和无符号整数加、减、乘、除运算,并支持浮点数加、减、乘、除四种运算,支持与、或、异或、非4种逻辑运算,支持逻辑左移、逻辑右移、算术右移、循环右移4种移位运算,支持Load/Store操作,支持地址/立即数加载操作,支持无条件转移和为0转移、非0转移、无符号>转移、无符号<转移、有符号>转移、有符号<转移等条件转移。
上传时间: 2013-12-11
上传用户:源弋弋
MSP430寄存器(精)
上传时间: 2013-06-14
上传用户:fujun35303
一本很好的汇编语言教程,跟大家一起分享 课程介绍 第1章 预备知识 1.1 汇编语言的由来及其特点 1 机器语言 2 汇编语言 3 汇编程序 4 汇编语言的主要特点 5 汇编语言的使用领域 1.2 数据的表示和类型 1 数值数据的表示 2 非数值数据的表示 3 基本的数据类型 1.3 习题 第2章 CPU资源和存储器 2.1 寄存器组 1 寄存器组 2 通用寄存器的作用 3 专用寄存器的作用 2.2 存储器的管理模式 1 16位微机的内存管理模式 2 32位微机的内存管理模式 2.3 习题 第3章 操作数的寻址方式 3.1 立即寻址方式 3.2 寄存器寻址方式 3.3 直接寻址方式 3.4 寄存器间接寻址方式 3.5 寄存器相对寻址方式 3.6 基址加变址寻址方式 3.7 相对基址加变址寻址方式 3.8 32位地址的寻址方式 3.9 操作数寻址方式的小结 3.10 习题 第4章 标识符和表达式 4.1 标识符 4.2 简单内存变量的定义 1 内存变量定义的一般形式 2 字节变量 3 字变量 4 双字变量 5 六字节变量 6 八字节变量 7 十字节变量 4.3 调整偏移量伪指令 1 偶对齐伪指令 2 对齐伪指令 3 调整偏移量伪指令 4 偏移量计数器的值 4.4 复合内存变量的定义 1 重复说明符 2 结构类型的定义 3 联合类型的定义 4 记录类型的定义 5 数据类型的自定义 4.5 标号 4.6 内存变量和标号的属性 1 段属性操作符 2 偏移量属性操作符 3 类型属性操作符 4 长度属性操作符 5 容量属性操作符 6 强制属性操作符 7 存储单元别名操作符 4.7 表达式 1 进制伪指令 2 数值表达式 3 地址表达式 4.8 符号定义语句 1 等价语句 2 等号语句 3 符号名定义语句 4.9 习题 第5章 微机CPU的指令系统 5.1 汇编语言指令格式 1 指令格式 2 了解指令的几个方面 5.2 指令系统 1 数据传送指令 2 标志位操作指令 3 算术运算指令 4 逻辑运算指令 5 移位操作指令 6 位操作指令 7 比较运算指令 8 循环指令 9 转移指令 10 条件设置字节指令 11 字符串操作指令 12 ASCII-BCD码调整指令 13 处理器指令 5.3 习题 第6章 程序的基本结构 6.1 程序的基本组成 1 段的定义 2 段寄存器的说明语句 3 堆栈段的说明 4 源程序的结构 6.2 程序的基本结构 1 顺序结构 2 分支结构 3 循环结构 6.3 段的基本属性 1 对齐类型 2 组合类型 3 类别 4 段组 6.4 简化的段定义 1 存储模型说明伪指令 2 简化段定义伪指令 3 简化段段名的引用 6.5 源程序的辅助说明伪指令 1 模块名定义伪指令 2 页面定义伪指令 3 标题定义伪指令 4 子标题定义伪指令 6.6 习题 第7章 子程序和库 7.1 子程序的定义 7.2 子程序的调用和返回指令 1 调用指令 2 返回指令 7.3 子程序的参数传递 1 寄存器传递参数 2 存储单元传递参数 3 堆栈传递参数 7.4 寄存器的保护与恢复 7.5 子程序的完全定义 1 子程序完全定义格式 2 子程序的位距 3 子程序的语言类型 4 子程序的可见性 5 子程序的起始和结束操作 6 寄存器的保护和恢复 7 子程序的参数传递 8 子程序的原型说明 9 子程序的调用伪指令 10 局部变量的定义 7.6 子程序库 1 建立库文件命令 2 建立库文件举例 3 库文件的应用 4 库文件的好处 7.7 习题 第8章 输入输出和中断 8.1 输入输出的基本概念 1 I/O端口地址 2 I/O指令 8.2 中断 1 中断的基本概念 2 中断指令 3 中断返回指令 4 中断和子程序 8.3 中断的分类 1 键盘输入的中断功能 2 屏幕显示的中断功能 3 打印输出的中断功能 4 串行通信口的中断功能 5 鼠标的中断功能 6 目录和文件的中断功能 7 内存管理的中断功能 8 读取和设置中断向量 8.4 习题 第9章 宏 9.1 宏的定义和引用 1 宏的定义 2 宏的引用 3 宏的参数传递方式 4 宏的嵌套定义 5 宏与子程序的区别 9.2 宏参数的特殊运算符 1 连接运算符 2 字符串整体传递运算符 3 字符转义运算符 4 计算表达式运算符 9.3 与宏有关的伪指令 1 局部标号伪指令 2 取消宏定义伪指令 3 中止宏扩展伪指令 9.4 重复汇编伪指令 1 伪指令REPT 2 伪指令IRP 3 伪指令IRPC 9.5 条件汇编伪指令 1 条件汇编伪指令的功能 2 条件汇编伪指令的举例 9.6 宏的扩充 1 宏定义形式 2 重复伪指令REPEAT 3 循环伪指令WHILE 4 循环伪指令FOR 5 循环伪指令FORC 6 转移伪指令GOTO 7 宏扩充的举例 8 系统定义的宏 9.7 习题 第10章 应用程序的设计 10.1 字符串的处理程序 10.2 数据的分类统计程序 10.3 数据转换程序 10.4 文件操作程序 10.5 动态数据的编程 10.6 COM文件的编程 10.7 驻留程序 10.8 程序段前缀及其应用 1 程序段前缀的字段含义 2 程序段前缀的应用 10.9 习题 第11章 数值运算协处理器 11.1 协处理器的数据格式 1 有符号整数 2 BCD码数据 3 浮点数 11.2 协处理器的结构 11.3 协处理器的指令系统 1 操作符的命名规则 2 数据传送指令 3 数学运算指令 4 比较运算指令 5 超越函数运算指令 6 常数操作指令 7 协处理器控制指令 11.4 协处理器的编程举例 11.5 习题 第12章 汇编语言和C语言 12.1 汇编语言的嵌入 12.2 C语言程序的汇编输出 12.3 一个具体的例子 12.4 习题 附录
上传时间: 2013-07-05
上传用户:hw1688888
可配置端口电路是FPGA芯片与外围电路连接关键的枢纽,它有诸多功能:芯片与芯片在数据上的传递(包括对输入信号的采集和输出信号输出),电压之间的转换,对外围芯片的驱动,完成对芯片的测试功能以及对芯片电路保护等。 本文采用了自顶向下和自下向上的设计方法,依据可配置端口电路能实现的功能和工作原理,运用Cadence的设计软件,结合华润上华0.5μm的工艺库,设计了一款性能、时序、功耗在整体上不亚于xilinx4006e[8]的端口电路。主要研究以下几个方面的内容: 1.基于端口电路信号寄存器的采集和输出方式,本论文设计的端口电路可以通过配置将它设置成单沿或者双沿的触发方式[7],并完成了Verilog XL和Hspiee的功能和时序仿真,且建立时间小于5ns和保持时间在0ns左右。和xilinx4006e[8]相比较满足设计的要求。 2.基于TAP Controller的工作原理及它对16种状态机转换的控制,对16种状态机的转换完成了行为级描述和实现了捕获、移位、输出、更新等主要功能仿真。 3.基于边界扫描电路是对触发器级联的构架这一特点,设计了一款边界扫描电路,并运用Verilog XL和Hspiee对它进行了功能和时序的仿真。达到对芯片电路测试设计的要求。 4.对于端口电路来讲,有时需要将从CLB中的输出数据实现异或、同或、与以及或的功能,为此本文采用二次函数输出的电路结构来实现以上的功能,并运用Verilog XL和Hspiee对它进行了功能和时序的仿真。满足设计要求。 5.对于0.5μm的工艺而言,输入端口的电压通常是3.3V和5V,为此根据设置不同的上、下MOS管尺寸来调整电路的中点电压,将端口电路设计成3.3V和5V兼容的电路,通过仿真性能上已完全达到这一要求。此外,在输入端口处加上扩散电阻R和电容C组成噪声滤波电路,这个电路能有效地抑制加到输入端上的白噪声型噪声电压[2]。 6.在噪声和延时不影响电路正常工作的范围内,具有三态控制和驱动大负载的功能。通过对管子尺寸的大小设置和驱动大小的仿真表明:在实现TTL高电平输出时,最大的驱动电流达到170mA,而对应的xilinx4006e的TTL高电平最大驱动电流为140mA[8];同样,在实现CMOS高电平最大驱动电流达到200mA,而xilinx4006e的CMOS驱动电流达到170[8]mA。 7.与xilinx4006e端口电路相比,在延时和面积以及功耗略大的情况下,本论文研究设计的端口电路增加了双沿触发、将输出数据实现二次函数的输出方式、通过添加译码器将配置端口的数目减少的新的功能,且驱动能力更加强大。
上传时间: 2013-07-20
上传用户:顶得柱
一个很好用的adf4350寄存器配置软件,省却了您繁琐的计算寄存器值的时间
上传时间: 2013-06-30
上传用户:海陆空653
本文从AES的算法原理和基于ARM核嵌入式系统的开发着手,研究了AES算法的设计原则、数学知识、整体结构、算法描述以及AES存住的优点利局限性。 针对ARM核的体系结构及特点,对AES算法进行了优化设计,提出了从AES算法本身和其结构两个方面进行优化的方法,在算法本身优化方面是把加密模块中的字节替换运算、列混合运算和解密模块中的逆列混合运算中原来的复杂的运算分别转换为简单的循环移位、乘和异或运算。在算法结构优化方面是在输入输山接口上采用了4个32位的寄存器对128bits数据进行了并行输入并行输出的优化设计;在密钥扩展上的优化设计是采用内部扩展,即在进行每一轮的运算过程的同时算出下一轮的密钥,并把下一轮的密钥暂存在SRAM里,使得密钥扩展与加/解密运算并行执行;加密和解密优化设计是将轮函数查表操作中的四个操作表查询工作合并成一个操作表查询工作,同时为了使加密代码在解密代码中可重用,节省硬件资源,在解密过程中采用了与加密相一致的过程顺序。 根据上述的优化设计,基于ARM核嵌入式系统的ADS开发环境,提出了AES实现的软硬件方案、AES加密模块和解密模块的实现方案以及测试方案,总结了基于ARM下的高效编程技巧及混合接口规则,在集成开发环境下对算法进行了实现,分别得出了初始密钥为128bits、192bits和256bits下的加密与解密的结果,并得剑了正确验证。在性能测试的过程中应用编译器的优化选项和其它优化技巧优化了算法,使算法具有较高的加密速度。
上传时间: 2013-04-24
上传用户:liansi
低密度校验码(LDPC,Low Density Parity Check Code)是一种性能接近香农极限的信道编码,已被广泛地采用到各种无线通信领域标准中,包括我国的数字电视地面传输标准、欧洲第二代卫星数字视频广播标准(DVB-S2,Digital Video Broadcasting-Satellite 2)、IEEE 802.11n、IEEE 802.16e等。它是3G乃至将来4G通信系统中的核心技术之一。 当今LDPC码构造的主流方向有两个,分别是结合准循环(QC,Quasi Cyclic)移位结构的单次扩展构造和类似重复累积(RA,Repeat Accumulate)码构造。相应地,主要的LDPC码编码算法有基于生成矩阵的算法和基于迭代译码的算法。基于生成矩阵的编码算法吞吐量高,但是需要较多的寄存器和ROM资源;基于迭代译码的编码算法实现简单,但是吞吐量不高,且不容易构造高性能的好码。 本文在研究了上述几种码构造和编码算法之后,结合编译码器综合实现的复杂度考虑,提出了一种切实可行的基于二次扩展(Dex,Duplex Expansion)的QC-LDPC码构造方法,以实现高吞吐量的LDPC码收发端;并且充分利用该类码校验矩阵准循环移位结构的特点,结合RU算法,提出了一种新编码器的设计方案。 基于二次扩展的QC-LDPC码构造方法,是通过对母矩阵先后进行乱序扩展(Pex,Permutation Expansion)和循环移位扩展(CSEx,Cyclic Shift Expansion)实现的。在此基础上,为了实现可变码长、可变码率,一般编译码器需同时支持多个乱序扩展和循环移位扩展的扩展因子。本文所述二次扩展构造方法的特点在于,固定循环移位扩展的扩展因子大小不变,支持多个乱序扩展的扩展因子,使得译码器结构得以精简;构造得到的码字具有近似规则码的结构,便于硬件实现;(伪)随机生成的循环移位系数能够提高码字的误码性能,是对硬件实现和误码性能的一种折中。 新编码器在很大程度上考虑了资源的复用,使得实现复杂度近似与码长成正比。考虑到吞吐量的要求,新编码器结构完全抛弃了RU算法中串行的前向替换(FS,Forward Substitution)模块,同时简化了流水线结构,由原先RU算法的6级降低为4级;为了缩短编码延时,设计时安排每一级流水线计算所需的时钟数大致相同。 这种码字构造和编码联合设计方案具有以下优势:相比RU算法,新方案对可变码长、可变码率的支持更灵活,吞吐量也更大;相比基于生成矩阵的编码算法,新方案节省了50%以上的寄存器和ROM资源,单位资源下的吞吐量更大;相比类似重复累积码结构的基于迭代译码的编码算法,新方案使高性能LDPC码的构造更为方便。以上结果都在Xilinx Virtex II pro 70 FPGA上得到验证。 通过在实验板上实测表明,上述基于二次扩展的QC-LDPC码构造和相应的编码方案能够实现高吞吐量LDPC码收发端,在实际应用中具有很高的价值。 目前,LDPC码正向着非规则、自适应、信源信道及调制联合编码方向发展。跨层联合编码的构造方法,及其对应的编码算法,也必将成为信道编码理论未来的研究重点。
上传时间: 2013-07-26
上传用户:qoovoop
DSP2407寄存器查询器软件,方便查询寄存器功能
上传时间: 2013-04-24
上传用户:zuozuo1215
可配置端口电路是FPGA芯片与外围电路连接关键的枢纽,它有诸多功能:芯片与芯片在数据上的传递(包括对输入信号的采集和输出信号输出),电压之间的转换,对外围芯片的驱动,完成对芯片的测试功能以及对芯片电路保护等。 本文采用了自顶向下和自下向上的设计方法,依据可配置端口电路能实现的功能和工作原理,运用Cadence的设计软件,结合华润上华0.5μm的工艺库,设计了一款性能、时序、功耗在整体上不亚于xilinx4006e[8]的端口电路。主要研究以下几个方面的内容: 1.基于端口电路信号寄存器的采集和输出方式,本论文设计的端口电路可以通过配置将它设置成单沿或者双沿的触发方式[7],并完成了Verilog XL和Hspiee的功能和时序仿真,且建立时间小于5ns和保持时间在0ns左右。和xilinx4006e[8]相比较满足设计的要求。 2.基于TAP Controller的工作原理及它对16种状态机转换的控制,对16种状态机的转换完成了行为级描述和实现了捕获、移位、输出、更新等主要功能仿真。 3.基于边界扫描电路是对触发器级联的构架这一特点,设计了一款边界扫描电路,并运用Verilog XL和Hspiee对它进行了功能和时序的仿真。达到对芯片电路测试设计的要求。 4.对于端口电路来讲,有时需要将从CLB中的输出数据实现异或、同或、与以及或的功能,为此本文采用二次函数输出的电路结构来实现以上的功能,并运用Verilog XL和Hspiee对它进行了功能和时序的仿真。满足设计要求。 5.对于0.5μm的工艺而言,输入端口的电压通常是3.3V和5V,为此根据设置不同的上、下MOS管尺寸来调整电路的中点电压,将端口电路设计成3.3V和5V兼容的电路,通过仿真性能上已完全达到这一要求。此外,在输入端口处加上扩散电阻R和电容C组成噪声滤波电路,这个电路能有效地抑制加到输入端上的白噪声型噪声电压[2]。 6.在噪声和延时不影响电路正常工作的范围内,具有三态控制和驱动大负载的功能。通过对管子尺寸的大小设置和驱动大小的仿真表明:在实现TTL高电平输出时,最大的驱动电流达到170mA,而对应的xilinx4006e的TTL高电平最大驱动电流为140mA[8];同样,在实现CMOS高电平最大驱动电流达到200mA,而xilinx4006e的CMOS驱动电流达到170[8]mA。 7.与xilinx4006e端口电路相比,在延时和面积以及功耗略大的情况下,本论文研究设计的端口电路增加了双沿触发、将输出数据实现二次函数的输出方式、通过添加译码器将配置端口的数目减少的新的功能,且驱动能力更加强大。
上传时间: 2013-06-03
上传用户:aa54
该文件是OV7725即30万摄像头sensor的寄存器配置信息,内部的源码,针对不同的开发环境可以做适当修改
上传时间: 2013-04-24
上传用户:784533221