⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 system C源码 一种替代verilog的语言
💻
字号:
/////////////////////////////////////////////////////////////////  This code is written at SYNOPSYS, Inc.////////////////////////////////////////////////////////////////***************************************************************************    Copyright (c) 1998-1999 Synopsys, Inc.   ALL RIGHTS RESERVED *****************************************************************************///  Module   : README//  Filename : $Source: /Users/acg/CVSROOT/systemc-2.2/examples/sysc/risc_cpu/README,v $//  Author   : Martin Wang//  Revision : $Revision: 1.1.1.1 $//  Date     : $Date: 2006/12/15 20:31:30 $//  Company  : SYNOPSYS, Inc.//  Purpose  : This is a README file for risc_cpu using SystemC.//             Instruction Set Architecure defined by Martin Wang.//  Contact  : mwang@synopsys.com/////////////////////////////////////////////////////////////////  Modification History////  $Log: README,v $//  Revision 1.1.1.1  2006/12/15 20:31:30  acg//  SystemC 2.2////  Revision 1.1.1.1  2005/12/19 23:16:42  acg//  First check in of SystemC 2.1 into its own archive.////  Revision 1.2  2005/04/04 00:19:37  acg//  Changes for directory name of sysc rather than systemc.////  Revision 1.1.1.1  2003/10/01 21:50:43  acg//  Initial use of CVS.///////////////////////////////////////////////////////////////////	This example demonstrates a simple RISC CPU design.//      This is a simulation only example using Synopsys's//	SystemC(TM) C++ class library.  This example//	was tested on Solaris 2.5 using gcc.//     //      Several text files were used to initialize memory data//	bios 	= system bios data//	icache	= initial instruction cache//	dcache	= initial data cache//	register = initial register values//	abc.asm	= a sample program////	A simple assembler named assembler.pl which was written in PERL. //	Usage: assembler.pl <testname> -code > icache//	Usage: assembler.pl <testname> > printout (for viewing only)////	Steps:////	NOTE: ALL COMMAND LISTED ARE UNIX COMMANDS.////	1) set up the enviroment for SystemC.////	2) based on abc.asm , write your own assembly language program, named <testname.asm>////	3) assembler.pl abc.asm -code > icache////	4) gmake//	//	5) run the executable demo.x//// Here is some details:////First let me briefly describe the micro-architecture of this RISC CPU model.//The CPU itself is modeled using SystemC.  The CPU reads in assembly program and//execute it and write the result back to registers/data memory.  The instruction//set is defined based on commercial RISC processor together with MMX-like //instruction for DSP program. It consists of >39 instructions (arithmetic, //logical, branch, floating point, SIMD(MMX-like)).// //For Hardware/software partitioning, user can either write their algorithm//in assembly program, or use YACC to convert it to this CPU's instruction//set.  Then run it through the CPU, and you can measure how many cycles it//takes and user can alter the memory latency or CPU behavior to be more//realistic to get a better estimate.  Say, IDCT is the algorithm considered.//User can then write a hardware IDCT model using SystemC, and determine//what is the complexity and cost if IDCT is going to be implemented in hardware.//Then maybe some part of IDCT can be hardware, some can be software. In either//cases, SystemC is a useful tool in hardware/software partitioning.// //Furthermore, this example can be also interpreted as ISS (instruction set //simulator), software developer can use this model to test their software//early in the development cycle before the silicon chip come back from //fabrication/manufacturing. // //Finally, in order to compile the example you have to execute 'make'. Please//note that the file Makefile.defs contains the location of the SystemC//class library, which might be different for you, depending on your//installation. Once the compilation is finished, you will find an//executable 'demo.x'. // //The CPU example structure looks like this:// //.____________________________________________________.//| Hardware Side                                      |//| ._______.  .________.     .___________________.    |   //| |       |  |        |   +-|Integer Execution  |--  |//| | Fetch |--| Decode |---| `-------------------' |  |//| ._______.  .________.   | .___________________. |  |//|     |          |        +-|Floating Point Exe |-+  |//| .___|___.  .___|____.   | `-------------------' |  |//| |       |  |        |   | ._________________.   |  |                      //| |Icache |  | Dcache |   +-|MMXlike Execution|---+  |//| ._______.  .________.     `-----------------'   |  |//|     ^          |--------------------------------.  |//._____|______________________________________________.//      |//      |//      .---------------------------------.//._______________________________________|____________.//| Software Side (Develop for your market|segments)   |//| ._________________________.           |            | //| | Assembly code:          |           |            |//| |   lw       R5, R5, 1    |           .            |//| |   addi     R5, R5       | %assembler.pl foo.asm >| //| |   fadd     R3, R11, R11 |  -code > icache        |//| |   bne      R5, R6,  5   |                        |//| |   mmxadds  R13, R11, R11|           ^            |//| |   sw       R13, R0, 10  |           |            |//| ._________________________. _ _ _ _ _>|            |//.____________________________________________________.// // //Hope this shows some concepts of using C++ for hardware modeling.// //The materials on this directory(the "Example") are provided by Synopsys Inc.//as a service to its customers and may be used for informational purposes only.  //The work and intellectual property presented in this example is considered //propriety to Synopsys Inc. Synopsys Inc.'s trademarks maybe used publicly with //permission only from Synopsys Inc. Use of Synopsys's trademarks in advertising //and promotion of Synopsys products requires proper acknowledgement. //All other brands and names are property of their respective owners. /////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -