Clock Edge notation

I'm not implementing RLE or Huffman in this project, but I'm aware
that this is where much of the compression do take place. I will as I
said, get lots of 0's and this can be compressed further. It might be
the next step, but it is out of scope for my undergrad. engineering
project.

Thanks to all for their contributions anyway!

Dan
 
Bryan -

Maybe I'm jaded since I'm a consultant, but a lot of engineers just
don't
understand subtle issues like clock domain crossing. I've had to clean
up so many bugs in this area that I can't count them all. Just when
you think
you've seen every way to send signals between clock domains
incorrectly,
a new way is invented.

Same comments on signal integrity issues. Too many designers still
think
the world is only 1's and 0's. Reflections? Crosstalk? What are
those?

Sorry for the minor rant, but if Xilinx can make async fifos easier,
maybe
the average designer can make reliable designs.

Yes, for custom case, you can may be able to create a smaller, more
optimized
design for a specific application, but for some engineers there effort
may be
better spent on the core of their design rather than re-creating a low
level
design block.

Peter - thanks for all the great input you have in this newsgroup!

John P
 
jahaya@gmail.com wrote:
Hello Folks,

I have below mentiond code which is used to convert a 16bit vector to
serial data at each rising edge. I am not getting the expected output
at signal D_out,can somebody tel me where is the mistake?

Regards,
ALI

-------------------------------------------------------------------
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
-------------------------------------------------------------------
ENTITY PTOS IS
PORT
(
CLK : IN STD_LOGIC;
RST : IN STD_LOGIC;
LOAD : IN STD_LOGIC;
D_IN : IN STD_LOGIC_VECTOR(15 DOWNTO 0);
D_OUT : OUT STD_LOGIC
);
END PTOS;
-----------------------------------------------------------------
ARCHITECTURE ARCH_PTOS OF PTOS IS
-----------------------------------------------------------------
SIGNAL INT_DATA : STD_LOGIC_VECTOR(15 DOWNTO 0);
-----------------------------------------------------------------
BEGIN

PROC_INP : PROCESS (CLK,LOAD,D_IN)
Why are LOAD and D_IN on the sensitivity list but RST is not?


