Advertisement
AntonioVillanueva

Ejercicio Libre VHDL 4.5 UAB COURSERA

Mar 5th, 2016
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. //compilacion g++ -std=c++11 -o NombreEjecutable NombreFuente.cpp
  2. //Ejercicio libre VHDL 4.5
  3. #include <iostream>
  4. #include  <iomanip>
  5. using namespace std;
  6. #define max 0x0F
  7. int main(){
  8.     //int a(0x1F),b(0x31),dif(0),neg(0);//Condiciones iniciales Hexadecimal
  9.     int a(0b00011111),b(0b00110001),dif(0),neg(0);//Condiciones iniciales binario
  10.    
  11.     for (int time=0;time <360;time+=50){//incrementa el tiempo de 50ns en 50ns
  12.        
  13.         //Simula el paso del tiempo
  14.         if (time == 100){b=0b00101011;} // 0x2B wait for 100 ns
  15.         if (time == 200){b=0b00011011;} // 0x1B wait for 100 ns
  16.         if (time == 300){b=0b00001110;} // 0x0E wait for 100 ns    
  17. //BEGIN
  18.         if (a>= b+max) {dif=max ;neg=0;}
  19.             else if (a>=b ){dif=(b-a);neg=0;}
  20.                 else if (b <= a+max) {dif =b-a; neg=1;}
  21.                     else {dif=max ; neg=1;}
  22. //END PROCESS
  23.                    
  24.         //if (dif <0){ cout <<"!" ;dif=~dif; dif++;} //muestra numero negativo , complemento a 2 , mas 1
  25.                    
  26.         cout <<"Time = " << std::dec<< time <<std::hex<<"ns \t dif = " << setfill('0') << setw(2)<<(dif & 0xFF)<<endl;
  27.                    
  28.     }  
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement