Thursday, 1 November 2018

Shakti processor |Shakti Processor Program | indias first processor

General purpose on-chip processors have become ubiquitous today. These processors range from extremely small and low power micro-controllers (used in motor controls, robotic platforms, home-appliances, etc.) to hefty and high-performance multi-core processors (used in servers and supercomputers). However, the growth of modern domain-specific languages (like Caffe, Tensorflow, etc.) and the need for more specialized features like machine-learning, enhanced security, etc. has forced the industry to look beyond general purpose solutions and towards mass-customization. While a large number of companies today can develop custom ASICs (Application Specific Integrated Chips) and license specific silicon blocks from chip-vendors to develop a customized SoCs (System on Chips), at the heart of every design is the processor and the associated hardware. To serve modern workloads better, these processors also need to be customized, upgraded, re-designed and augmented suitably. This requires that vendors/consumers have access to relevant processor variants and the flexibility to make modifications and ship them at an endurable cost. 

Today, a fair share of the processor market is dominated by just a few giants like Intel, ARM, AMD, etc. Each of these companies have an impressive IP portfolio of processors catering to various market trends. Almost all of the IP offerings of these companies fall under a licensing model which varies significantly. For example, Intel licenses its ISA only to limited users like AMD. ARM on the other hand offers a broad of range of licenses from ISA to architectural licenses. Apart from just license fees, these companies also charge royalties on devices using their IPs. Having sustained a successful IP model, today some of these licenses can go up to 1-10\$ Million in addition to strict NDAs which may restrict the user from making any proprietary changes or even publishing relevant numbers. All these aspects of the licensing model, while benefiting the respective companies, has made is difficult for consumers to develop truly customized solutions for modern day workloads. Some of these customizations cater to too low a market sector for the giants themselves to invest in, thereby prohibiting growth and novelty. 

In essence, the closed-source IP model in the processor community is proving to be a hindrance to build scalable solutions. A similar struggle in the software industry against closed-source IP led to the rise of the open-source Linux kernel in the 1990s. Since then the software community has seen a plethora of open-source software and tool-chains which have been adopted by industry and academia both. The hardware community however, hasn't seen such a revolution yet and is probably in dire need of the same. An open-source processor ecosystem will not only boost customization but also allow bright minds of the industry and academia to collaborate and provide a stable and viable framework competent enough with modern-day products. SHAKTI, an open-source initiative by IIT-Madras (Indian Institute of Technology Madras) is primarily aimed at building such open-source processor development ecosystems which can equip the community with enough ammunition to build custom and industrial grade processors without the hassle of licensing, NDAs, royalties or any other sort of restrictions. 

The SHAKTI Program


The SHAKTI Processor Program, was started as an academic initiative back in 2014 by the RISE group at IIT-Madras. Realizing the limitations of the processor industry mentioned above, the initiative aimed at not only creating open-source industrial grade processors but also building associated components of a bigger ecosystem - like interconnect fabrics, scalable verification platforms, peripheral IPs, etc. - which enables rapid adoption of the processors. Some of the major highlights of the program which make it a viable option for adoption are:

Source code of all the components of the SHAKTI ecosystem are open under the 3 part BSD license. This means a user could freely use, modify and circulate the source code without having to sign any NDAs, licenses or even notify the authors as long as the license header file remains. The SHAKTI program itself will not assert any patents and thereby removes the burden of paying royalties as well.

The processors of the SHAKTI ecosystem are build using the open-source RISC-V ISA. RISC-V has been designed for modularity and extensions, thereby perfectly fitting the prologue of "customization". The ISA also comes with a complete software stack, including compilers, operating systems, and debuggers, which are open source and thus also modifiable. Since the ISA does not dictate micro-architectural features, the software and hardware can be maintained by two complete different entities and yet be compatible. This allows for great re-usability and sharing of code-base across the community.

The SHAKTI processors and the front-end (RTL) designs are developed using the open-source High Level Synthesis (HLS) language:Bluespec System Verilog (BSV). BSV equips the user to develop extremely modular and parameterized modules with defined interfaces. This feature facilitates the user to focus and modify only the designs of interest without having to break the rest of the flow. Today there exists a free bsv-parser which the community can use to develop open/proprietary compilers for BSV.