BEGIN
IF RST = '0' THEN
INT_DATA <= (OTHERS => '0');
ELSIF (CLK'EVENT AND CLK = '1') THEN
IF (LOAD = '1') THEN
INT_DATA <= D_IN;
ELSE
INT_DATA <= (OTHERS =>'0');
Why are you clearing INT_DATA if LOAD is not asserted?

Now that you've successfully cleared INT_DATA, you assign a zero to
D_OUT:

D_OUT <= INT_DATA(15);
I imagine that your output signal D_OUT is always 0, right?

And this assignment is essentially ignored:

INT_DATA(15 DOWNTO 1) <= INT_DATA(14 DOWNTO 0);

END IF;
END PROCESS PROCESS_INP;
-----------------------------------------------------------------
END ARCH_PTOS;
-----------------------------------------------------------------
-a
 
tgschwind@tiscalinet.ch a écrit :

I got a piece of VHDL which I cannot compile it with ModelSim 6.0 SE,
when calling vcom I get the error: "Cannot call subprogram "to_analog"
before it is elaborated."

As I have understand it is because the the function is used after it
was declaread, but before it was actually writen in the package. See
code:
[...]
Correct.

If there an option in ModelSim to allow such a programming, or do I
have to change it. It works under NCSim.
No, you'd better to change it. After all, here ModelSim closely follow
the LRM.
The best option is certainly to create a package for analog type and
the subprograms,
and another package for your constants.

JD.
 
tgschwind@tiscalinet.ch wrote:
I got a piece of VHDL which I cannot compile it with ModelSim 6.0 SE,
when calling vcom I get the error: "Cannot call subprogram "to_analog"
before it is elaborated."
So, defer the constant declarations as shown below.
This compiles fine with vcom.

-- Mike Treseler
---------------------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
package xyz_pkg is
constant PW : natural := 18;
constant IP : natural := 2;
subtype analog is std_logic_vector(PW-1 downto 0);
-- deferred constant declarations here make
-- these visible after definition in body below
constant VDDP : analog;
constant VTH : analog;
constant VDDH : analog;
constant VSS : analog;
constant GND : analog;
function to_analog (constant value : real) return analog;
function to_analog (constant value : integer) return analog;
end xyz_pkg;

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
package body xyz_pkg is
-- purpose: convert real to analog
function to_analog (constant value : real) return analog is
begin
return analog(to_signed(integer(value*(2.0**(PW-IP))), PW));
end to_analog;
-- purpose: convert integer to analog
function to_analog (constant value : integer) return analog is
begin
return analog(to_signed(value, PW));
end to_analog;
-- deferred constants definitions must follow function definition
constant VDDP : analog := to_analog(3.3);
constant VTH : analog := to_analog(1.3);
constant VDDH : analog := to_analog(5.0);
constant VSS : analog := to_analog(0.0);
constant GND : analog := to_analog(0.0);
end xyz_pkg;
 
Rafal Pietrak wrote:

Only it doesn't synthesize into a 4-bit adder with carry, but into a 5-bit
one instead. The commented-out lines are my attempt to constrain the
synthesizer to 4-bits, but it appears, that I loose carry in the process :(.
You haven't declared or used any carry_in.

I'd appreciate any hint on 'how to hint' the synthesizer, to GIVE ME THE
CARRY (my apology for the outburst :) from 4-bit adder (and not expand
the adder, as it does).
That extra bit is the carry out.

I'd like this because I plan to put this into a
CPLD with 4-bit granularity, and I'd like to make the job for place&route
as easy as possible :).
I would start by describing the logic you really want.
I doubt that synthesis needs the hints.
Here's some related examples.

http://groups.google.com/groups?q=vhdl+treseler+resize+result_len

-- Mike Treseler
 
Small addendum.

I've worked out, how to write this code fragment the way, that Xilinx
(IDE-7.1i) correctly synthesizes it (at least at the RTL-schematic level).

The synthesize is correct when I replace the "alias pair: ..." declaration
with the following signals:
----------------------------------------------------------
signal word_low : std_logic_vector(ADDR_BITS-1 downto 0); signal
word_high : std_logic_vector(ADDR_BITS-1 downto 0);
===========================================================

and assign data output as:
--------------------------------------------------------------
word_low <= addr(RAM_SIZE-1 downto 1) & '0';
word_high <= addr(RAM_SIZE-1 downto 1) & '1';

data <= (others => 'Z') when (rw = '1') or (csel = '1') else
rf(CONV_INTEGER(word_high)) & rf(CONV_INTEGER(word_low));
==============================================================

Can someone pls give me a hint on why is that so? Why
"CONV_INTEGER(<signal>)" gives correct synthesize while
"CONV_INTEGER(<signal-alias-less-one-bit>&'bit')" doesn't?????

I'm doing my first steps in VHDL, and this 'unpredictability' of
synthesize really bites me. I'd appreciate any comments.

-R

On Sat, 04 Mar 2006 15:00:54 +0100, Rafal Pietrak wrote:
Hi All!

I've just started learning VHDL and try some simple exercises. Here I have
a 'design' of a RAM-width converter: RAM that allows single byte-wide
writes, but double-byte-wide reads (byte is 5-bits here).
----------------------------------------------------------- [...library
headers omitted ....]
entity test2 is
generic ( WORD_SIZE : natural := 5;
RAM_SIZE : natural := 7);
Port ( data : inout std_logic_vector(2*WORD_SIZE-1 downto 0);
addr : in std_logic_vector(RAM_SIZE-1 downto 0); rw : in std_logic;
-- READ or WRITE csel : in std_logic); -- chip select
end test2;

architecture Behavioral of test2 is
type rft is array(2**RAM_SIZE-1 downto 0)
of std_logic_vector(WORD_SIZE-1 downto 0);
signal rf: rft;
alias pair: std_logic_vector(RAM_SIZE/2-1 downto 0)
is addr(RAM_SIZE-1 downto 1);
begin
process(csel)
begin
if rising_edge(csel) then
if rw = '1' then -- WRITE
if addr(0) = '0' then
rf(CONV_INTEGER(addr)) <= data(WORD_SIZE-1 downto 0);
else
rf(CONV_INTEGER(addr)) <= data(2*WORD_SIZE-1 downto WORD_SIZE);
end if;
end if;
end if;
end process;

data <= (others => 'Z') when (rw = '1') or (csel = '1') else
rf(CONV_INTEGER(pair & '1')) & rf(CONV_INTEGER(pair & '0'));

end Behavioral;
===============================================================
 
I found the problem :

Modelsim wasn't pointing at the right file. The other file was loading the
libraries...
 
Selkeä ja yksinkertainen kysymys päivän uutisannista:
_________________________________

A/ UFO räjähtänyt Vietnamissa. Kansa kokoilee miehen mittaisia mystisiä
paloja yhä. Jostain kumman syystä asiaa ei tutusti vaietttu? Ilmeisesti
syynä on se, että nykyään valtavasti ydinvoimalapäästöistämme ionisoituneet
taivaan kantemme pudottavat massoittain niin lentokoneita, kuin jopa "ns.
korkeamman teknologian laitteita?" Eli edes UFO:t laitteina eivä osaa tulla
toimeen tutkimansa ydinvoimapäästösäteilytappajan kanssa, kuten oli
arvattavaa!!!

B/ Immo kirjoitti näkevänsä tietokonemonitorissaan.. .mystisiä, kuten
ilmoille ilmaisi "ääniä!"? .. . Normaalilla inehmolla monitori tuottaa
enempi arkikuvia, emme saata ymmärtää kummalla puolen monitoriruutua Immon
mystery Buffo meuhaa. Mutta toki jovikkaasti dilemmalleen nauramatta osaamme
olla?. ..)


Eli tosiaan kumpa on nettiporukoista niinsanoakseni "oudompaa kuldduuria
edustava" juttu?

PS. Ehdottomasti vaihtoehto B:lle 1 bojo!
 
rickman <gnuarm@gmail.com> writes:

<snip>
If I am typing a "with" statement, I want the software to see the word
"with" and put the rest of the structure on the screen for me to fill
in the blanks. I find all the typing to be tedious and error prone,
not to mention that after all these years, I still don't have the
syntax memorized and keep a small stack of books by my elbow.
Emacs. My problem now is that I have no idea what the syntax of VHDL
is, so if I have to write some from scratch in notepad, I can't
remember how to do it! I just type "proc" hit space and then I get
asked questions to fill in the rest of the template.

