Playstation 4 Power Consumption: A Quick Analysis

Here  is the results of the analysis that I have done on power consumption of Playstation 4. During my analysis I play different games and I measure the averaged power of PS4 during game play and I report the results. Furthermore, I show the power consumption of the device during different states and during execution of different tasks. I show that there is still room for the operating system on the playstation 4 to save power. Watch the complete video Online.  
Continue Reading »

The Operating System which sold 1 million copies in 24 hours!

During my life, I have been always curious about FreeBSD. I have been always trying to learn more about it and actually, I learned the concepts of File Systems from the FreeBSD documentation. After 2011 however, when I began the PhD, I didn't look at the FreeBSD any more and I thought it will soon join the history! Just this morning I was going through different web sites related to the Xilinx ZYNQ device and surprisingly I found a guy who is running the FreeBSD on the ARM host of the ZYNQ. I though with myself, "why some one should…
Continue Reading »

Estimating Power at RTL using Synopsys Design Compiler

Estimation of power consumption of an integrated circuit at RT level can be handy since it allows designers to obtain an approximate and yet accurate enough estimate on total power consumption of their design in a very short time. Basically, the designer runs the logic simulation for his pure RTL design and obtains the switching activity statistics for his circuit. The test bench developed by the designer for the logic simulation is indeed the workload imposed to the circuit and power will be estimated for this specific workload. In this writing I go through the details of how power estimation…
Continue Reading »

How to use the Xilinx VDMA core on the ZYNQ device

THIS POST GETS COMPLETED GRADUALLY ! I DON'T HAVE ALL OF THE INFORMATION RIGHT NOW ! In this post, I go through the procedure of adding a Video DMA to your ZYNQ PL in Vivado environment and then to program it. Camera : First you need the camera to be connected to your ZED Board. For this, there is a very nice reference design that you can use: ZEDBOARD OV7670 The source design is also provided so you can make sure that your camera is working and the data is being received by the PL correctly. If you don't have…
Continue Reading »

Synopsys VCS : libvcsnew.so: undefined reference to …

I have seen this very strange problem with Synopsys VCS time to time. It is actually not related to if you are using the 32 Bits or 64 Bits version and on which type of system you are running the tool. For both of the pure 32 bits and pure 64 bits runs I have seen this problem occurs. Synopsys indicates that this problem might happen when you have several installations of the VCS on your system however, I have seen this problem on systems that I am pretty sure have just once instance of VCS. Ineed I don't know…
Continue Reading »

Gate Level Simulation and Initializing Registers to Prevent X Propagation

Today I was trying to Simulate an Optimized version of OpenRISC CPU at Gate level. To Synthesize the core I had used one of the ASIC technology nodes that we have in the laboratory and I wanted to obtain estimates on power consumption of OpenRISC under different workloads. Obviously, the best way to obtain the power consumption is to obtain circuit switching activity at Gate Level or RTL (refer to MiMAPT paper) and then to feed them to the tool for power estimation. In order to do that I had to perform a Post-synthesis or Post-route simulation on the OpenRISC…
Continue Reading »

A Python script to split Google Protocol Buffer traces generated by GEM5

If you use the commMonitor module under GEM5 to log the statistics of some part of your system (like, to log total number of instructions executed by CPUs at every specific interval or ...) at the end of simulation , you will end up a very big trace file. Now you will encounter problems if you want to re-play the trace file using other tools , or move it and open it some where else. This python script , opens a generated google protocol buffer trace file, and splits it into smaller files. The files have all the standard format…
Continue Reading »

windows explorer has stopped working windows explorer is restarting keeps repeating in a loop

I have had this issue recently on my Windows 7 machine. At windows start-up or every time I was trying to open the file explorer, two dialog boxes "windows explorer has stopped working" and then "windows explorer is restarting" were shown one after another and it was continuing in a loop. I searched for the solution, and suggestions provided by other people, among them: Make sure your graphics driver is the latest Make sure your computer is clean and no virus or spy-ware is running there run the system check (the suggestion by microsoft, through which you open the command…
Continue Reading »

Ubuntu tftpd-hpa in.tftpd cannot set groups for user nobody

This has happened for me under Ubuntu 10 , but may also happen some where else. Every thing was working on my system fine, until one day I noticed that the tftp server (tftpd-hpa) is no more working. Investigating the log produced by tftpd-hpa, located in /var/ , I have found this messages being produced whenever I try to connect to the tftp server. : cannot set groups for user nobody .... Looking at the list of running processes at the same moment, I could see that nobody    2494      10636   740 ?        Ss…
Continue Reading »

Xilinx Zynq Boot Linux Over Network

Here I briefly describe how you can load the linux kernel and the rootfs image over the network to your ZED, ZC-702 and ZC-706 boards. Basically, you can load every thing to your board over JTAG cable using the XMD command console. When every thing got loaded into the board memory you can start the execution. Here is an example sequence of commands with which you can load and run the linux kernel only using JTAG. inside XMD you type: # first configure the PL , if you want! fpga -f ../ # Then connect to the ARM debugging hardware…
Continue Reading »