Academia now has access to a real world working prototypes of processors which they can play with for free. This enables them to depart from the world of "simulators" and "emulation models" and try out their research and ideas in practice. They are no longer tied down by strict NDAs on publishing and can thereby participate more actively in shaping the future of the processor industry.

A typical process of acquiring ISA or architectural licenses from companies like ARM can vary anywhere between 6-12 months. This increases the time-to market for the consumers. SHAKTI, can immensely reduce this time by avoiding such formalities and providing a powerful modular framework allowing small tech start-ups to only modify components of interest rather than building a solution from scratch.

With minds from all over the community pouring in ideas and solutions, SHAKTI has the potential to become a state-of-the-art offering quickly

An open-source ecosystem such as SHAKTI promotes a mix-and-match environment where users can plug-in different open-source or proprietary IPs and innovate on new ideas and projects.

Being completely open-source, it is close-to-impossible for external entities to add back-doors and black-boxes. This is of particular interest to strategic sectors of a countries like India, which today depend on black-box solutions provided by industries which are headquartered in foreign countries.

SHAKTI can also enable the software community drastically. Fearing strong patent lawsuits, software developers who own licensed HW IPs for development are forced to release only binaries rather source code and also provide minimal documentation. This leaves the software Libre community in dangling state, spending months and even years \emph{"picking up pieces"}.

In addition to the above arguments, a combination of the open-source processor ecosystems such as SHAKTI and a fabrication entity like TSMC, which is offering upto 100 small tests chips on its latest technology node for only 30,000\$, can virtually enable any project with real-chips for their final validation at drastically low costs and time.



Architectural Features




Overview

  • In-order 3 stage 32/64 bit microcontroller supporting a subset of RISC-V ISA.
  • Low area and power consumption - operational frequency of < 200MHz on silicon.
  • Optimized variants for FPGA based soft-cores.
  • AXI4/AXI4-Lite/TileLink peripherals supported
  • Positioned against ARM’s M class cores

Basic Specifications

  • Open source IP supporting RV32/64 - IMAC.
  • Optional Direct-mapped caches for instruction and data.
  • Supports Machine and User-modes only.
  • User-mode trap handling is optional.
  • Push button flow to generate variants and subsets of ISA.
  • Optimized sequential Multiplier and Divider for ASICs and FPGAs
  • OpenOCD based SoC debug support through JTAG.
  • OS Ports: FreeRTOS, Zephyr

Source code

https://gitlab.com/shaktiproject/cores/e-class


Saturday, 29 September 2018

1st Selenium

package snjb1;

import java.util.HashMap;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

import com.gargoylesoftware.htmlunit.javascript.host.Map;

public class Mac {

WebDriver driver;

public Mac()
{

//Map<String, Object> prefs = new HashMap<String, Object>();
     
        // Set the notification setting it will override the default setting
//prefs.put("profile.default_content_setting_values.notifications", 2);

        // Create object of ChromeOption class
ChromeOptions options = new ChromeOptions();

        // Set the experimental option
//options.setExperimentalOption("prefs", prefs);

System.setProperty("webdriver.chrome.driver", "D:\\java toolssss\\chromedriver.exe");
driver = new ChromeDriver();
//driver=new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(120, TimeUnit.SECONDS);

//"https://www.shiksha.com/tags/symbiosis-institute-of-telecom-management-sitm-tdp-198268"


driver.get("http://facebook.com/");
// driver.manage().window().maximize();



}

public static void main(String[] args) {
// TODO Auto-generated method stub
  new Mac();
}

}






Crome Driver :
https://drive.google.com/open?id=1yM9JjspZPKbzsehTjxs06hX84I6kTU9X

Wednesday, 27 June 2018

flash

One way to do this is add an onclick method to your form to initiate the javascript containing the alert.

Mouse Over To select radio button or same like

Hi fried's normally what happens there some time we create forms for cust. cust required fast fill form fast so only mouse over to select an option. Code using JavaScript ------------------------------------------


 select MAC Plus tech 


code >>