Just think how nice it would be to have the editor add the appropriate
conversion function when you type an assignment between incompatible
signals. No error message telling you that you need to convert that
integer to an unsigned, it just adds the conversion!
That'd be nice, but I kind of like the idea that I have to think about
it to stop me doing stupid things.

Having it magically use the right "<=" or ":=" depending on what's to
the left of it would be neat though... and a function to convert
between variable and signal I would find handy as well. I wonder if
my elisp skillz are up to that?

I hate to use a microsoft product as an example of the "right" way to
do anything, but the version of Word that I use does a pretty good job
of completing words for me sometimes.
Again, Emacs does a reasonable job of tab-completion on most things.

Learning Emacs was (still is - it'll never stop :) one of the most
productive thigns I've ever done. Even though it felt horrible for
the first 4 weeks or so!

[Followups trimmed to VHDL only]

Cheers,
Martin

--
martin.j.thompson@trw.com
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html
 
Sorry, I thought the complete topic would be posted.

Here is the original one: (comp.arch.fpga)


I have designed a VHDL single clock FIFO with write pointer that can
either be confirmed or cleared
that is the read side of the fifo does see the write counters only
when these have been confirmed
by the write side. One application can be the confirmation of a
packet
including a checksum at the end. If the checksum is not correct the
whole packet is not released to the read side of the FIFO.
Confirmation and
clearing of the write pointer does also work while read pointer is in
progress (that is reading a packet received
and confirmed before).


Now I want to implement the same mechanism for dual clock fifo. As a
starting point I am using the Xilinx paper
"xapp131.pdf" to build a dual clock fifo. What is your opinion about
integrating that write pointer confirm / clear
mechanism into the Xilinx module ? Where do you see pitfalls on
confirming / clearing the write pointer on dual clock fifo?


Thank you for your opinion.


Rgds
Andre
 
ALuPin@web.de wrote:

I am using the Xilinx paper
"xapp131.pdf" to build a dual clock fifo. What is your opinion about
integrating that write pointer confirm / clear
mechanism into the Xilinx module ?
I would prefer to use the fast clock to synchronize
the slow interface and revert to the single clock design.

Where do you see pitfalls on
confirming / clearing the write pointer on dual clock fifo?
Logic races.

-- Mike Treseler
 
*(Ydinklingonimme on parhaillaan niin kiivaskiukkusen käärmessmörkkisiä,
ettei juuri vastattavaa löydy)). Toki syynä se, että on tullut autonkuormina
ydinvastalunta tupasiinsa oikeen ÄIJÄKAADOLLA! Ja hyvä niin, jahka saamme
myös SDP:lle viimen ikävöidyn ydinvastaisemman johdon niin ..! Noo toki
katellaan miten homma pelittää, mutta Lipposen ote puolueestaan lentää kuin
sirrilintu Katmanduun.. .)

*Vaan hei iloa irti tästä?
*Yleisön pyynnöstä alan julkaisemaan Suomen ydinaavikoitumisen
nykytilastamme kertovaa faktaa.
M.T.28.05-08. Ilmatieteen laitos.

PAIKKA SADE mm.
_________________
Helsinki
Kiikkala
Turku 3,5mm
Jormala
Pori
Niinisalo
Tampere
Jokioinen 0,2
Lahti
Utti

L.ranta 0,7
Mikkeli
Ilomantsi 1,9
Joensuu 1,3
Kuopio 1,1
Viitasaari 2,7
Jyväskylä 0,3
Ähtäri 2,0
Kauhava 0,3
Vaasa 0,5

Ylivieska 1,0
Kajaani 0,2
Ruukki 0,5
Pudasjärvi
Suomussalmi 0,4
Kuusamo 1,5
Rovaniemi 4,4
Pello 1,3
Salla
Sodankylä 1,5

Muonio
Kilpisjärvi 1,1
Ivalo
Utsjoki

*KESKIARVO= 34kpl/ 0,78mm
Keskisadantavrk. 2mm/5vrk/10mm= 7,8%

JÄI -92,2% satamatta
_________________

*Niin? Kuka oikeasti edes yllättyi, että jälleen kerran lirvahti
kevätkuukausi tuskin muutaman prosentin normisadannalla? Toki
ilmatieteenlaitos vedättää kuun lopulla pokkana, että maailma suorastaan
hukkuu vesiin. No se meitä tietysti vain valheen määrässä enää jaksaa
huvituttaa. Oikeesti siis kuka tuollaista paskaa edes viittii lukea enää,
kun jokainen ymmärtää, että ollaan ydinaavikoitumisessa kamelikyydissä jo
kohti -50% normisadannan huonompaa päätä.

