From
Kamil Karimov
→
To
All
16 January 2007
Hello, Vladimir Kladov
Vla> - I can’t figure out what the prices are.
If according to Altera then www.altera.ru
There you will find the price list for all available components.
From
Alexander Zan
→
To
All
16 January 2007
Hello, Vladimir Kladov
I have such suspicions that you want to bring Spec256 to life ;)
IMHO - Altera DE1 is suitable for both teaching and experimentation
and for the final implementation.
ZY My religious fanaticism seems to be more towards Altera :D
From
Vladimir Kladov
→
To
All
16 January 2007
Hello icebear
Yes, there are prices on Altera, I was confused, including in terms of which is better
choose that there is no such certainty about xilinx (plis.ru). "Price
getting ready" - the sign has probably been hanging since the beginning of the year.
I have already chosen the language (verilog, of course, I have no brain for complex constructions
is no longer enough). The software, however, has not yet arrived - I myself can’t download it via dial-up
I take it, a lot. I asked, they will do it. I'm still struggling with Max+ 2 something.
(the interface is clearly from 1996, judging by the dialogues and the terrible text editor)
and the crooked Veritac. Well, I’ve made an emulator for the PC so far, check what
percent will generally work (and there will be enough commands for all), we have to do it somehow.
Books are hard. I thought I’d find something on the counter, but it’s generally complete
bummer. What I found on the Internet will not be enough. Okay, I'll figure it out
somehow. I’ll go to a top book this week, I’ll be scared by the prices there.
Maybe I’ll find a newer tome within 1000 wooden ones.
Wait a while with the board... Really, what's the rush? I might need a year
complete the project, and then lo and behold, newer and cheaper chips will fit, and
boards for them... Thanks for the advice.
From
Vladimir Kladov
→
To
All
16 January 2007
Hello, Vladimir Kladov
no, Z80 is the 20th century and all x86s and RISCs... I have a completely different architecture
formed in my head. And there are a lot of ideas for parallelization, or rather for
asynchronous execution of instructions (not in the asynchronous sense that there is
in mind when programming FPGAs, for simplicity I am going to do everything
synchronous. It's just that an instruction that came later can begin to be executed
earlier or simultaneously with those who arrived earlier - as the operands are ready). B
In general, this is not speckrum at all, not risk, not x86. And the main idea is memory protection
accurate to 4 bytes, + complete isolation of both stacks - computational and
returns/exceptions. The program will not have access to them as memory. Like this.
From
Dmitry Demyanenko
→
To
All
17 January 2007
Hello, Vladimir Kladov
Here you need to have a fairly deep knowledge of the architecture of state machines and
decomposition of operational and control blocks, in short, from the beginning
build a mathematical model so that all the shortcomings surface as in the language
where all commands are executed in parallel it is pointless
From
Dmitry Malychev
→
To
All
17 January 2007
Hello, Vladimir Kladov
Vla> this is not speckrum at all, not risk, not x86. And the main idea is protection
Vla> memory with an accuracy of 4 bytes, + complete isolation of both stacks -
Vla> computational and returns/exceptions
Fort processor?
From
Vladimir Kladov
→
To
All
17 January 2007
Hello Lethargeek
not really a fort. I only take the principle of stacks from him. Another principle
“everything is available to a programmer” I completely reject. Everything is available in x86 too. Yes so
it is accessible that there is nowhere else to go.
I made a model. We know how to write emulators :). I have a good parallel
thinking at the level of intuition. Build a mat. model - no longer needed, its better
keep it in mind, it’s easier to immediately model it in verilog. Actually I don't
circuit designer But once upon a time I had the good fortune to get acquainted with the basics. What is
RS trigger or inverter, I imagine. With large logic such as registers or
The more I can figure out the adders. My problems start when it happens
reaches the soldering iron and solder. But I don’t set myself such a task. Moreover
that now (it turns out) you can do iron training while being full of iron
lamer (in the sense of running this thing on a test board from the manufacturer, in
real hardware, without even being able to correctly count the legs of a microcircuit :)).
From
Vladimir Kladov
→
To
All
20 January 2007
Hello, Vladimir Kladov
Interesting things are written about Lattice FPGA. Fast, inexpensive, and memory 5 times greater
more on board. I was especially pleased with the support for DDR SDRAM on board. Narld,
do you use it? Or, once you’ve become imbued with an alter, you don’t look around?
From
Vladimir Kladov
→
To
All
20 January 2007
Hello hero
her> Any more or less modern FPGA has DDR SDRAM
her> take the crust and that’s where the actions end
her> and for Lattice programmers cost crazy money
Oh, well, it’s expensive for piece production. And for large-scale production
Actually, I don't care. Okay, as soon as I switch to large-scale production, I will definitely
I remember :v2_wink2:
From
Dmitry Demyanenko
→
To
All
20 January 2007
Hello, Vladimir Kladov
Any more or less modern FPGA has DDR SDRAM
take the crust and that's the end of the action
and for Lattice programmers cost crazy money
From
Sergey Istomin
→
To
All
22 January 2007
Hello, Vladimir Kladov
Vla> I don’t know what to choose. Firstly, which company is better to start with.
Vla> For reasons of convenience, I would like a development tool. Which is better -
Vla> Quartus alter or ISE xylinx?
I may not discover America, but I think in this case the resource will be useful
http://iosifk.narod.ru/articles.html
There are several articles about creating a fort-like microprocessor "with your own
hands" in FPGA. Articles were published in the journal "Components and Technologies",
posted on their author's page.
As an example, a project based on Altera, the AlteraHDL language, and the package
MaxPlus. The author of the articles considers AlteraHDL more accessible, and the transition from it to
other languages are simpler.
Vla> Secret from the processor device (no name yet, just made up
Vla> names are hard) I don’t do it. I update the description regularly
In my opinion, for the initial project the architecture is “overweight” with innovations and
bells and whistles like the presence of hardware floating point calculations in it.
It seems to me that it would be more promising to pay attention to massive parallelism
in an array of simpler nodes, with a very large number of them (nodes).
http://www.lenta.ru/news/2006/11/07/multicore/
I had ideas of trying to experiment with these in a simulator. Costack language like fort on a node scale and in perspective with an explicit language
Occam-type parallelism for the system.
Unfortunately, things didn’t go further than ideas. :v2_down:
From
Vladimir Kladov
→
To
All
22 January 2007
Hello Jenner
I've read it a long time ago. There is AHDL, which is time to retire. Somehow it’s clear, but to me
I didn’t like it, I prefer verilog.
Real - optional. Naturally, it won’t be in younger models. I
I’ll probably start with a 16-bit data model (but the addresses are 32). I'm not very
It’s interesting to make even a simple conveyor. I want to do it asynchronously
execution, BESM-6 principle (water supply != conveyor!). No, I don’t want an array. I love you
classics. (You yourself reproach that there are too many innovations. Massive computing
- this is such an innovation for me that the only innovations further are quantum ones
calculations...)
From
Vladimir Kladov
→
To
All
22 January 2007
Hello, Vladimir Kladov
As I understand it, it’s just an ancient development (wow, time flies - 5 years, it’s already ancient!).
Back then the chips were smaller and slower. And now - Lattice - 800MHz, inside PCI,
Ethernet, flash for firmware, and whatnot. The Pentium just didn't
Enough to do... And even enough - in a stripped-down form, but there’s no need for it. For
Sucks and a dump of rubbish!
From
Dmitry Demyanenko
→
To
All
22 January 2007
Hello, Vladimir Kladov
Vla> And now - Lattice - 800MHz
This is the trigger switching time if you have 2 sequential operating frequencies
400 MHz and if there are a couple more LUTs, the differences between their synchronization inputs +
delays of the tracing resource, then we can hope for a maximum of 300, let’s say then
MAX3128-10 operating frequency of the macrocell is 100 MHz (even more than 175), then let’s say
in ULA for 64 Macrocells, the operating frequency of the maximum current chain is 9 MHz (the highest
the far corner turned out - the formation of the FLASH signal), but since those nodes where
nada 14 MHz work at 14 safely (taking into account all the latches, counters and
multiplexers) and FLASH if it is delayed by half a clock cycle is not scary, then
we can say that the circuit operates stably at 14 MHz
Here's an even more brutal example:
EP2C5, whose macrocells easily operate at 380 MHz - I stuck an ARM7 in there
kernel as a result after calculating all latencies (optimization was set to
size) ARM operating frequency turned out to be just under 3 MHz, and this is one of the most
linear processors
From
Dmitry Demyanenko
→
To
All
22 January 2007
Hello, Vladimir Kladov
For me, AHDL is finally not a language for describing hardware, but a text representation
circuits, nothing seriously can be implemented on it
From
Vlad Novitsky
→
To
All
23 January 2007
Hello, Vladimir Kladov
A bit off topic and excuse me, I have an Altera EPX740LC68-10Z. What kind of miracle is this?
From
Vladimir Kladov
→
To
All
23 January 2007
Hello hero
what does 2 consecutive mean? Am I a fool or what, sequential triggers
connect? The trigger must switch once per clock cycle, and that’s it. That's why, my friend,
the conveyor exists. Now I’m just making, I think, a conveyor for the allocation queue
numbers for free "hangers in the wardrobe" (narrow resource - operating rooms
cells, 8 of them must be given to the command conveyor at each clock cycle, and
accordingly, take from those who no longer need it). It turns out 5 stages
conveyor, but the work of 8 cloakroom attendants at the same time is guaranteed, on each
Up to 8 coats were issued, up to 8 coats were accepted. (One bad thing - I can’t imagine
for now, how many lutes and valves it will be - for 128 numbers, for example, there
32 muxa mixers for 4 inputs on the lower stage, 32 muxa mixers on 2m, then 8 + 8
approximately according to the same scheme, but there are still return lines for re-liberation
unaccepted coats, and the 7-bit numbers themselves must be pushed on the tires
forward...).
ARM7 is actually G. There the conveyor skips stages and works smoothly
sequentially. Each clock cycle can only be executed by 4 different ones at the same time
conveyor stages. I want to make it run from 4 to 16 commands
simultaneously, and in average mode, 4 operations were performed per clock cycle. The conveyor is very
long, and with asynchronous execution of operations: a command that comes later can
finish your business earlier, dependencies are determined automatically. For this IRemoved the very concept of checkboxes. Okay, did I give you a link? Gave. I want to sleep...
I trusted for the day.
From
Dmitry Demyanenko
→
To
All
23 January 2007
Hello, Vladimir Kladov
Well, I mean that the conveyor is the only way to increase
frequencies, the higher the signal chain, the naturally higher the frequency. But
Long conveyor belts, you think, and without me you know, there are also disadvantages.
PS: I’m very strong about user-controlled (compiler) parallelism
E2K reminded Babayan, you probably can’t think of a simpler way to resolve
data communications and the possibility of parallel execution of commands.
From
Vladimir Kladov
→
To
All
24 January 2007
Hello, Vladimir Kladov
I know. I'm waiting for the disc to arrive. While I looked at the protel. VHDL, although the one who gave it,
said that Verilog. However, I already suspected that something was wrong: he doesn’t know
differences between Verilog HDL and VHDL.
Does ActiveHDL translate to C/Delphi?
From
Dmitry Demyanenko
→
To
All
24 January 2007
Hello, Vladimir Kladov
Vla> Does ActiveHDL translate to C/Delphi?
No, you write it yourself (although there is a rather interesting SystemC event, like it
have already been brought to the point of being synthesized) but this is when the project becomes sufficient
big, let’s say when you have one processor cycle and it will be simulated for 2 minutes
then there will be nothing else left, and the native FPGA does not have such ease of debugging
as in environments when after fixing == to != there is no need to recompile the entire project
and re-upload it to the debugging kit.
From
Dmitry Demyanenko
→
To
All
24 January 2007
Hello, Vladimir Kladov
If you want a convenient writing environment and the fastest process simulation, then
you need Active-HDL, but if you seriously want to simulate it as quickly as possible then
you can transfer fully debugged blocks to C (or possible to Delphi) and
connect them as PLI and using testbenches you can compare their behavior
From
Vladimir Kladov
→
To
All
25 January 2007
Hello hero
her> No, you write it yourself (although there is a rather interesting SystemC event,
her> It seems that it has already been brought to the point of being synthesized) but this is already when the project
her> becomes quite large, say when you have one bar
her> the processor will be simulated for 2 minutes, then nothing else
her> will remain, but the native FPGA does not have the same debugging convenience as in
her> environments when after fixing == to != there is no need to recompile the whole
her> project and re-upload it to the debug kit.
I can’t imagine what it’s like myself. I can make a logical emulator myself (actually
already). There is icarus verilog - it can automatically create a C-model. But with him
It’s inconvenient to work with: command line, I don’t really like it. But if the need arises, I’ll be there
use.
From
Andrey Alexandrovich Titov
→
To
All
25 January 2007
Hello, Vladimir Kladov
Vla> I will have many different conveyors (I’ve already counted 6), and from them
Vla> only 1 - instruction pipeline, may cause suspension due to
Vla> transitions (and the rest click without a break, if there is something to do
Vla> work).
Of course, it's probably interesting to create your own processor, but it's interesting
What is fundamentally supposed to be new in it? Conveyors of all stripes and types
have been used everywhere for a long time. Moreover, from automatic (at the Dispatch level
Unit) out-of-order command execution in new processors begins to fail,
shifting this task partially to compilers, which compilers cope with
much better than it would have been done on the fly. An example would be
the same new Cell processor from PS3.
From
Vladimir Kladov
→
To
All
25 January 2007
Hello Titus
I told you what's new. Memory protection up to 4 bytes. Also, I'm interested in
put everything you need into one chip: video, sound, interfaces, and make the most
cheapest, smallest and most reliable celeron class computer (i.e. also
the fastest of the classical soft processors). And then, I go on and on,
Taldychu: I DO NOT HAVE A CONVEYOR, I HAVE A WATER PIPELINE.
I've already heard about CELL. It was not possible to adapt Linux for it in a normal way.
The coprocessors remained unused, all 8. Only the main one works. This
called: compilers "cope". Writing a good compiler now
more expensive than developing hardware that optimizes the program on the fly.
How many languages are there in the world, do you know? For everyone to write optimized compilers -
How many programmers do you need? There aren't that many of them...
From
Andrey Alexandrovich Titov
→
To
All
25 January 2007
Hello, Vladimir Kladov
Vla> I told you what’s new. Memory protection up to 4 bytes. Besides me
Vla> is interested in putting everything you need into one chip: video, sound,
Vla> interfaces, and make the cheapest, smallest and most reliable
Vla> celeron class computer (i.e. also the fastest of the soft processors
Vla> classical type). And then, I go on and on: I DO NOT HAVE A CONVEYOR,
Vla> and WATER PIPELINE.
Almost a utopian task)))
Not to mention the fact that if it remains in the FPGA, then it is unlikely that it will
cheap. And to make fun of production in silicon... this is generally UNREAL
I also don’t understand how a water pipe differs from a conveyor (according to the description
purely a conveyor ;-)). And therefore the performance is standard for systems
this type.
From
Dmitry Demyanenko
→
To
All
25 January 2007
Hello, Vladimir Kladov
What's the point of 4 bytes of protection?
It seems like 4Kb is quite a convenient value, anyway, there is no severe fragmentation right now.
It would be more interesting to have hardware heap management and out-of-bounds control
dedicated area, such as goodbye holes associated with buffer overflow, and also
it would be more fun to include in the descriptor of the selected area in addition to the address and size
a data type was also stored, such that the processor would drop out in Trap when not
(designed in a special way) access to the cell in which it is stored
pointer as to a real number. It would also be useful for operating systems in
this descriptor stores the sign of modification, and the sign falls into
debugging with a certain type of access.
PS: Oh, we’re offtopic too :)
From
Vladimir Kladov
→
To
All
25 January 2007
Hello hero
The point is that programs written with errors and accessing the WRONG WHERE
within OWN heap, they fell immediately, even from the programmer, and not from the user. What if
fell on the user, so that it was visible not the place where the program “hit”, but
the place _from_ where she got there. And no more buffer overflows. And if in
within 4K, then it won’t give anything, just as it doesn’t give anything now.
Hardware heap management is exactly what I provide. I believe that
many programs slow down precisely on this. But to confuse real and
whole - just let the translator figure it out. If the language is normal, there
There are no such problems (almost none). This is in C - you're always welcome. Well, don't write like that
on S.
A pipeline is when all commands go through the same stages of execution.
Let's say 6 or 8 or even 20. If some team does not need the stage, it
lets her through. If one is delayed, the entire conveyor is held back.
Plumbing is when each team works independently (as much as possible).
In the water supply it may happen that the one who comes later will do her business earlier
(if it does not depend on the previous ones). I have a problem identifying dependencies
can be solved in hardware and in very simple ways.
Utopian, of course. But sometimes it happens, a miracle happens...
From
deathsoft
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> In the water supply it may happen that someone who comes later will do her own
Vla> things to do before
Intel has implemented this starting with the Pentium Pro, it’s called out of order
execution. The usual pipeline is used, plus register renaming
(several hidden register files) and several modules with ALU and
branch prediction.
A protection granularity of 4 bytes will result in half of the memory being
occupy a block attribute table (RWX or something similar). Not for nothing on new ones
processors (starting from Pentium) made support for 2MB and 4MB pages (in order to
so that the page table takes up as little memory as possible).
From
deathsoft
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> where the program “got”, and the place _from_ where it got there
Well, this problem can be solved in an elementary way (either a stack trace for call, or
FIFO transitions as done in DSP TMS320VC5502 for debugging purposes (remembered
about 20-30 transitions and cycles)).
From
Andrey Alexandrovich Titov
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> A pipeline is when all teams go through the same stages
Vla> execution. Let's say 6 or 8 or even 20. If some team has a stage
Vla> is not needed, it skips it. If some are delayed,
Vla> adheres to the entire pipeline. Plumbing is when each team
Vla> works independently (as much as possible). In the water supply it may
Vla> it may happen that the one who comes later will do her business earlier (if not
Vla> depends on the previous ones). I have a problem identifying the dependency
Vla> is solved in hardware, and in very simple ways...
What you call a water pipeline is an ordinary conveyor that has been in use for a long time
:-) And out-of-order execution of commands is its usual feature :-)
From
deathsoft
→
To
All
26 January 2007
Hello Titus
Tit> water supply
water supply in English - pipe and conveyor also in English pipe
From
deathsoft
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> I just don’t understand, but what does all these MSRs have to do with it? What's the use of them - if
Vla> is just a means of obtaining information about the capabilities of the equipment
Read the original source (Intel processor manual volume 3 (from the Intel website)),
and not a Russian translation by someone unknown. In the MSR register area there is an area of
16-32 registers that remember the last 16-32 transitions (all types
transitions call/jmp/int, etc.), you can’t just use it,
because the Page Fault exception handler must first save
the values of these registers (otherwise transitions that
occur inside the handler).
Well, regarding 100,000 lines of code, I can only say one thing: on the computer the code
debugging is much easier than, for example, in an embedded system on TMS (which has
there is no memory protection at all) and besides the JTAG emulator there are no means of communicating with
the outside world (no monitor or keyboard).
I am developing kernel mode drivers (for systems based on the NT kernel) and source code there
about 1MB, but this doesn’t stop me from finding and correcting errors. Most
errors can be corrected based on purely theoretical principles. The rest with
using control code (asserts) and all sorts of debuggers and tools like
checker bounds.It is clear that it is very difficult to write code without errors, but for this purpose
There are all sorts of different debugging techniques to correct errors, including
elusive.
From
deathsoft
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> Kolya already, otherwise my situation with the program turned out exactly like this -
Vla> had to postpone the project for a long time
There's DevPartner Studio (formerly BoundsChecker) for this.
From
deathsoft
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> Memory - exactly 2 times more is needed.
Well, this is wildly not optimal. It's like Bill Gates promoting his everywhere
BASIC and C# (although these are wildly slow and a huge waste of memory, in
As a result, any computer runs at 386 speed). Remember algorithms
from Knuth's books (everything there was optimal and written in assembler).
From
deathsoft
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> multi-threaded task (> 5 threads)
Moreover, DevPartner allows you to detect deathlocks in multi-threaded programs,
and does it quite effectively.
From
deathsoft
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> this is a paid thing
Well, free - just cheese in a mousetrap. Delphi is also a paid product. And anyone
software for development for alter - too (and costs a lot of money).
From
deathsoft
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> this is a paid thing. And I tried it. She can't do anything. In this
Vla> situation - nothing. I don’t know where she is, what I need to tell her so that she
Vla> indicated where the legs grew from. Yes, I forgot to say: the task is multi-threaded
Vla> (> 5 threads), and it’s generally unclear in which thread the crash occurred.
In order for all checks to work, you need to compile with its library (for MSVC)
older versions also supported Delphi, there was BoundChecker Delphi edition. At the same time
Errors are caught up to a specified number of bytes. The technology is very simple,
before calling the function, the arrays and stack are filled with a pattern, then this pattern
it is checked, if there were overflows - this is immediately detected.
The problem, as always, is not in the hardware, but in crooked programmers, what a good thing
don’t make hardware and there will be those who will write a program that will work
with glitches on the most fault-tolerant hardware. People used to program on ASMA
and identified all the errors, but now they cannot identify errors in the nuclear power plant (although this is on
the order is simpler).
Mostly the presence of difficult-to-debug errors in the program,
determined by programming style. I have one domestic book
(back in the 60s), called “Individual debugging of programs”, there’s about it
very well written. The book is still relevant today.
From
deathsoft
→
To
All
26 January 2007
Hello, Vladimir Kladov
Vla> is this in the PC?
Yes, it is in all processors starting from the Pentium Pro (see Intel's document on the process
3)
From
Vladimir Kladov
→
To
All
26 January 2007
Hello deathsoft
dea> Use MSR registers that have trace fifo as in TMS (at 8
dea> or 16 transitions depending on the processor model)
Where can I get this? Is it available at the PC? How to use it? If you have already, otherwise I have
The situation with the program turned out exactly like this - I had to postpone the project for a long time (no,
not EmuZWin, everything is fine with him, just no time).
If about this:
Model-Specific Registers Model-specific registers.
These registers provide a means of software communication with the microarchitecture
processor, all the most important settings that can be changed programmatically are located
right there.
RDMSR and WRMSR Commands
The RDMSR (ReaD from Model Specific Register) command reads from
MSR register. The command's action is to check two conditions: first,
the presence of a zero privilege level of the code is checked, secondly,
the presence in the ECX register of a value that addresses one of the MSR registers is checked.
If at least one of these conditions is not met, then executing the RDMSR command
ends. If both conditions are met, then the value of the MSR register,
addressed by the contents of the ECX register, placed in a pair of 32-bit registers
EDX:EAX.
then this is unlikely to help.
From
Vladimir Kladov
→
To
All
26 January 2007
Hello deathsoft
Yes, of course, not optimal. Storing boolean in a byte is also not optimal. You know,
What is actually NOT OPTIMAL? It is not optimal to not be able to find
maximum errors in the program before it freezes and freezes the system. Not
optimally - force programmers to look for bugs that could manifest themselves
themselves, and say - “here is a mistake.” It’s not optimal to try to make a non-holey one
the axis is on iron that is leaky by definition (see the Singularity project).
From
Vladimir Kladov
→
To
All
26 January 2007
Hello deathsoft
The project is in Pascal, but who cares. The pattern method does not work. Checked and
other means that fill everything with a pattern. (I just don’t understand, but when
Why are there all sorts of MSRs? What's the use of them - if it's just a means to get
information about the capabilities of the equipment). There is a very deep, induced error there. And
probably not even mine, but in one of the graphics libraries. Crooked programmers
you say? You try to write 100,000 stock codes without errors, but I
I'll take a look. A good mistake is one that immediately leads to a failure. But there are bad ones
errors. The function works fine, nothing happens. At first glance,
both on the second and on the tenth. But somewhere in memory it does something wrong. And later
minutes of long execution, another function elsewhere starts calling
data, but they are somehow not the same. It is impossible to foresee all cases, and the program with
falls with a roar. Now try to guess which of the 10,000 functions is not something
takes into account. These are not crooked hands of programmers. This is lazy hardware + principle
"everything is available to the programmer." I believe that software development now requires
pour in more and more money and time and effort - just because there is too much
savings on hardware development. "We won't make a steam locomotive, here's 100
horses, ride wherever you want." That's how it works.
From
Vladimir Kladov
→
To
All
26 January 2007
Hello deathsoft
what table... There is no table. Just imagine - 4 bytes at the address
0000_0104H. And “under” them there are 4 bytes of descriptor, at address 1_0000_0104H. On
in fact, shadow memory with descriptors can be addressed so that
SDRAM both four are included in the same line. And there might be a group handle on
256 bytes. And I think that's enough. Memory - exactly 2 times more is needed. But
It will be easier for programmers to live - now this resource is more expensive than some kind of memory.
From
Vladimir Kladov
→
To
All
26 January 2007
Hello deathsoft
this is a paid thing. And I tried it. She can't do anything. In this situation -
nothing. I don’t know where there is, what to say to her, I need her to point out where her legs are from.
grew up. Yes, I forgot to say: the task is multi-threaded (> 5 threads), and in general
It is not clear in which flow the flight took off.
From
deathsoft
→
To
All
27 January 2007
Hello, Vladimir Kladov
Vla> Well, what does an ordinary developer (not kernel level) need from these registers
Vla> if he can use them.
So this is not a hardware problem, but a problem of crooked tools that
do not support the equipment they work on. The same SoftIce debugger
supported MSR registers, but only LastBranchFromIp and LastBranchToIp.
From
deathsoft
→
To
All
27 January 2007
Hello, Vladimir Kladov
Vla> The stack is always available to the program as an addressable space. In the same
Vla> the stack itself contains return addresses, local variables, and
Vla> parameters. The pattern method will not help here.
Well, in general, the method of patterns with a stack helps a lot, the stack is checked
after each function call, uninitialized
variables and stack overlay on the code.
New x86s have a page protection bit that allows/disables execution
code from this page, the attributes are set to RW for the stack, for data also RW, for
RX code, while writing to the pages with the code immediately leads to an exception, and
also attempt to execute data and stack.
By the way, on x86 it is possible to protect the stack, code and data, almost like in
computers with Harvard architecture - this is the use of a segment model,
when each segment is given its address and size, then when there is overflow
stack, a Stack Fault exception is thrown. Nobody uses this because
that writing a compiler for the segment model is 100 times more difficult, so everywhere
use a simplified FLAT model. In its test multitasking OS, which
I wrote in assembler, I used segment level protection and all 3 rings
protection (just to see what advantages this gives),error protection increases significantly, but compilers that support this
no, and of the OS only OS/2 supported privilege levels 0, 2 and 3, all others
The OS only supports 0 and 3.
From
Vladimir Kladov
→
To
All
27 January 2007
Hello, Vladimir Kladov
Well, I received Quartus II 6.1. I haven’t figured out yet whether it will come with a Web license
Edition, I'll try it now.
Yeah, it seems to be going well. expiration date; 27-Jun-2007.; For six months, that is. Via
They will give you a new one for six months if you ask on behalf of the same network card / user,
who knows, tell me.
I'll go and look through the tutorial ;)
From
Vladimir Kladov
→
To
All
27 January 2007
Hello deathsoft
Well, what does an ordinary developer (not at the kernel level) need from these registers, if he
can use them. Mistakes are mistakes, but there are also intentional ones
malicious code that you can’t run or hide from on x86. Stack program
always available as addressable space. In the same stack are also
return addresses, and local variables, and parameters. The pattern method is not here
will help. In addition to natural errors, it becomes possible to find a rare case
combination of input data and a buffer overflow to execute code that never
should not have been executed in the normal case. Architecture in which
stacks are separated and not addressed like regular memory, eliminating such
opportunity completely.
From
Vladimir Kladov
→
To
All
27 January 2007
Hello deathsoft
Total stack? In every thread? Well, you touch me. I say: until
If an error occurs, you will have to run the program for several days then.
After the call, you will have to check all the memory belonging to the task. That's what I mean
I tell you that this is unrealistic.
And then, imagine an ideal world. The program can be written immediately so that
if an error occurs within a protected block, the program will not crash, but
it will simply report that this piece of data is faulty and skip it, and then
will do. Or maybe not report it, just record it in the journal - if the task
like this. And now - please see that "the program performed an unacceptable
operation,” and half an hour of your previous expectations were covered with a copper basin. And be
kindly use the method of elimination (for example) to find the piece of data that drops
program, and remove them from the set. The example is abstract, but characterizes the current
the state of affairs is complete. The developers don't even try to provide
recovery from a crash, because a crash will definitely ruin the shared heap,
accessible to the entire program with unified rights, and continue to try to execute
anything is simply meaningless: recovery is impossible.
No, of course, you can organize your own for each small task
process (fallen - the master process restarts the slave), but - expensive
It turns out that it will slow down, and slow down a lot.
From
Dmitry Demyanenko
→
To
All
27 January 2007
Hello, Vladimir Kladov
They give it, although it’s easier to cure, the debugger in qartus is poor, one might say it’s not there.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> No, of course, you can organize your own for each small task
Vla> own process (fallen - the master process restarts the slave),
Vla> but it turns out to be expensive, it will slow down, and slow down a lot.
Well, you don’t have to go far, an OS with a mach kernel (microkernel OS, where all the processes and
drivers work in usermode). There all processes can be restored. Exactly
also most military applications, there is almost always a requirement
passing the program checkpoints and recovery in case of failure from these
control points.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> I'm telling you: before an error occurs, you will have to run the program on
Vla> a few days then.
You can make the granularity of memory protection at least 1 byte, but if the program spoils
someone else's memory that is writable, then this will not help at all. (For example 5
functions use one structure on the heap, and one of the functions writes there
garbage). The PROGRAMMER is responsible for the correct operation of the program and nothing more.
Hardware is only a tool, otherwise there would be no programmers at all.
are not needed, computers would write and debug programs themselves (as in scientific
fantasy novels).
From
deathsoft
→
To
All
28 January 2007
Hello deathsoft
And also, for example, I have developed a rule for myself - do not use
projects libraries and components (vcl/mfc, etc.) that do not have source codes (not
it is important whether it is a commercial library or not), because in glitch libraries
there is plenty, and when there are no sources, it is impossible to fix glitches. I found and
I fixed more than one glitch in controls and libraries for C++ Builder.
From
Dmitry Malychev
→
To
All
28 January 2007
Hello deathsoft
dea> The PROGRAMMER is responsible for the correct operation of the program and only
+1
By the way, the same Fort very simply allows you to brutally redefine everything that is possible
so much so that the programmer will become "UNAVAILABLE" everything. :) Of course the brakes
arise, but for the test version that’s it. IMHO normal usage control
Hardware resources are much more important than memory protection.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> Jpeg, Jpeg2K
Intel has it
(http://www.intel.com/cd/software/products/asmo-na/eng/perflib/ipp/302910.htm)
with optimization for the latest processors.
This library also includes mpg-2, mpeg-4, H.263, H.264 encoders/decoders.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> Web Edition breaks down with the choice of chip, infection
I can give you a link to the full edition (although there will be 700-800MB from ftp
download) and send the medicine in a personal message.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> I didn’t understand what 61_quartus_programmer.exe (50 meters) is.
This is not needed, this is a separate programmer so that there is no quartus in the microcircuits
upload ready-made firmware. The programmer goes inside the quartus.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> Can someone quickly tell me how to do something like this in the `for loop
Vla> shove (if this is even possible)
The Verilog 2001 standard for loops and conditionals is sufficient, but in general I
I would advise using VHDL (it is similar to Pascal and Ada, I think this is for you
will be more familiar) and supports if/generate and for/generate from the very first
versions. Plus it supports data types like a regular language
programming, which allows you to see the state when modeling the machine
machine in the form of meaningful text (s_idle, s_rx, etc.). Also VHDL
supports 9-digit logic, except for '0' states
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> I especially liked the concatenation in { }.
Well, this is how concatenation is done in VHDL;
e1<=e(1; to 4) & e(12+1 to 12+4) & e(2*12+1 to 2*12+4) & e(3*12+1 to
3*12+4)...
e1 - 96-bit vector;
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> The saddest thing is that there is no normal description of the algorithm
Most likely it exists, but this standard is simply paid, or proprietary and
distributed under NDA.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> There is a two-dimensional array
Why can’t you write nested loops in a regular System? I'm just 100 years old
I didn’t write anything in the verilog, because... in the simulation there are only 0 and 1, then I switched to VHDL.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> This is not closer to Pascal, but to COBOL
Unfortunately, I don’t know Cobol (I don’t even know what the syntax looks like).
But the syntax of VHDL is similar to that of the ADA language; all parallel actions are described in
form of processes.
P.S. Perhaps Cobol also has a similar syntax.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> I just still haven’t received the textbook by mail
I can send you the IEEE standard for Verilog, all the syntax is described there, and a book
according to verilog from Cadence (although there is verilog 98 without for generate).
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> everyone unanimously affirms that it is C
So in verilog all operations are ss >>,<<,|,&, etc. And VHDL needs declarations
ala interface/implenentation, types are described in Pascal style:
x:integer;
v:std_logic(3 downto 0);
The operations are also Pascal: or, xor, and
Pascal cycles:
for i=0 to 10 do
begin
end
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> e, quartus stumbled on the declaration of a two-dimensional array
So this is an incomplete implementation of verilog in quartus, use something like
Synplify Pro or Leonardo Spectrum, and upload only the result of these to the quartus
programs (RTL level, only registers, logic elements and wires).
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> of our Soviet three-address machines
Well, three-addressing wasn’t invented here either (BESM4 and NAIRI are just
domestic implementation of a three-address machine), the same MIX whip - three-address.
From
deathsoft
→
To
All
28 January 2007
Hello, Vladimir Kladov
Vla> that on verilog the text is much shorter
I also liked this Verilog, at first I wrote everything in Verilog, in VHDL
moved solely due to the lack of for generate in verilog (in the then
version) and because of the oak simulation with binary signals. And for synthesis verilog
more convenient (this is actually why it was developed and used by Cadence).
From
deathsoft
→
To
All
28 January 2007
Hello deathsoft
By the way, the topic is named incorrectly - there is no cyclin 3 chip, apparently it was meant
Stratix III (since there is a comparison with Virtex 5, and these are circuits of the same level), and
Cyclon matches Spartan.
From
Vladimir Kladov
→
To
All
28 January 2007
Hello, Vladimir Kladov
Ok, I just downloaded some System Verilog doc, I don’t need the 2001 standard
they'll grab it. Can someone quickly tell me how to fit something like this into a `for loop?
(if at all possible):
┌─- CODE ───
module OperRegQueue_step1(clk, reset, in_free_flgs, in_empty_triads,
out_reset_flgs, out_nums, out_write);
input clk, reset;
input [63:0] in_free_flgs;
input [2:0] in_empty_triads [15:0];
output [63:0] out_reset_flgs;
output [5:0] out_nums [2:0] [15:0];
output [2:0] out_write [15:0];
reg [63:0] free_flags;
OperRegQueue_mux1 mux0( clk, in_free_flgs[3:0], 4'd0, in_empty_triads[0],
out_write[0], out_nums[0][0], out_nums[1][0], out_nums[2][0],
out_reset_flgs[3:0] );
OperRegQueue_mux1 mux1( clk, in_free_flgs[7:4], 4'd1, in_empty_triads[1],
out_write[1], out_nums[0][1], out_nums[1][1], out_nums[2][1],
out_reset_flgs[7:4] );
OperRegQueue_mux1 mux2( clk, in_free_flgs[11:8], 4'd2, in_empty_triads[2],
out_write[2], out_nums[0][2], out_nums[1][2], out_nums[2][2],
out_reset_flgs[11:8] );
OperRegQueue_mux1 mux3( clk, in_free_flgs[15:12], 4'd3, in_empty_triads[3],
out_write[3], out_nums[0][3], out_nums[1][3], out_nums[2][3],
out_reset_flgs[15:12] );
OperRegQueue_mux1 mux4( clk, in_free_flgs[19:16], 4'd4, in_empty_triads[4],
out_write[4], out_nums[0][4], out_nums[1][4], out_nums[2][4],
out_reset_flgs[19:16] );OperRegQueue_mux1 mux5( clk, in_free_flgs[23:20], 4'd5, in_empty_triads[5],
out_write[5], out_nums[0][5], out_nums[1][5], out_nums[2][5],
out_reset_flgs[23:20] );
OperRegQueue_mux1 mux6( clk, in_free_flgs[27:24], 4'd6, in_empty_triads[6],
out_write[6], out_nums[0][6], out_nums[1][6], out_nums[2][6],
out_reset_flgs[27:24] );
OperRegQueue_mux1 mux7( clk, in_free_flgs[31:28], 4'd7, in_empty_triads[7],
out_write[7], out_nums[0][7], out_nums[1][7], out_nums[2][7],
out_reset_flgs[31:28] );
OperRegQueue_mux1 mux8( clk, in_free_flgs[35:32], 4'd8, in_empty_triads[8],
out_write[8], out_nums[0][8], out_nums[1][8], out_nums[2][8],
out_reset_flgs[35:32] );
OperRegQueue_mux1 mux9( clk, in_free_flgs[39:36], 4'd9, in_empty_triads[9],
out_write[9], out_nums[0][9], out_nums[1][9], out_nums[2][9],
out_reset_flgs[39:36] );
OperRegQueue_mux1 mux10( clk, in_free_flgs[43:40], 4'd10, in_empty_triads[10],
out_write[10], out_nums[0][10], out_nums[1][10], out_nums[2][10],
out_reset_flgs[43:40] );
OperRegQueue_mux1 mux11( clk, in_free_flgs[47:44], 4'd11, in_empty_triads[11],
out_write[11], out_nums[0][11], out_nums[1][11], out_nums[2][11],
out_reset_flgs[47:44] );
OperRegQueue_mux1 mux12( clk, in_free_flgs[51:48], 4'd12, in_empty_triads[12],
out_write[12], out_nums[0][12], out_nums[1][12], out_nums[2][12],
out_reset_flgs[51:48] );
OperRegQueue_mux1 mux13( clk, in_free_flgs[55:52], 4'd13, in_empty_triads[13],
out_write[13], out_nums[0][13], out_nums[1][13], out_nums[2][13],
out_reset_flgs[55:52] );
OperRegQueue_mux1 mux14( clk, in_free_flgs[59:56], 4'd14, in_empty_triads[14],
out_write[14], out_nums[0][14], out_nums[1][14], out_nums[2][14],
out_reset_flgs[59:56] );
OperRegQueue_mux1 mux15( clk, in_free_flgs[63:60], 4'd15, in_empty_triads[15],
out_write[15], out_nums[0][15], out_nums[1][15], out_nums[2][15],
out_reset_flgs[63:60] );
always @(posedge clk)
if (reset)
begin
free_flags = 64'b0;
end
else
begin
free_flags = free_flags & in_free_flgs | out_reset_flgs;
end
endmodule
└── CODE ───
It will take me so long to draw all these module calls, if without `for, and
I'm afraid there will be more errors.
From
Vladimir Kladov
→
To
All
28 January 2007
Hello deathsoft
No, Quartus stumbled on the declaration of a two-dimensional array, I had to choose
set System.
But I don’t write in Ada. And I can’t call it close to pascal (the presence
begin/end doesn’t say much about anything - verilog also has them, but it’s all in one
the voice still claims that it is C).
From
Vladimir Kladov
→
To
All
28 January 2007
Hello deathsoft
dea> The Verilog 2001 standard for loops and conditionals is sufficient
dea> in general I would recommend using VHDL (it is similar to Pascal and Ada
dea> I think this will be more familiar to you) and supports if/generate and
dea> for/generate since the very first version. Plus it supports types
dea> data, like a regular programming language, which allows you to
dea> when modeling an automaton, you can see the state of the automaton in a meaningful way
dea> of text (s_idle, s_rx, etc.). In addition, VHDL supports 9
dea> valued logic, except '0' states
From
Vladimir Kladov
→
To
All
28 January 2007
Hello deathsoft
Yes, yes. Already announced, time of release indicated (some quarter
7 years), , approximate prices (I just don’t understand about these prices: whatever you want
consider either 2000 bucks for 1000 pieces, or for a batch of 1000 pieces 2 bucks per
piece).
When I gave a link to Alter’s FTP, I indicated this file:
61_quartus_windows.exe was downloaded to me. I decided that Web-edition
called 61_quartus_free.exe, also not small, 400 meters. What is it
61_quartus_programmer.exe (50 meters) I didn’t understand at all. The screensaver seemed to be
the same, but I did not continue the installation.
From
Vladimir Kladov
→
To
All
28 January 2007
Hello deathsoft
Unfortunately, there are situations when using other people's libraries without the original one
code is impossible. For example: Jpeg, Jpeg2K, Mpeg, Tiff... What is in the open
form, it’s terribly slow, and in the case of Tiff, half of the formats are not
understands. The saddest thing is that there is no normal description of the algorithm, from
which you could make your own code, and the one that already exists in open form,
does not provide an understanding of how this can be done differently or anything
optimize. It’s easier to just spit and take it ready-made in the form of compiled
jbj files, and wait for everything to crash.
Crooked hands may be the result of a simple typo. The problem is that on x86
you will not be able to detect 10% of such typos immediately, and in the case of normal protection
- 0.1%. If you think that a programmer’s work is worthless, then you can
stay with your opinion. But the fact that it costs much more than iron
this has been known for a long time. Software is now golden compared to hardware, precisely because
that you need a lot of different software, but hardware just clones the ancients
lizards. The same arm. Forgive me, but this is a copy of our Soviet three-address
machines: Nairi, BESM4. Good progress...
From
Vladimir Kladov
→
To
All
28 January 2007
Hello deathsoft
well, how incomplete. He supports everything. I just haven't received the tutorial yet
by mail, but on the Internet they only cut up bits of meat for free. I note that according to VHDL lies
much more. And there are also more implementations of soft processors on opencores in VHDL,
than in Verilog. But I still don’t like VHDL. It was enough to read
Steshenko’s comparative book (it seems), from it it is immediately clear that on verilog
the text is much shorter. I especially liked the concatenation in { }.
Well, here's the answer on electronix.ru. generate for. I immediately asked in Google verilog
"generate for" and found 2 pdfs with a description of the syntax and examples
use. And why did it stick with me exactly `for - I can’t find anything on it
succeeded...
From
Vladimir Kladov
→
To
All
28 January 2007
Hello hero
her> $2000 per piece for batches of 1000 pieces
her> piece by piece maybe all 3000$
Now it’s finally clear. Golden straight. But I think these prices are not
forever. Remember how much a 1GB flash drive cost a year ago (~1000 euros), and how much
Now it costs 4GB (~100 euros). If they make more, the price will go down. I generally kiss
fit, if not into a cyclone2, then at least into a stratix. They're also a bit expensive for now.
true. But if you do nothing, then nothing will happen by the time they
will become cheaper.
So did I download the web edition (in the sense of not me, but me) or the full version? How to find out?
:v2_crazy:
From
Vladimir Kladov
→
To
All
28 January 2007
Hello hero
no, send it away.
Error (10170): Verilog HDL syntax error at OperRegQueue_step1.v(25) near text
"for"; expecting an identifier ("for" is a reserved keyword ), or "endmodule",
or a parallel statement
It worked inside the always-block (I already tried it before), but there’s no
calls to modules are just a set of assignments.
From
Dmitry Demyanenko
→
To
All
28 January 2007
Hello, Vladimir Kladov
$2000 per piece for batches of 1000 pieces
piece by piece maybe all 3000$
From
Dmitry Demyanenko
→
To
All
28 January 2007
Hello, Vladimir Kladov
The complete Quarus in the set has
Quartus
ModeSim
IP Cores
NIOS
and like something else
And it weighs something like 1GB
WEB is about 300 meg and there is almost nothing, but the enema is suitable either to full or to
a stripped down version.
From
Dmitry Demyanenko
→
To
All
28 January 2007
Hello hero
Well SystemVerilog is from a slightly different song
So something like that
┌─- CODE ───
integer I;
for (I:=0;I<16;I++)
OperRegQueue_mux1 ( clk, in_free_flgs[(I+1)*4-1:I*4], I ,
in_empty_triads[I],
out_write[I], out_nums[0][I], out_nums[1][I], out_nums[2][I],
out_reset_flgs[(I+1)*4-1:I*4] );
└── CODE ───
PS: I don’t understand the syntax of loops much because it usually rarely comes to this, you
Read the Verilog specification very succinctly, I’ll remember how
It's called - I'll post a link.
In IEEE 1364
From
Andreas Kaiser
→
To
All
29 January 2007
Hello, Vladimir Kladov
Vla> And I also don’t understand why write the same thing 3 times. In Entity, in
Vla> Architecture, and also (I don’t remember what it’s called) in implementation.
Vla> I can read it. Well, I almost can. But writing - well, well.
Roughly speaking, this is similar to C's ifdefs. If the chip is such and such, then we determine
constants (as an example) and delays like that. If the chip is different, then all the data is too
others. Can be compared to an empty board on which sockets are soldered under
microcircuits. Plus, it is a strongly typed language compared to Verilog.
From
deathsoft
→
To
All
29 January 2007
Hello, Vladimir Kladov
Vla> Architecture
Architecture - specifies the variation of architecture, for example behavioral (for
modeling) and synthesized (optimized to gate levels, for example).
And Entity defines a general abstract access interface while hiding the implementation.
From
Andreas Kaiser
→
To
All
1 February 2007
Hello, Vladimir Kladov
Vla> Yes, I understand everything. It’s just, as English speakers say, too verbose, not
Vla> I like a lot of chatter. Even more so in a programming language. I'm better
Vla> I will write detailed comments in my own Russian.
Why would this be too verbose? On the contrary, "with a slight movement of the hand, the trousers
turn"... Without much effort, you can customize the project to its specific features
another stone, that's the point. Or do not update any part of the project
touching the others.
From
Vladimir Kladov
→
To
All
1 February 2007
Hello icebear
ice> Why is this too verbose? On the contrary, "with a slight movement of the hand, trousers
ice> turn"... Without much effort, you can configure the project to
ice> features of another stone, that's the point. Or update any
ice> part of the project without affecting the rest.
Well, `define is also available in verilog. And `include is where you can put what
is "features". And I look at the body - the same thing has been written a bunch of times,
for what - it is unclear. 1 time is enough for me.
From
Vladimir Kladov
→
To
All
3 February 2007
Hello, Vladimir Kladov
But no one knows how to tell a specific register to be exactly on
triggers, and not made on memory? The infection quartus stuck a long register (96
bit) in ram, and he himself shows in his time analyzer that in this case
brakes appear: the frequency of the clunk has decreased by 3 times. Gad. Gad. Bastard. Gad.
From
deathsoft
→
To
All
4 February 2007
Hello, Vladimir Kladov
Vla> But no one knows how to tell a specific register to exist
Is Vla> made specifically on triggers, and not on memory? The infection stuck the quartus
Vla> is a long register (96 bits) in ram, and it shows itself in its own
Vla> time analyzer, that in this case there are brakes: clock frequency in
Vla> decreased 3 times. Gad. Gad. Bastard. Gad.
Do not use quartus components, but describe the register yourself using verilog,
then Quartus will not push it into memory (either through attributes/pragmas for
Verilog disable optimization).
From
deathsoft
→
To
All
4 February 2007
Hello, Vladimir Kladov
Vla> My concern now is how to correctly interpret his reports
Vla> analyzer timing.
The reports show a lot of things, the best time, the worst time, etc., there are
output of the critical path (viewing it on the chip topology).
From
deathsoft
→
To
All
4 February 2007
Hello, Vladimir Kladov
It is also necessary to take into account delays on external pins (5ns for each pin from
body)
From
Vladimir Kladov
→
To
All
4 February 2007
Hello deathsoft
dea> Do not use quartus components, but describe the register yourself
dea> veriloge, then the quartus will not push it into memory (or through
dea> attributes/pragmas for verilog disable optimization).
Didn't use it. He stuffed it himself. As a result, I removed the directive. But what's funny
When I deleted the directive back, it no longer does this. Did I remember?
My concern now is how to correctly interpret his timing reports
analyzer. Then he says that everything is fine 420 MHz - MET. At the same time it shows 6
ns (and this is clearly not 420 MHz). Then at 5 ns he starts yelling that the frequency is needed
reduce to 200 MHz (it’s clear, it’s necessary - but why is he happy with everything about 6 ns,
on the smaller model - on a simple adder).
From
Vladimir Kladov
→
To
All
4 February 2007
Hello deathsoft
dea> The reports show a lot of things, best time, worst time and
dea> etc., there is an output of the critical path (view it on the topology
dea> crystal).
Hmm. I only saw From and To there. And if I have from this From to this To
several paths, then guess for yourself on which arc it stopped. or
Do I need to do something so that he can show me the whole way?
From
deathsoft
→
To
All
5 February 2007
Hello, Vladimir Kladov
It seems that the quartus had a separate Show Critical Path function (although maybe I’m confusing
with Synplify Pro, this function is definitely there, I don’t have Quartus as such
used because it gave rather mediocre results compared to
professional tools such as Synplify Pro and Leonardo Spectrum).
From
Vladimir Kladov
→
To
All
5 February 2007
Hello deathsoft
Well, I simply have nowhere to get a new Synplify. What they sent me on disk - 2003
Already a piece of junk. Although it compiles very quickly. It's a pity that for old chips, but
So I wouldn’t have seen that the interface was already a little old. I don’t know where the new one is
do people take synplify?
From
deathsoft
→
To
All
5 February 2007
Hello, Vladimir Kladov
Vla> Don’t know where people get the new synplify?
Through the forum of television systems "in the bins of the motherland." www.telesys.ru, there is a forum and then
ask and search. But in principle, before it was possible to download from the native site, but
then find a cure on the internet.
From
deathsoft
→
To
All
5 February 2007
Hello, Vladimir Kladov
Vla> What they sent me on disk - 2003. Already junk.
Well, I think I actually had a 2001. (7.3 or 7.03)
From
Vladimir Kladov
→
To
All
5 February 2007
Hello deathsoft
I want to immediately test for cyclone2 at least, and its time characteristics
take into account. And there is a cyclone even without Roman numerals, 50 MHz maximum.
From
deathsoft
→
To
All
5 February 2007
Hello, Vladimir Kladov
Then you need a fresh Synplify Pro, in addition, the results that Synplify produces
Pro - inaccurate. The Synplify Pro output (.edf file) must be passed through a quartus, and
look at the time parameters already in the quartus (since only the quartus does
final placement of cells inside the FPGA). There is also such a package as Amplify,
he also does physical exercises. placement. (but I've never used it).
Here fill in your name and email and they will give you a download of Synplify Pro, then search
medicine
http://www.synplicity.com/downloads/download1.html
From
Vladimir Kladov
→
To
All
6 February 2007
Hello deathsoft
This is understandable. I found where to get it, it will be available in a while. I'm just getting started
get tired of the burden of the quartus. Compile a small project in 2 minutes,
to get new timings is too much for me. That's why I'm in programming
switched to Delphi because it is not as cumbersome as any C compiler. And when
The initial adjustment is done, then you can already torture the quartus...
From
deathsoft
→
To
All
7 February 2007
Hello, Vladimir Kladov
Vla> And when the initial adjustment is done, then you can already have a quartus
Vla> torment...
Well, that’s why I used Synplify, everything compiles there in 3 seconds,
Then I simulated it, checked that everything was without errors, and at the very end you can
compile with quartus.
From
Andreas Kaiser
→
To
All
12 February 2007
Hello, Vladimir Kladov
Vla> it's not a problem, I'm sending it. I now have a problem with ActiveHDL 7.2. Ie
Vla> this is not so urgent, but the remedy I have does not help. B
Vla> license says something strange, like add features and salt here yourself
Vla> (why is there salt in the license?). I tried to take the content from version 6.2, but
Vla> does not work.
if you suddenly find seasonings for ActiveHDL - please share
From
Vladimir Kladov
→
To
All
12 February 2007
Hello deathsoft
It's not a problem, I'm sending it. I now have a problem with ActiveHDL 7.2. Those. that's not true
It’s urgent, but the remedy I have doesn’t help. The license says something
strange, like add features and salt here yourself (why is there salt in the license?). Tried it
take content from version 6.2, but doesn't work.
From
deathsoft
→
To
All
12 February 2007
Hello, Vladimir Kladov
Vla> salt
"salt" is sault vaule? In English, "salt" in encryption means noise.
(random sequence of bytes).
From
Vladimir Kladov
→
To
All
12 February 2007
Hello deathsoft
Yes, it's written in Russian :)
From
deathsoft
→
To
All
13 February 2007
Hello, Vladimir Kladov
Vla> yes it is written in Russian
So maybe they translated things like Promt and the like with an auto translator.
From
Vladimir Kladov
→
To
All
13 February 2007
Hello, Vladimir Kladov
By the way, on a large project, Simplify is no longer lightning fast. And terribly picky
(although this is good: quartus didn’t tell me anything, but simplify gave me about fifty
warnings, of which a good third were relevant). It's even urgent for me
I had to make a utility to translate Russian comments into transliteration and
back: it turns out he really doesn’t like Russian letters. And when you try
typing a Russian letter in your editor simply falls out.
From
Vladimir Kladov
→
To
All
13 February 2007
Hello, Vladimir Kladov
what, a license? There's text:
; You can add FEATURES and salt to taste :-)
That's all. I think if there were translators, the word FEATURES would definitely be translated at the same time.
From
deathsoft
→
To
All
13 February 2007
Hello, Vladimir Kladov
Vla> And when you try to print a Russian letter in your editor, simply
Vla> falls out.
Write them a bug report, maybe they will fix it in the next version. I'm something like that too
I remember that there were problems with Russian letters, I was just writing comments on
English
From
deathsoft
→
To
All
13 February 2007
Hello, Vladimir Kladov
Vla> quartus didn’t tell me anything, but simplified gave me about fifty
Vla> warnings
Quartus sometimes just silently synthesizes complete crap, which is then only visible
during modeling, because Previously it was not possible to watch RTL in the quarter
level, and in sinplify it was from the very beginning.