<span id="radio-buttons">
    <input checked="check" class="tryout" name="example" type="radio" />
  
select   <input class="tryout" name="example" type="radio" />
  MAC  <input class="tryout" name="example" type="radio" />Plus
    <input class="tryout" name="example" type="radio" />tech
</span>
<script>
document.getElementById("radio-buttons").onmouseover = function (e) {
    e.target.checked = true;
}
</script>



  - Kishor M Sonawane

Thursday, 21 June 2018

Pen-drive or Any Drive Virus Remove Using MAC+ tech tool


Pen-drive or Any  Drive Virus Remove Using MAC+ tech tool 


 MAC+tech Create Small Product For Remove  Pen drive Viruses And Worms as well as Drive Viruses / Solve Auto Hidden Files Problem  Follow Following steps ...

DOWNLOAD -------------------------------------------------------------------------
Step 1 >> Download the file Click Here....   https://drive.google.com/open?id=1lf9nR4nTo-Qh73N8J9Qbkk8_GcY7CZsV
               (here open Drive and Download Option Available)

Step 2>>  Downloaded file (.zip ) Extract and Save On your Computer 
-----------------------------------------------------------------------
   how to use ??

  just copy MAC+tech.exe  (tool) Paste on Affected Drive And Run it (Double Click).

*Note: Tool Copy On Affected Drive then Run tool... 

*Software is Command line Based GUI Based Software Come Within some Day's......


 thank You For Using MAC+tech Services 

-Kishor M Sonawane


Wednesday, 20 June 2018

Arduino Remote Light

Program Def: Create program glow light using wireless media .
 Reuredment:
 two CKT two Arduino
                      one connected LED
                      another Connected Button
                     Each Arduino Connecrted Bluetooth HC-05 SETUP

One as Master Another As Slave :  

Load This Program For Config Bluetooth 
// note : pin cong: 
     BT     Arduino
    Tx         10
   RX         11

   VCC        5v
   Gnd        Gnd

  EN          3.3v or pin 9 (for program)

#include <SoftwareSerial.h>

SoftwareSerial BTSerial(10, 11); // RX | TX

void setup()
{
  pinMode(9, OUTPUT);  // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
  digitalWrite(9, HIGH);
  Serial.begin(9600);
  Serial.println("Enter AT commands:");
  BTSerial.begin(38400);  // HC-05 default speed in AT command more
}

void loop()
{
 // Serial.println("in LOop");
  // Keep reading from HC-05 and send to Arduino Serial Monitor
  if (BTSerial.available())
  {
    Serial.write(BTSerial.read());
   // Serial.println(BTSerial.read());
     // Serial.println("in avl...");
      //delay(1000);
  }
  // Keep reading from Arduino Serial Monitor and send to HC-05
  if (Serial.available())
    BTSerial.write(Serial.read());
      //Serial.println("Write..");
      //delay(1000);
}





Salve :
Write TTL Command
 AT+RMAAD (clear any paired devices)
AT+ROLE=0 (set as slave)
 AT+ADDR (Return H/w address remember it)
AT+UART=38400,0,0 (To fix the baud rate at 38400)


Master :
AT+RMAAD
AT+ROLE=1 (set it as master)
AT+CMODE=0 (To connect the module to the specified Bluetooth address and this Bluetooth address can be specified by the binding command)
 AT+BIND=xxxx,xx,xxxxxx ( XXXXXXXXXXXX Contain slave address)
 AT+UART=38400,0,0 (To fix the baud rate at 38400)

CKT DIG:


 ------------------------------------------------------------------------
// note : pin cong  (Both Arduinos): 
     BT     Arduino
    Tx         0
   RX         1

   VCC        5v
   Gnd        Gnd

  

 

Programs

Android 1 (Button Site)
 ----------------------------------------------------- 
// Button Coding ...

//this is master

//#include <SoftwareSerial.h>

//SoftwareSerial BTSerial(10, 11);


const int buttonPin = 2;
int buttonState = 1;

void setup() 
{
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
  digitalWrite(buttonPin, HIGH);
}

void loop()
{
 // send Signal to Second Arduino.... for glow LED
 buttonState = digitalRead(buttonPin);
 if (buttonState == LOW)
 {
  Serial.write('1');
 }
 else
 {
  Serial.write('0');
 }
 

}

