第1章绪论1.1什么是SystemC?1.2为何采用SystemC?1.3设计方法1.4设计能力1.5SystemCRTL1.6本书的组织结构1.7练习第2章SystemC入门2.1基础知识2.2再看一个2*4译码电路示例2.3描述层次关系2.4验证功能2.5练习第3章数据类型3.1值保持器3.2类型概述3.3位类型3.4任意位宽的位类型3.5逻辑类型3.6任意位宽的逻辑类型3.7有符号整型3.8无符号整型3.9任意精度的有符号整型3.10任意精度的无符号整型3.11解析式类型3.12用户定义的数据类型3.13推荐采用的数据类型3.14练习第4章组合逻辑建模4.1SC-MODULE4.1.1文件结构4.2示例4.3读写端口和信号4.4逻辑算符4.5算术算符4.5.1无符号算术4.5.2有符号算术4.6关系算符4.7向量与位区间4.7.1常量下标4.7.2不是常量的下标4.8if语句4.9switch语句4.10循环语句4.11方法4.12结构体类型4.13多个进程的△延迟4.14小结4.15练习第5章同步逻辑建模5.1触发器建模5.2多个进程5.3带异步预置位和清零的触发器5.4带同步预置位和清零的触发器5.5多个时钟与多相位时钟5.6锁存器建模5.6.1if语句5.6.2switch语句5.6.3避免产生锁存器5.7小结5.8练习第6章其他逻辑6.1三态驱动器6.2多个驱动器6.3无关值处理6.4层次结构6.5模块的参数化6.6变量和信号的赋值6.7练习第7章建模示例7.1可参数化的三态输出寄存器7.2存储器模型7.3有限状态机建模7.3.1Moore有限状态机7.3.2Mealy有限状态机7.4通用移位寄存器7.5计数器7.5.1模N计数器7.5.2约翰逊计数器7.5.3格雷码可逆计数器7.6约翰逊译码器7.7阶乘模型7.8练习第8章测试平台8.1编写测试平台8.2仿真控制8.2.1sc_clock8.2.2sc_trace8.2.3sc_start8.2.4sc_stop8.2.5sc_time_stamp8.2.6sc_simulation_time8.2.7sc_cycle和sc_initialize8.2.8sc_time8.3波形8.3.1任意波形8.3.2复杂的重复波形8.3.3派生时钟的生成8.3.4从文件中读取激励8.3.5反应式激励8.4监听行为8.4.1断言正确的行为8.4.2将结果转储至文本文件8.5其他示例8.5.1触发器8.5.2同步输出的多路选择器8.5.3全加器8.5.4周期级仿真8.6sc_main函数内的语句次序8.7记录聚合类型8.8练习第9章系统级建模9.1SC_THREAD型进程9.2动态敏感9.3构造函数的参数9.4其他示例9.4.1最大公因子9.4.2滤波器9.5端口、接口和信道9.6高级论题9.6.1共享数据成员9.6.2定点类型9.6.3模块9.6.4其他方法9.7仿真算法9.8练习附录A运行时环境A.1软件安装A.2编译A.3仿真A.4调试附录BSystemCRTL:可综合的子集B.1SystemC语言要素B.2C++语言要素
2025/2/7 11:47:25 6.27MB system c
1
#Pygame贪吃蛇游戏源码1.随机生成果实位置;
2.经典游戏界面;
3.碰到墙壁或身体结束游戏;
4.修改程序开头常量调整速度;
5.修改程序开头常量调整分辨率。
2025/1/30 22:56:15 5KB pygame 贪吃蛇 源码
1
设置说明所有组件准备就绪(包括进口)使用main.css-减少导入限制组件数量-更好的概述React图标[React图标]import{FaHome}from"react-icons/fa"constComponent=()=>{return</FaHome>}使用常量以避免重复。
确保您的Strapi应用程序中存在此类内容类型。
或者在gatsby-config.js中替换/删除它们{resolve:`gatsby-source-strapi`,options:{apiURL:`http://localhost:1337`,queryLimit:1000,//Default
2025/1/16 12:09:25 8.82MB CSS
1
(课程网站https://class.imooc.com/sc/18?)1:Java基础语法本步骤涵盖Java程序结构、开发环境搭建、常量与变量、运算符、流程控制、数组和方法等Java基础语法的内容。
通过本步骤学习,可以掌握Java程序的执行流程,能够编写符合Java语法规则的程序。
2:Java面向对象在本步骤中,我们将带你逐步认识如何通过Java语言实现面向对象的三大特征继承、封装、多态,并编写具有面向对象思想的Java程序3:Java常用工具类在本步骤中,将会介绍最常用的Java工具类,包括异常、包装器类、字符串处理类、集合框架及其实现类、泛型、多线程和输入输出流等内容。
学习了这些,定让你的Java技能更上一层楼。
2024/12/14 19:23:39 70B java
1
鹏哥特色教程之C#入门到精通-eNet网络学院  本视频教程非常全面,几乎涵盖了C#语言的全部内容。
你最好选择一本书,再结合视频教程,效果更佳。
但是好书不多,好书的标准是:内容简单、例子多。
最关键的是:你要能看懂。
有些章节讲得很慢,主要是要照顾初学者。
建议大家不要看得太快,有些章节需要反复看。
不可急于求成。
第一章,基础部分1.一个简单的窗口程序2.鹏氏注释法(小聪明)3.变量4.常量5.数据类型(结合第3节观看)6.再说数据类型7.算术表达式8.运算符的简化9.我眼花了吗10.判断语句(选择语句)11.循环语句12.比较运算符13.逻辑表达式14.数组15.函数(或称方法)第二章,中级部分16.类17.类的成员属性18.只读属性和索引19.再说索引20.构造函数和析构函数21.静态类、静态方法、静态变量22.方法的重载23.方法的参数(ref,out,params)24.类的继承20.完善我的留言板(2)21.完善我的留言板(3)22.完善我的留言板(4)25.异常处理26.命名空间27.接口28.泛型29.抽象类30.访问限制关键字31.所有的类的父类32.委托33.事件34.枚举35.结构体36.this关键字37.base关键字38.值类型39.引用类型40.装箱和拆箱41.丢人的自我介绍
2024/12/11 15:08:57 10.65MB c# 教程 VS2005 Csharp
1
二级java公共基础知识部分30分专业语言部分70分Java语言程序设计基本要求:1.掌握Java语言的特点,实现机制和体系结构。
2.掌握Java语言中面向对象的特性。
3.掌握Java语言提供的数据类型和结构。
4.掌握Java语言编程的基本技术。
5.会编写Java用户界面程序。
6.会编写Java简单应用程序。
7.会编写Java小应用程序(Applet)。
8.了解Java的应用。
考试内容:一、Java语言的特点和实现机制二、Java体系结构1.JDK目录结构。
2.Java的API结构。
3.开发环境设置。
4.Java程序结构。
三、Java语言中面向对象的特性。
1.面向对象编程的基本要领和特征。
2.类的基本组成和使用。
3.对象的生成、使用和删除。
4.接口与包。
5.Java类库中常用类和接口。
四、Java简单数据类型及运算1.变量和常量。
2.基本数据类型及转换。
3.Java类库中对简单数据类型的类包装。
4.运算符和表达式运算。
5.数组和字符串。
五、Java语言的基本语句1.表达式语句。
2.条件语句。
3.循环语句。
4.注释语句。
5.异常处理。
六、Java编程技术基础1.线程的要领和使用。
2.同步与共享。
3.串行化要领和目的。
4.串行化方法。
5.串行化的举例。
6.基于文本的应用。
7.文件和文件I/O。
8.汇集(collections)接口。
七、编写用户界面程序1.图形用户界面。
2.AWT库简介。
3.SwingF简介。
4.AWT与Swing比较。
八、编写小应用程序(Applet)1.小应用程序概念。
2.安全机制。
3.Applet执行过程。
4.Applet的图形绘制。
5.Applet的窗口。
6.Applet的工作环境。
7.JavaApplication和Applet。
九、Java的应用十、J2DK的下载和操作。
考试方式:笔试:90分钟,满分100分,其中含公共基础知识部分的30分。
上机操作:90分钟,满分100分。
上机题目类型要求:(1)基本操作。
(2)简单应用。
(3)综合应用。
2024/12/11 14:41:40 211KB 计算机二级 java
1
加密算法在信息技术领域中起着至关重要的作用,用于保护数据的安全性和隐私性。
SHA(SecureHashAlgorithm)是一种广泛使用的散列函数,它将任意长度的数据转换为固定长度的摘要值。
SHA512是SHA家族中的一员,提供更强大的安全性能,尤其适合大数据量的处理。
本文将深入探讨SHA512加密算法的原理、C++实现以及其在实际应用中的重要性。
SHA512算法基于密码学中的消息摘要思想,通过一系列复杂的数学运算(如位操作、异或、循环左移等),将输入数据转化为一个512位的二进制数字,通常以16进制形式表示,即64个字符。
这个过程是不可逆的,意味着无法从摘要值推导出原始数据,因此被广泛应用于数据完整性验证和密码存储。
在C++中实现SHA512算法,首先需要理解其基本步骤:1.**初始化**:设置一组初始哈希值(也称为中间结果)。
2.**预处理**:在输入数据前添加特殊位和填充,确保数据长度是512位的倍数。
3.**主循环**:将处理后的数据分成512位块,对每个块进行多次迭代计算,每次迭代包括四个步骤:扩展、混合、压缩和更新中间结果。
4.**结束**:将最后一个中间结果转换为16进制字符串,即为SHA512的摘要值。
C++代码实现时,可以使用位操作、数组和循环来完成这些计算。
为了简化,可以使用`#include`中的`uint64_t`类型表示64位整数,因为SHA512处理的是64位的数据块。
同时,可以利用`#include`中的`memcpy`和`memset`函数来处理内存操作。
此外,`#include`和`#include`库可用于将二进制数据转换成16进制字符串。
以下是一个简化的C++SHA512实现框架:```cpp#include#include#include#include#include//定义常量和初始化哈希值conststd::arraykInitialHashValues{...};std::arrayhashes=kInitialHashValues;//主循环函数voidProcessBlock(constuint8_t*data){//扩展、混合、压缩和更新中间结果}//输入数据的处理voidPreprocess(conststd::string&input){//添加填充和特殊位}//将摘要转换为16进制字符串std::stringDigestToHex(){//转换并返回16进制字符串}//使用示例std::stringmessage="Hello,World!";Preprocess(message);constuint8_t*data=reinterpret_cast(message.c_str());size_tdataSize=message.size();while(dataSize>0){if(dataSize>=128){ProcessBlock(data);dataSize-=128;data+=128;}else{//处理剩余数据}}std::stringresult=DigestToHex();```这个框架只是一个起点,实际的SHA512实现需要填充完整的扩展、混合和压缩步骤,以及处理边界条件。
此外,为了提高效率,可能还需要使用SIMD(SingleInstructionMultipleData)指令集或其他优化技术。
SHA512算法在多种场景下具有广泛的应用,如:-**文件校验**:通过计算文件的SHA512摘要,可以验证文件在传输或存储过程中是否被篡改。
-**密码存储**:在存储用户密码时,不应直接保存明文,而是保存SHA512加密后的哈希值。
当用户输入密码时,同样计算其SHA512值并与存储的哈希值比较,不匹配则表明密码错误。
-**数字签名**:在公钥加密体系中,SHA512可以与非对称加密算法结合,生成数字签名,确保数据的完整性和发送者的身份验证。
了解并掌握SHA512加密算法及其C++实现,对于信息安全专业人员来说至关重要,它不仅有助于提升系统的安全性,也有助于应对不断发展的网络安全威胁。
通过深入学习和实践,我们可以更好地理解和利用这一强大的工具。
2024/11/12 20:26:46 2.14MB 加密算法
1
可以局方配置一个FTP服务器,服务器里放置升级策略文件,终端定时连接该FTP服务器,得到升级策略文件,分析该策略文件以决定是否需要对本终端软件升级。
如果需要的话下载策略文件指定的终端软件镜像文件,然后完成自身软件的更新,每次升级都生成一个报告文件,上传至FTP服务器,以通知局方终端的软件升级状况,这样局方可以通过定制策略文件达到管理终端软件版本情况。
本软件:本软件可以做为大多终端软件的一个独立进程,从而使终端软件具备远程自动升级功能。
文件例表:Ftp.h、Ftp.c完成一个带权限认证的基于RFC959标准的FTP文件上传下载功能的客户端TacticAnaly.c、TacticAnaly.h完成策略文件分析功能UpdateExtInterface.c、UpdateExtInterface.h完成与终端软件其它模块的对外接口DriverFunction.c、DriverFunction.h自动升级功能驱动层接口实现UpdateFunction.c、UpdateFunction.h自动升级模块的一些通用功能接口实现UpdateManage.c、UpdateManage.h自动升级管理文件,提供主进程调用接口的实现main.c进程主文件Adapter.h平台数据类型差异性移植定义文件GlobConst.h自动升级模块常量定义文件Globdefine.h自动升级全局宏定义文件
2024/11/5 1:20:50 1.06MB
1
实验一:词法分析一、实验目的通过设计一个具体的词法分析程序,加深对词法分析原理的理解。
并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。
并依次输出各个单词的内部编码及单词符号自身值。
二、实验预习提示1、 词法分析器的功能和输出格式词法分析器的功能是输入源程序,输出单词符号。
词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。
本实验中,采用的是一类符号对应一个种别码的方式。
2、 单词的BNF表示---_----_----_-+---_--等等3、 模块结构(见课本P95-96)(可根据自己的理解适当修改)三、实验过程和指导:(一) 准备:1. 阅读课本有关章节,明确语言的语法,写出基本保留字、标识符、常数、运算符、分隔符和程序例。
2. 初步编制好程序。
3. 准备好多组测试数据。
(二) 上机:(三) 程序要求:1. 要求用C++Builder或者Dephi或者VC、VB等可视化编程工具编写;
要求有界面(即一般windows下应用程序界面)。
2. 输入为某语言源代码。
程序输入/输出示例:如源程序为C语言。
输入如下一段:main(){inta,b;a=10;b=a+20;}要求输出如下(并以文件形式输出)。
(2,”main”)(5,”(“)(5,”)“)(5,”{“}(1,”int”)(2,”a”)(5,”,”)(2,”b”)(5,”;”)(2,”a”)(4,”=”)(3,”10”)(5,”;”)(2,”b”)(4,”=”)(2,”a”)(4,”+”)(3,”20”)(5,”;”)(5,”}“)注:为右大括号要求(可根据实际情况加以扩充和修改):识别保留字:if、int、for、while、do、return、break、continue等等,单词种别码为1。
其他的标识符,单词种别码为2。
常数为无符号数,单词种别码为3。
运算符包括:+、-、*、/、=、>、=、<=、!=;
单词种别码为4。
分隔符包括:“,”“;
”“(”“)”“{”“}”等等,单词种别码为5。
(四) 程序思路(仅供参考):0. 定义部分:定义常量、变量、数据结构。
1. 初始化:从文件将源程序输入到字符缓冲区中。
2. 取单词前:去掉多余空白。
调用过程GETNB();3. 提取字符组成单词,利用课本P97图4.5转换图构造单词扫描过程SCAN(),需要根据实际情况加以修改。
4. 判断单词的种别码,调用过程LOOKUP();5. 显示(导出)结果。
2024/10/19 0:44:54 433KB 编译原理 词法分析实验
1
V0.6.0:加入文件拖放功能。
V0.5.5:修正建立新的配置文件时,保存失败的Bug。
V0.5.4:修正数制计算器中输入A-F时的bug,增加源数据存储类型选择。
0.5.3:修改图标,部分界面。
0.5.2:About界面修改,添加更新网址。
0.5.1:修正块另存时新建文件保存失败的Bug。
0.5:新增文件内、文件间块移动、复制、交换、另存等功能0.4:新增转换为二进制后比较功能本人继MCUTool以后的另外一个单片机开发实用工具软件,用于单片机调试过程中简单的参量修改,省略修改源代码、再编译的过程,直接修改目标文件。
尤其是对eeprom数据的修改、调整更为方便实用。
本软件编写的目的是用来编辑存放于单片机Flash或EEPROM中的数据,支持IntelHex格式以及MotorolaS格式的数据文件,也可以编辑二进制的内存映射文件。
数据的编辑可以通过常量定义的方式,也可以通过内存映射的方式进行。
同时可以在两种16进制格式文件之间相互转换。
格式转换以行数据为单位,以确保转换前后数据不会改变。
另外提供十进制、十六进制转换器,转换结果可以作为普通显示或作为内存映射,作内存映射时可以选择多字节数据的存储方式。
二进制比较功能,通过不同工具生成的Hex文件可能因为格式而无法进行文本方式比较,本工具可以首先转换为二进制数据再进行比较,免去自行转换的麻烦。
单文件内/双文件间的块操作,包括复制、移动、交换、另存等等,方便实验数据提取、复制。
2024/10/18 12:14:13 587KB Intel Hex S-Record
1
共 109 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