Skip to Content

VHDL 16BIT Decoder pentru FPGA

Acest cod foloseste algoritmul "Shift Add-3"

O sa adaug mai multe comentari umpic mai tarziu, dar s-ar putea sa ajute foarte mult pe cineva


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity bcd16 is
Port ( number : in STD_LOGIC_VECTOR (15 downto 0);
bcd : out STD_LOGIC_VECTOR (15 downto 0));
end bcd16;

architecture Behavioral of bcd16 is

begin

process(number)
variable z: std_logic_vector(32 downto 0);
begin

--initialize
z:=(others=>'0');

--set number

Functii de sistem pentru lucrul cu fisiere in Linux

 

 In sistemele de operare UNIX (deci si Linux) toate fisierele deschise sunt identificate prin descriptori de fisier. Un descriptor de fisier este un numar intreg nenegativ atribuit la deschiderea fisierului si este valabil pana la inchiderea acelui fisier.

fisiere standard deschise pentru orice proces:

SVN - cele mai folosite comenzi

Pentru ca Subversion ii una din cele mai folosite aplicatii folosite in dezvoltarea de aplicatii medii si mari, m-am gandit ca o prezentare a celor mai folosite comenzi ar fi utile.

Legenda: svn comanda(comanda scurta) [alti parametri]

svn import Cale/Lucru Cale/NumeProiect - importa repozitoriul de pe cale2
svn checkout(co) Cale/Lucru/NumeProiect
cd NumeProiect
svn help [comanda]

add Pregateste fisierele si directoarele pentru fi adaugate in repozitoriu
cat Afisiaza continutul unui fisier
checkout (co) face o copie din repository

FPGA Nexys 2 - Lista cu toate adresele(ucf file)

Pentru cei care urasc sa citeasca adresele de pe placa, le gasesc mai jos:D.

(pentru curiosi: am pus tot codul aici ca sa iti poti copia ceea ce ai nevoie fara sa mai downlodezi fisierul)

# This file is a general .ucf for Nexys2 rev A board
# To use it in a project:
# - remove or comment the lines corresponding to unused pins
# - rename the used signals according to the project

# Signals Led<7>…Led<4> are assigned to pins which change type from s3e500 to other dies using the same package
# Both versions are provided in this file.

Comenzi Unix (introducere)

Comenzile unix sunt programe lansate in executie de interpretorul de comenzi (terminal, shell). Atat in sistemele de operare unix cat si linux exista mai multe interpretoare de comenzi cum ar fi

sh
realizat de Bourne
bash
Bourne again shell

Diferente intre interpretoarele de comenzi sunt la facilitatile de programare pe care le ofera utilizatorului si la modul de prezentare al rezultatelor

Thread-uri in C/C++

Un program de test care lucreaza cu thread-uri in C/C++.

Pentru a putea rula programul este nevoie de gcc (pe Linux acesta se gaseste implicit)

Functia

int  pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);

creaza un fir de executie care se executa in paralel cu firul creator.

Dictionare (TTree) in C++

Aceasta este o implementare mai putin eficienta a dictionarelor in C++.
Daca lucrati cu stringuri in JAVA sau PHP aveti ocazia sa vedeti cam cum functioneaza mecanismul lor interior.

demo.cpp

// demo.cpp
#include <iostream>
#include "TTree.h"

using namespace std;

void main()
{
	TTree tree;
	char buf[512];
	char opt;
	do
	{

Aceasta este o implementare mai putin eficienta a dictionarelor in C++.
Daca lucrati cu stringuri in JAVA sau PHP aveti ocazia sa vedeti cam cum functioneaza mecanismul lor interior.

demo.cpp
{syntaxhighlighter brush:cpp;collapse:true;}
// demo.cpp
#include
#include "TTree.h"

using namespace std;

void main()
{
TTree tree;
char buf[512];
char opt;
do
{
cout<<"V - face dictionarul vid\n";
cout<<"A - adauga un cuvant\n";
cout<<"S - suprima un cuvant\n";
cout<<"C - verifica apartenenta unui cuvant\n";
cout<<"L - listeaza cuvintele\n";

Arbori B (BTree) in C++

Un mic demo pentru BTree sau Arbori B. Citirea nu este facuta din fisier de data asta, dar nu e un lucru prea important, daca intelegi programul sigur nu o sa ai probleme cu asa ceva :D

demo.cpp

// demo.cpp
#define _CRT_SECURE_NO_WARNINGS



#include <iostream>
#include <stdio.h>

using namespace std;



#include "BTree.h"

Un mic demo pentru BTree sau Arbori B. Citirea nu este facuta din fisier de data asta, dar nu e un lucru prea important, daca intelegi programul sigur nu o sa ai probleme cu asa ceva :D

demo.cpp
{syntaxhighlighter brush:cpp;collapse:true;}
// demo.cpp
#define _CRT_SECURE_NO_WARNINGS

#include
#include

using namespace std;

#include "BTree.h"

void CitireFisier(BTree * arb)
{
// fisierul este citit linie cu linie, continutul fiecarei linii este adaugat in arbore
char buf[513];
FILE *f = fopen("numefis.txt", "r");

if(f == NULL)

Arbori Huffman si Arbori Ponderati in C++

Aici e un pic mai mult, programul contine doua clase ArboreHuffman si ArborePonderat si cu ajutorul lor realizeaza o forma foarte simpla de codificare (programul poate fi modificat pentru a fi un arhivator). Ca deobicei codul este in C++ si foloseste alocare dinamica a memoriei.

demo.cpp

Aici e un pic mai mult, programul contine doua clase ArboreHuffman si ArborePonderat si cu ajutorul lor realizeaza o forma foarte simpla de codificare (programul poate fi modificat pentru a fi un arhivator). Ca deobicei codul este in C++ si foloseste alocare dinamica a memoriei.

demo.cpp
{syntaxhighlighter brush:cpp;collapse:true;}
// demo.cpp

#define _CRT_SECURE_NO_WARNINGS

#include
#include
#include "liste.h"
#include "ArborePonderat.h"
#include "ArboreHuffman.h"

void AdaugaNodPonderatInLista(LISTA & noduri, char * cheie)
{

Arbori AVL in C/C++

Un mic demo care lucreaza cu arbori AVL. Programul este scris in C++ (foloseste clase si alocarea dinamica a memoriei)

demo2.cpp

// demo2.cpp
#include <iostream>
#include <fstream>
#include "AVL.h"

using namespace std;

bool CitesteFisier(AVL &arb)
{
	ifstream fin("noduri.txt", ios::in);
	if(fin.fail())
		return false;
	//	citim
	int cheie;
	while(!fin.eof())
	{
		fin>>cheie;
	

Un mic demo care lucreaza cu arbori AVL. Programul este scris in C++ (foloseste clase si alocarea dinamica a memoriei)

demo2.cpp
{syntaxhighlighter brush: cpp}
// demo2.cpp
#include
#include
#include "AVL.h"

using namespace std;

bool CitesteFisier(AVL &arb)
{
ifstream fin("noduri.txt", ios::in);
if(fin.fail())
return false;
// citim
int cheie;
while(!fin.eof())
{
fin>>cheie;
cout< arb.Adauga(cheie);
}

fin.close();
return true;
}

void main()
{
AVL arb;

int cheie;
char opt;
do
{

Syndicate content