--------------------------------------------------------

LED Site (Arduino 2)

//LED CKT

#include <SoftwareSerial.h>

//SoftwareSerial BTSerial(2, 3);

int data = 0;
const int led = 8;
int flag=0;

void setup() 
{
  //BTSerial.begin(38400);
   Serial.begin(9600);
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);
  
}
void loop() 
{
 if(Serial.available() > 0)
 { 

    data = Serial.read(); // incoming data i.e 1
   if(data==1 && flag==0)
   {
    flag=1;
   }
   else if(data==1 && flag==1)
   {
    flag=0;
   }
    
 }

 
  if (flag == '1' ) 
 {
  digitalWrite(led, HIGH); // LED ON
  data = 0;
 }
 else if (flag == '0') 
 {
  digitalWrite(led, LOW); // LED ON
  data = 0;
 }

}







Tuesday, 12 June 2018

Python P2 Python Command line + exit Command


Python  P2   Python Command line + exit Command

Exit Syntax 
   exit Use to Stop Python Program

 exit()
 means When You use Command Line Python At that time use exit() from Command.

How to Start Command line Python :

  1. Open terminal / CMD
  2. type python
  3.  your Command Line Python Open :)

Now type any python on it

look like ......

$python
python>> [Your Command Here]


example :

$ python  
python>> print("hello MAC+tech")
hello MAC+tech
 python>>



Intro Python P1 + Run Python 1st Program

Python?

It was created in 1991 by Guido van Rossum .

use :

  1. web development (server-side)
  2. Data Mining And Analytics.  
  3. graphics 
  4. System S/w
  5. software development
  6. mathematics
  7. system scripting.
  8. AI Application
  9. Embedded Development  
 Some features :
  1. Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
  2. Python has a simple syntax similar to the English language.
  3. Python has syntax that allows developers to write programs with fewer lines than some other programming languages.
  4. Python runs on an interpreter system, meaning that code can be executed as soon as it is written. This means that prototyping can be very quick.
  5. Python can be treated in a procedural way, an object-orientated way or a functional way.
 Let's Start...... :)  

Run Program

$python File.py

Here Command Python , file name is the any File Name..

Run  Steps :
  open Any Editor And Type  :
                                    
                                    print("Hello, MAC+tech Word!")

Save any name ex mypro1.py

Type python  mypro1.py

O/U :
 Hello, MAC+tech Word!
    





Thursday, 1 March 2018

BE All INSEM And End Sem Unipune Papers


Download BE All INSEM And End Sem Unipune Papers   :


                                             <<Download>>
or

                                             <<Download>>
or

                                             <<Download>>


https://drive.google.com/open?id=1nojjas6fjddjGiTLaBSjzgaGEeQNZ9Qe


                                             <<Download>>

Sunday, 28 January 2018

Some Basic UNIX Commands


Ten ESSENTIAL UNIX Commands

These are ten commands that you really need to know in order to get started with UNIX. They are probably similar to commands you already know for another operating system.


Command Example Description
1.     ls ls
ls -alF
Lists files in current directory
List in long format
2.     cd cd tempdir
cd ..
cd ~dhyatt/web-docs
Change directory to tempdir
Move back one directory
Move into dhyatt's web-docs directory
3.     mkdir mkdir graphics Make a directory called graphics
4.     rmdir rmdir emptydir Remove directory (must be empty)
5.     cp cp file1 web-docs
cp file1 file1.bak
Copy file into directory
Make backup of file1
6.     rm rm file1.bak
rm *.tmp
Remove or delete file
Remove all file
7.     mv mv old.html new.html Move or rename files
8.     more more index.html Look at file, one page at a time
9.     lpr lpr index.html Send file to printer
10.   man man ls Online manual (help) about command


Ten VALUABLE UNIX Commands

Once you have mastered the basic UNIX commands, these will be quite valuable in managing your own account.