*Toki on päivän selvää, ettei tilanne parane kuin ajamalla ydinmörskät
rakettikuormana aurinkoon paskaksi. Meillä meni tässä nyt mehiläiset,
matelijat, sammakot, ehkä jo ensi viikolle taas odotamme mm. ydinlauhteisiin
kuolevan meremme syytämää kaspiankampamaneetti-invaasioita. Puumme menee
näköjään paperienergiatarpeineen ankeroisille muutamassa vuodessa! No yhtä
kaikki KUKAAN ei tule sanomaan, ettenkö jo pitkään ja hartaasti varoitellut
tulevien "punasadeaikojen kauhuista". Nukkukaa hyvin kiivaat
ydinklingonimme, pian emme enää uskalla ydinaavikoitumisen edetessä kohti
vääjäämätöntä loppukliimaksiaan.(
 
Olen jopa itse hämmästynyt siitä peittelemättömästä ydinalan panikoinnista,
jota jo parhaillaan päällemme kaatuvat ydinekotuhot täällä netissä
aiheuttaa. Oli tosiaan täys ylläri miten SELKEÄSTI ydinlobbaajat lopulta
alkoivat oivaltaa ydinalan syyksi nykymaailmamme jyrääviin tuhoihin.

Mehiläistuhon massiivisuus näyttää olevan kulminaatiopiste. Eli vielä viime
vuona tänne oli aika harvat kirjoittamassa, että ydinala tulee jatkossa
tappamaan kaiki maailmamme mehiläispopulaatiot. Toki silloin asiasta
kirjoittelin. Mutta tajuavia oli prosenteissa. Nyt kun päivästä toiseen käy
JUURI kuten olen esittänyt on jotain aniharvaa ydinpoliisia lukuunottamatta
alkanut faktat upota. Jopa mehiläiskasvattajaliiton sain viimein tajuamaan,
että ydintaposta on kyse. Aiemat ydinalan disinfot vaikenivat muutamissa
päivissä. Hienoa, että reaali alkaa kinostamaan ja lyömään massoina läpi
viime vuona vielä totaalivaikenevaan lehdistöömme myös. Ilmeisesti 90%
mehiläiskato ja sitä seuraava 1/3 osan ruokakato alkaa näkyä niin kiistatta.
Ilmeisesti ydinhallintomme on menettämässä peliä koko laajuudella luonnon
tuhoamisensa tiellä. Koska TABU:ja on laajasti nyt lisää:

A/Maailmanlaajuinen ilmoitettu niin sammakkoeläinten, kuin matelijoiden
kuoleminen niinikää maailmanlaajuisesti ydinpäästöjen
tritiumsadelammikkoihin on kylmästi määrätty vaiettavaksi 100%! Aika härski
aihe, kuin sentään kansainvälisesti todettiin faktaksi toki!

B/Maailman kaikki tunnetut havumetsät tulevat kuolemaan muutamissa
lähivuosissa. Japanista, Portugalista ja Siperiasta vääjäämättä 90%
metsistämme lähivuosina tappavista millisistä mäntyankeroisista on tehty
löydöksiä peräti 40kertaa. Vain hetki enää ja ydinteollisuuden säöhkölle ei
jatkossa ole lainkaan puuta! Tarkoin on vaiettu, että Venäjän puukauppa
takkuaa sikäläisistä megametsätuholähteistä jo. Aihe on SELKEÄSTI 60v
käyttöharhoilleen suunnitelluille ydinlaitoksillemme suoraa kuolemaa! Mega
TABU! Ilman muuta.

C/Kaspian kampamaneetit ajoivat Merentutkimuslaitoksen meriämme
kartoittamasta härskimmän päälle ei edes kalastajia ulkomerillemme sallita
raportoimaan maneetti-invaasioita. Kyseessä kun on se keskeisin
kulminaatiopiste, jonka TVO:n ydinlauhdekumpuamiset tuottaa megatuhona.
Raportointiin pestataan nyt silkkana sikailuna amatöörijoukkoa muka
tutkimaan leviä vaan. Ydinhallintomme törkyilee aiheessa niin, ettei mitään
rajaa. Kampamaneettien tiedetään jo kautta maailman tukkineeen voimaloiden
massiivivesikanavistot kuin korkki pullot. Ruotsissa tilanne on jo
sellainen, että ydinvoimaloissaan on 80% pysyvät varotehonalenemat.
Pian -50%. Tai kuten Venäjällä merilauhteesta ydinalalla on PAKKO luopua,
koskei meren valtaisat jopa 7 800eläintä/m2 kokoiset tulevat
kampamaneettikannat takaa enää ikinä asiallista jäähdytettä ydinvoimaloille.
Mega-TABU
aiheena myös.

D/ Niin tämä mehiläiskato johtuu tunnetusti ydinionisaation aiheuttamasta
ionosfäärimuutoksen suunnistusharhauttamisesta. Joka siis eksyttää muuten
terveet mehiläiset pois muutoksillaan pois tutuilta pesänsä paluureiteiltä.
Tästä tabusta alkaa asiis puhti olemaan ydinalaltamme poissa, kun KAIKKI
huomaa miten kato etenee. Aiemmin tekaistut virusvalheet eivät uppoa
kansaan. Koska jopa mehiläiskasvattajat huomaavat, että suunistuksen ongelma
ja ydinvoimalan läheisyys ratkaisee suoraan mehiläisten hävikin! Siksi
massoittain TVO:n lähistöltä pelastetaan mehiläispesiä turvaan
ydinsaasteilta Itä-Suomeen. Jotkut yksinkertaiset ydinlobbarit erehtyy
luulemaan näin hetkeksi kasvaneista paikallismehiläispopuloista, että kaiki
ikäänkuin olisi kohdallaan, kuten enneen. Ei toki!(

E/ Ruotsissa on kaikien aikojen rajuimmat metsäpalot 02.06.2008. Koko
Etelä-Suomessa metsäpalovaroitus. Tippaa ei vettä olla tuttuun tyyliin saatu
oikeastaan sitten lumien. Kuka oikeasti yllättyi, että jo viime vuona
viimein jopa EU:ssa myönnetty -40% ydinaavikoituminen etenee varmasti
tappaen yhä hurjemmin. Kuka enää edes muistaa, miten mm. Portugali paloi
kokonaan superkuivuuksiinsa. Tilanne jatkuu ja pahenee. Ranskassa myös jo
viime kesänä metsää kuivettui enemmän kuin säteilyllä pilattu ydinaavikkomaa
kasvoi. Tämä vuosi on taas edellistä pahempi. Vielä koettaa toki
Ilmatieteenlaitos vedättää hiilidioksidilisääntymisen synnytämine +30%
sadantakasvuharhoineen. Pelkkä vilkaisu jo ennen varsinaista kesää kuolevaan
ja kuivettuvaan luontoomme kertoo disinfon ydinalan panikoinniksi.
Virannomaistemme luotettavuus lähenee syystä nollaa. Ydinala tappaa ja
takuuvarmasti niin kauan, kunnest tuhoaa vähintään itsensä, kenties
säteilypäästöineen koko ihmiselon mahdollisuudet myös. Ja mikä oleelista
ydinalamme TARKOIN tietää mitä ydinkauhuja saamme jatkoon nähdä säteilyjen
kiristäessä elämisen mahdollisuuksia hetki hetki, hetkeltä kaikkialta
ympäriltämme!(( ((

PS. Kuten olemme huomanneet lehtien sivut yht äkkiä täyttyvät
virannomaisuhkailuista siitä, ettei nettiin saa jatkossa enää kirjoittaa
edes näistä mitä ympärillämme tapahtuu? Tajuaako kansamme miksi? Koska
ydinhallintomme tietää, että jatkossa kyyti käy niin hirveäksi tulevine
ydinpäästöjen punasadekausineen, ettei siitä saa antaa edes
silminnäkijälausuntoja enää! Tajjuatteko, homma on täysin poissa ydinalamme
hallinnasta. Einsteinin varotukset alkavat saamaan lihaa rajusti luittensa
ympärille. Yksi on tulevassa varma ydinala vetelee syyllisinä viimeisiään!
 
*On suorastaan mielenkintoista huomata muuten miten juuri SUPO:n
poliisivaltuuksia, nettivakoilua, puhelinsalaisuuksia ja urkintalupia yhän
laajemmin erityisesti Holmlundin toimesta lisätään ydinhallinnollemma
merittäin.. .Mutta, mutta???

*Koskaan ei sen tarkemmin sanota MITEN tätä urkintaa ihan OIKEASTI
suoritetaan ja toimeenpannaan sitten näillä perustuslakirikomuksin
konkretisoiden. On tosiaan aika oleellista, että näin estetään kaikin
mahdollisin keinoin ihmisuhreja tajuamasta miten tämä vakoilemisen sähköinen
muoto toteutetaan "katutasolla". Vain kaltaiseni alan ammattilainen
toisaalta osaa hakea niitä systeemiin liittyviä "akilleen kantapäitä"! On
sanomatta selvää, että kannettaviensa akunpoisto ilman, että koneen
fyysiseen toimintaedellytykseen tulee minkäänlaista ongelmaa haittaa
SUPO/NSA porukkojen kaukolukujensa jne. toimia niinpaljon ettei sellaisia
faktoja saa julkituoda! On totta, ettei tällaisia faktoja sallittaisi sitten
suin surmin levittää kansan tietoisuuksiin, esim tänne nettiin.

*Ja koska kivaa vastaanottoa tuntuu piisaavan niin tässä lisää: Eli usein
ihmisillä on harhakäsitys siitä, että kopioimalla saa ID-koodit
häippäsemään. Kopioikaa kaksi perussivua, tai ajakaa printteriin. Siirtäkää
ne päällekkäin. Ja liu-uttakaa tuuman verran. Huomaatte miten molemmissa
kuvien reunoissa on kuin hyttysen paskapisteitä miltei samanlaisesti
sikinsokin. Nykyään ne voi olla myös esim. vain UV_valossa näkyviä
valkoisia!! Joka reunassa ja kuvan keskialueilla tämä sama CIA-koodeksi
loistaa mukanaolollaan. Siinä on siis päivämääriä, maatunuksia, koneen
omistajia ja kopiomääreitä ja vastaavia kokonaistietokirjoja. Näillä sitten
vielä vaikka kymmenkertaisísta kopioinneista kyetään täsmähakemaan koko
kirjamateriaalin reitti salaisista arkistoista flaierreihin asti.. .Eli
rakkaat lukijat muistakaa nyt myös tällaisten faktojen olemassaaolot.
Nykyinen teknikan maailma on täynään tämän tyyppisiä ydinalan
sudenkuoppameriä. Toki näihin on erinäisiä "kiertoreittejä" mutta ne osaavat
kiertää lähinnä aniharvat alan huippuosaajat.. ..!
 
: نوشتcharles_el...@my-deja.com
In article <38C76304.3994@aime.insa-tlse.fr>,
MELET Patrick <melet@aime.insa-tlse.fr> wrote:
Hello,

I'm searching a VHDL code for implement a Pseudo-Noise Code Generator.

Thanks...
--
************************************************
* Patrick MELET - Doctorant - PhD Student
* LAAS - CNRS / ERT ICARE
* 1, place Georges Brassens BP 73
* 31703 Blagnac Cedex
* France
* T�l : +33 (0)5 62 74 75 85
* Fax : +33 (0)5 62 74 75 87
* e-mail : melet@iut-blagnac.fr ou melet@laas.fr
* melet@aime.insa-tlse.fr
************************************************

I am sure there are a number of ways to do this. A relatively simple,
synthesizable way is to use a linear-feedback shift register (LFSR)
with exclusive or (XOR) feedback. If the stages to be XORed and fed
back are chosen properly, the result will produce a maximal-length
pseudorandom sequence. A maximal-length sequence for an N-bit shift
register will have (2**N) - 1 unique states. With exclusive or
feedback the all zero state is excluded--with exclusive nor feedback,
the all ones state is excluded. I have a package that I used in the
past for some testbenches that implements some functions to produce
these sequences. I never completed the package, but the functions that
I did implement are correct. If you were to make a synthesizable
register, you would probably not implement it as a function, but the
logic to produce the sequence would be very similar and can be deduced
from that for the functions. This package includes a feedback table for
registers up to 32 bits in length. The VHDL code for the package is
shown below. If you have any questions about this, please post them
here or you may e-mail me at: charles.elias@wpafb.af.mil

Charles

Note: Due to the length of the package and to reduce possibility of
typos, I did a cut and past to this posting. Unfortunately, this
sometimes causes some garbling due to the line lengths. Sorry about
this, but I think you will be able to make sense of it.

CME
------------------------------------------------------------------------
-----------------------------
-- This package implements linear-feedback shift registers configured
to produce maximal length
-- pseudorandom sequences. N is the number of stages (bits), Bits to
XOR are the bits to be XORed
-- and fed back to bit( 0 ). For example, if N = 4, OutVec( 3 ) xor
Outvec( 2 ) is fed back to
-- OutVec( 0 ). Note that the last stage is always fed back. The
fumctions are used as follows. For
-- the first call, invec can have any value except all zeros (this is
the one illegal state of the
-- LFSR it will lock up in this state). The following calls to invec
should be the outvec produced by
-- the previous call (all zeros will never -- be produced).
-- Example:
-- TestVec <= ( others => '1' );
-- for i in 1 to 10000 loop
-- TestVec <= prand16( TestVec );
-- end loop;
--
-- This code will produce 10000 different pseudorandom TestVec values
------------------------------------------------------------------------
-----------------------------

library ieee;
use ieee.std_logic_1164.all;

package pkgpseudo is

subtype bitvec16 is std_logic_vector( 15 downto 0 );
subtype bitvec15 is std_logic_vector( 14 downto 0 );
subtype bitvec14 is std_logic_vector( 13 downto 0 );
subtype bitvec13 is std_logic_vector( 12 downto 0 );
subtype bitvec12 is std_logic_vector( 11 downto 0 );
subtype bitvec11 is std_logic_vector( 10 downto 0 );
subtype bitvec10 is std_logic_vector( 9 downto 0 );
subtype bitvec9 is std_logic_vector( 8 downto 0 );
subtype bitvec8 is std_logic_vector( 7 downto 0 );
subtype bitvec7 is std_logic_vector( 6 downto 0 );
subtype bitvec6 is std_logic_vector( 5 downto 0 );
subtype bitvec5 is std_logic_vector( 4 downto 0 );
subtype bitvec4 is std_logic_vector( 3 downto 0 );
subtype bitvec3 is std_logic_vector( 2 downto 0 );

function prand16( signal invec : bitvec16 ) return bitvec16;
function prand15( signal invec : bitvec15 ) return bitvec15;
function prand14( signal invec : bitvec14 ) return bitvec14;
function prand13( signal invec : bitvec13 ) return bitvec13;
function prand12( signal invec : bitvec12 ) return bitvec12;
function prand11( signal invec : bitvec11 ) return bitvec11;
function prand10( signal invec : bitvec10 ) return bitvec10;
function prand9( signal invec : bitvec9 ) return bitvec9;
function prand8( signal invec : bitvec8 ) return bitvec8;
function prand7( signal invec : bitvec7 ) return bitvec7;
function prand6( signal invec : bitvec6 ) return bitvec6;
function prand5( signal invec : bitvec5 ) return bitvec5;
function prand4( signal invec : bitvec4 ) return bitvec4;
function prand3( signal invec : bitvec3 ) return bitvec3;

end package pkgpseudo;

library ieee;
use ieee.std_logic_1164.all;
------------------------------------------------------------------------
-----------------------------
-- N | Bits to XOR | N | Bits to XOR |
-------------------------------------------------
-- 3 | 2, 1 | 18 | 17, 10 |
-- 4 | 3, 2 | 19 | 18, 5, 1, 0 |
-- 5 | 4, 2 | 20 | 19, 16 |
-- 6 | 5, 4 | 21 | 20, 18 |
-- 7 | 6, 5 | 22 | 21, 20 |
-- 8 | 7, 5, 4, 3 | 23 | 22, 17 |
-- 9 | 8, 4 | 24 | 23, 22, 21, 16 |
-- 10 | 9, 6 | 25 | 24, 21 |
-- 11 | 10, 8 | 26 | 25, 5, 1, 0 |
-- 12 | 11, 5, 3 ,0 | 27 | 26, 4, 1, 0 |
-- 13 | 12, 3, 2, 0 | 28 | 27, 24 |
-- 14 | 13, 4, 2, 0 | 29 | 28, 26 |
-- 15 | 14, 13 | 30 | 29, 5, 3, 0 |
-- 16 | 15, 14, 12, 3 | 31 | 30, 27 |
-- 17 | 16, 13 | 32 | 31, 21, 1, 0 |
------------------------------------------------------------------------
-----------------------------
package body pkgpseudo is

function prand16( signal invec : bitvec16 ) return bitvec16 is

variable outvec : bitvec16;
variable bit0 : bit;

begin
if ( invec = "0000000000000000" ) then
outvec := ( others => '1' );
else
outvec := invec;
bit0 := outvec(15) xor outvec(14) xor outvec(12) xor outvec(3);
outvec := outvec( 14 downto 0 ) & bit0;
end if;
return outvec;
end prand16;

function prand15( signal invec : bitvec15 ) return bitvec15 is

variable outvec : bitvec15;
variable bit0 : bit;

begin
if ( invec = "000000000000000" ) then
outvec := ( others => '1' );
else
outvec := invec;
bit0 := outvec(14) xor outvec(13);
outvec := outvec( 13 downto 0 ) & bit0;
end if;
return outvec;
end prand15;

function prand14( signal invec : bitvec14 ) return bitvec14 is

variable outvec : bitvec14;
variable bit0 : bit;

begin
if ( invec = "00000000000000" ) then
outvec := ( others => '1' );
else
outvec := invec;
bit0 := outvec(13) xor outvec(4) xor outvec(2) xor outvec(0);
outvec := outvec( 13 downto 0 ) & bit0;
end if;
return outvec;
end prand14;

function prand13( signal invec : bitvec13 ) return bitvec13 is

variable outvec : bitvec13;
variable bit0 : bit;

begin
if ( invec = "0000000000000" ) then
outvec := ( others => '1' );
else
outvec := invec;
bit0 := outvec(12) xor outvec(3) xor outvec(2) xor outvec(0);
outvec := outvec( 13 downto 0 ) & bit0;
end if;
return outvec;
end prand13;



Sent via Deja.com http://www.deja.com/
Before you buy.
 
TEM TYÖ JA ELINKEINOMINISTERIÖ
________________________

Helsingissä 27. päivänä toukokuuta 2008


"Mielipiteitten esittäminen julkisuuteen nettiin valtiovallan
erityissuojeluksessa."

"Voi esittää mielipiteitä ja antaa ydinkriittisiä lausuntoja kirjallisesti
toimittamalla ne työ- ja elinkeinministeriön kirjaamoon tai ministeriön
viralliseen sähköpostiosoitteseen kuuleminen@tem.fi) viimeistään 25.07.2008.
Annetuissa lausunnoissa pyydetään viittaamaan diaarinumeroon
820/815/2008."Kaiki innolla mukaan nuijimaan ydinrikosta ihmiskuntaa vasteen
kohden lopullista päättävää Nyyrbergin oikeudenkäyntiään! Sinä, juuri sinä
laiskahkosti olutta ja naksuja ryystävä olet tähtäimessämme! Ota ikionkeesi
ja koska gallubin mukaan inhoat syvästi ydinvoimarikosta ja olet kasvavassa
2/3 osan maailmankattavan ydinvastustaiuuden syvä toivo PIRISTY! Jo YKSI
keskeinen esiin tuotu ydinhaitta voi upottaa koko läpimädän
korruptioydinlaivan pysyvästi. Tavalla, josta miljoonat lapsenlapsemme
tulevat kultaisin patsain kiittämään.

*JUURI SINÄ TÄSSÄ JA NYT. Ydinvoima on tieten tehty valtiomonopolinen
ydinsodan julistus kansaamme vastaan. Jonka estämisessä JUURI sinulla on se
tärkein ääni esittää loppumisen puolesta. EU onkin jo antanut Euroopan
laajuiset uudisenergian kasvuvaateet vuoteen 2020 +25% lisäpakottein
ydinvoimaloiden alasajoksi. Vuoteen 2050 mennessä luku taas jo tuplataan
maailman KAIKEN ydinasevarusteluenergian tappamiseksi maailman kartalta. Nyt
sinulla rakas kansalainen on oma osasi tässä taistelussasi ydinkiimaa
vastaan! Toimi tässä ja nyt. Koska syntymättömät kärsijät eivät siihen
kykene. Ydinvoima tappaa jo nyt maailmalla 7,3miljoonaa vuosittain. Aiotko
havahtua vasta kun nollia tulee lisää ja mitään ei ole enää tehtävissä?

*****************************************
**Suunnattoman sukseen ja megasuosion saavuttanut YVA-07 raporttisaetti oli
jo niin verraton setti, että kaipaa VÄLITÖNTÄ jatkoaan. Maamme brutaali
tapaa sensuroida ydinkritiikiä on synnyttänyt pahaa verta aina muistamiimme
"Lipposhaukkujaisiin" EU/Saksaa myöten. Siksi myös TEM/Posiva ja muut
huolestuneet ydinterroriepäillyvarjostuneet haluavat turvata iloksemme
Sisäministerikontroloinnin saavuttamattoman ja lehtisensuroinneista
piittaamattoman VIRALISEN YDINKRITIIKIN KANAVAN suojelukseensa! Ja koska
YVA-07 oli kiistaton kritiikinkannuksen suksee päättää siis Posiva/TEM ja
itse valtiohallinto edustajiensa (ent. KTM)Jorma Aurelan, Posivan Äikään,
Seppälän, Friiberien yms. ja vastaavien massiivisin verotukiaistuein
toimeenpaneman kamppanjakoostein aukaista JÄLLEEN ovet ydinkritiikivyörystä
saranoiltaan paiskovan vapaan ydinkritiikifoorumin! Haluatko, että SINUN
kaukoviisaan ja "Ytimekkään" ydinvastaviisautesi kylkeen tulee Suomen
karjuvan valtioleijonan vahvistama virallinen leimaus ja notuuli vapaaseen
luentaan ilman Sisäministeriestoja?

**Haluatko, että tulevassa ydinrikosoikeudenkäynnissä Haagissa ydinala
vastaa juuri SINUN esittämiin ydinrikossyytteisiin ihmisyyttä vastaan?
Varmista ihmeessä eturivin syyttäjän paikka lastemme riemuksi. Ylpeänä he
voivat kertoa olleensa syyttämässä TVO/Posivoita jo ennen syntymäänsä
kauttasi. Vielä vuosituhansien päästä varmistat materiaalisi säilymisen
historiallisena raportina ajastaikaan ja olet ikiajan kiitelty
ydinvastavirtuoosi ilman ajan hampaan purentaa. Kaiken tämän, ja paljon
enemmän juuri sinulle haluaa ydinhallintomme/TEM taata kätösinsä vaivojaan
säästämättä. Kaikki intomiellä mukaan. Ydinala pyytää raippoja, ennenkaikkea
julkista ruoskintaa ja konstailemattoman aitoja syitä ydinvastaisen Suomen
hurjaan järkiytymiseen ydinkritikitsunamein. Tällä kertaa teemamme
olkoon:"SATA VALITUSTA RIKKI, ettei TEM:n tarvitse enää huokailla H.S:n
tiedotteensa mitättömänpienin alle sadan valituksin!"
*********************************
 
*On suorastaan mielenkintoista huomata muuten miten juuri SUPO:n
poliisivaltuuksia, nettivakoilua, puhelinsalaisuuksia ja urkintalupia yhän
laajemmin erityisesti Holmlundin toimesta lisätään ydinhallinnollemma
merittäin.. .Mutta, mutta???

*Koskaan ei sen tarkemmin sanota MITEN tätä urkintaa ihan OIKEASTI
suoritetaan ja toimeenpannaan sitten näillä perustuslakirikomuksin
konkretisoiden. On tosiaan aika oleellista, että näin estetään kaikin
mahdollisin keinoin ihmisuhreja tajuamasta miten tämä vakoilemisen sähköinen
muoto toteutetaan "katutasolla". Vain kaltaiseni alan ammattilainen
toisaalta osaa hakea niitä systeemiin liittyviä "akilleen kantapäitä"! On
sanomatta selvää, että kannettaviensa akunpoisto ilman, että koneen
fyysiseen toimintaedellytykseen tulee minkäänlaista ongelmaa haittaa
SUPO/NSA porukkojen kaukolukujensa jne. toimia niinpaljon ettei sellaisia
faktoja saa julkituoda! On totta, ettei tällaisia faktoja sallittaisi sitten
suin surmin levittää kansan tietoisuuksiin, esim tänne nettiin.

*Ja koska kivaa vastaanottoa tuntuu piisaavan niin tässä lisää: Eli usein
ihmisillä on harhakäsitys siitä, että kopioimalla saa ID-koodit
häippäsemään. Kopioikaa kaksi perussivua, tai ajakaa printteriin. Siirtäkää
ne päällekkäin. Ja liu-uttakaa tuuman verran. Huomaatte miten molemmissa
kuvien reunoissa on kuin hyttysen paskapisteitä miltei samanlaisesti
sikinsokin. Nykyään ne voi olla myös esim. vain UV_valossa näkyviä
valkoisia!! Joka reunassa ja kuvan keskialueilla tämä sama CIA-koodeksi
loistaa mukanaolollaan. Siinä on siis päivämääriä, maatunuksia, koneen
omistajia ja kopiomääreitä ja vastaavia kokonaistietokirjoja. Näillä sitten
vielä vaikka kymmenkertaisísta kopioinneista kyetään täsmähakemaan koko
kirjamateriaalin reitti salaisista arkistoista flaierreihin asti.. .Eli
rakkaat lukijat muistakaa nyt myös tällaisten faktojen olemassaaolot.
Nykyinen teknikan maailma on täynään tämän tyyppisiä ydinalan
sudenkuoppameriä. Toki näihin on erinäisiä "kiertoreittejä" mutta ne osaavat
kiertää lähinnä aniharvat alan huippuosaajat.. ..!
 

Welcome to EDABoard.com

Sponsor

Back
Top