Command Example Description
1.     grep <str><files> grep "bad word" * Find which files contain a certain word
2.     chmod <opt> <file> chmod 644 *.html
chmod 755 file.exe
Change file permissions read only
Change file permissions to executable
3.     passwd passwd Change passwd
4.     ps <opt> ps aux
ps aux   |   grep dhyatt
List all running processes by #ID
List process #ID's running by dhyatt
5.     kill <opt> <ID> kill -9 8453 Kill process with ID #8453
6.     gcc (g++) <source> gcc file.c -o file
g++ fil2.cpp -o fil2
Compile a program written in C
Compile a program written in C++
7.     gzip <file> gzip bigfile
gunzip bigfile.gz
Compress file
Uncompress file
8.     mail
        (pine)
mail me@tjhsst.edu < file1
pine
Send file1 by email to someone
Read mail using pine
9.     telnet <host>
        ssh <host>
telnet vortex.tjhsst.edu
ssh -l dhyatt jazz.tjhsst.edu
Open a connection to vortex
Open a secure connection to jazz as user dhyatt
10.   ftp <host>
ncftp <host/directory>
ftp station1.tjhsst.edu
ncftp metalab.unc.edu
Upload or Download files to station1
Connect to archives at UNC


Ten FUN UNIX Commands

These are ten commands that you might find interesting or amusing. They are actually quite helpful at times, and should not be considered idle entertainment.

Command Example Description
1.     who who Lists who is logged on your machine
2.     finger finger Lists who is on computers in the lab
3.     ytalk <user@place> ytalk dhyatt@threat Talk online with dhyatt who is on threat
4.     history history Lists commands you've done recently
5.     fortune fortune Print random humerous message
6.     date date Print out current date
7.     cal <mo> <yr> cal 9 2000 Print calendar for September 2000
8.     xeyes xeyes & Keep track of cursor (in "background")
9.     xcalc xcalc & Calculator ("background" process)
10.   mpage <opt> <file> mpage -8 file1   |  lpr Print 8 pages on a single sheet and send to printer (the font will be small!)


Ten HELPFUL UNIX Commands

These ten commands are very helpful, especially with graphics and word processing type applications.

Command Example Description
1.     netscape netscape & Run Netscape browser
2.     xv xv & Run graphics file converter
3.     xfig / xpaint xfig & (xpaint &) Run drawing program
4.     gimp gimp & Run photoshop type program
5.     ispell <fname> ispell file1 Spell check file1
6.     latex <fname> latex file.tex Run LaTeX, a scientific document tool
7.     xemacs / pico xemacs (or pico) Different editors
8.     soffice soffice & Run StarOffice, a full word processor
9.     m-tools (mdir, mcopy,
        mdel, mformat, etc. )
mdir a:
mcopy file1   a:
DOS commands from UNIX (dir A:)
Copy file1 to A:
10.   gnuplot gnuplot Plot data graphically


Ten USEFUL UNIX Commands:

These ten commands are useful for monitoring system access, or simplifying your own environment.

Command Example Description
1.     df df See how much free disk space
2.     du du -b subdir Estimate disk usage of directory in Bytes
3.     alias alias lls="ls -alF" Create new command "lls" for long format of ls
4.     xhost xhost + threat.tjhsst.edu
xhost -
Permit window to display from x-window program from threat
Allow no x-window access from other systems
5.     fold fold -s file1   |   lpr Fold or break long lines at 60 characters and send to printer
6.     tar tar -cf subdir.tar subdir
tar -xvf subdir.tar
Create an archive called subdir.tar of a directory
Extract files from an archive file
7.     ghostview (gv) gv filename.ps View a Postscript file
8.     ping
   (traceroute)
ping threat.tjhsst.edu
traceroute www.yahoo.com
See if machine is alive
Print data path to a machine
9.     top top Print system usage and top resource hogs
10.   logout (exit) logout or exit How to quit a UNIX shell.

Friday, 5 January 2018

Gate 2018 official admit card


Gate 2018 official admit card is released on the official gate website.

1. Click On Download Button
2. Enter Your User Name Password
3. Download Admit Card

<< Download >>

create and activate a Python virtual environment on macOS and Windows

create and activate a Python virtual environment on macOS and Windows: Prerequisites: Python 3: Ensure you have Python 3 installed. You ca...